LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_word_Word_inferringzetypezy
static bool mw_mirth_word_Word_inferringzetypezy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Word_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_word_Word_inferringzetypezy, in_Word_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 {
		bool v10 = false;
		mut_set(MKBOOL(v10), v5);
		branch_Bool_8 = v10;
		branch_zaMirth_7 = in_zaMirth_1;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Bool_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1263149(%rip), %rdi   # 0x1395b48
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45e40
andb $0x1, %al
movb %al, -0x21(%rbp)
testb $0x1, -0x21(%rbp)
je 0x132a49
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 0x132a85
movb $0x0, -0x49(%rbp)
movb -0x49(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movq %rax, -0x60(%rbp)
leaq 0x25f358(%rip), %rax    # 0x391db8
movq %rax, -0x58(%rbp)
movq -0x20(%rbp), %rdx
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x431a0
movb -0x49(%rbp), %al
andb $0x1, %al
movb %al, -0x31(%rbp)
movq -0x8(%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 $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_Op_Prim
static enum mirth_prim_Prim mtp_mirth_arrow_Op_Prim (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_Prim v3 = *in_Op_1.ptr.Prim;
	if (!--(in_Op_1.ptr.Prim->refs)) {
		free(in_Op_1.ptr.Prim);
	} else {
	}
	return v3.mPrim;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x132ad5
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x132ad7
jmp 0x132ad7
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_prim_Prim_type
static struct mirth_type_ArrowType* mw_mirth_prim_Prim_type (struct mirth_mirth_zaMirth* in_zaMirth_1, enum mirth_prim_Prim in_Prim_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_prim_Prim_ctxzetype(in_zaMirth_1, in_Prim_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)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
leaq -0x20(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x135c40
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 0x132bd8
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 0x132bd8
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 0x132bd8
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 0x132bd6
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 0x132bd8
jmp 0x132bda
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_external_External_type
static struct mirth_type_ArrowType* mw_mirth_external_External_type (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_External_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_external_External_ctxzetype(in_zaMirth_1, in_External_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 0x14e450
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 0x132d4a
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 0x132d4a
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 0x132d4a
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 0x132d48
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 0x132d4a
jmp 0x132d4c
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: mtp_mirth_arrow_Op_BlockPush
static uint64_t mtp_mirth_arrow_Op_BlockPush (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_BlockPush v3 = *in_Op_1.ptr.BlockPush;
	if (!--(in_Op_1.ptr.BlockPush->refs)) {
		free(in_Op_1.ptr.BlockPush);
	} else {
	}
	return v3.mBlock;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x132e6d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x132e6f
jmp 0x132e6f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_elabzeblockzesigzx
static struct mirth_elab_OpSig mw_mirth_elab_elabzeblockzesigzx (uint64_t in_Block_1) {
	struct mirth_type_Value v3 = mtw_mirth_type_Value_Block(in_Block_1);
	struct mirth_type_Type v4 = mtw_mirth_type_Type_Value(v3);
	struct mirth_elab_OpSig v5 = mtw_mirth_elab_OpSig_Push(v4);
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0xce430
movl %eax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0xb5300
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x1327d0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_ArrowType_semifreshenzesig
static struct mirth_type_ArrowType* mw_mirth_type_ArrowType_semifreshenzesig (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_type_ArrowType* in_ArrowType_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	incref(MK_mirth_type_ArrowType(in_ArrowType_2));
	struct mirth_mirth_zaMirth* v5;
	bool v6 = mw_mirth_type_ArrowType_needszefreshzestackzerestzy(in_zaMirth_1, in_ArrowType_2, &v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	struct mirth_type_ArrowType* branch_ArrowType_8;
	if (v6) {
		struct mirth_mirth_zaMirth* v9;
		struct mirth_type_ArrowType* v10 = mw_mirth_type_ArrowType_semifreshenzeaux(v5, in_ArrowType_2, &v9);
		branch_ArrowType_8 = v10;
		branch_zaMirth_7 = v9;
	} else {
		branch_ArrowType_8 = in_ArrowType_2;
		branch_zaMirth_7 = v5;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_ArrowType_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x25ecc2(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x132fd8
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x25ec9d(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x132fd8
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x25ec72(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x132fd8
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x25ec4d(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x132fda
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0x104780
andb $0x1, %al
movb %al, -0x61(%rbp)
testb $0x1, -0x61(%rbp)
je 0x133023
movq -0x60(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x80(%rbp), %rdx
callq 0x14ed60
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x70(%rbp)
jmp 0x133033
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x78(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_Op_Var
static uint64_t mtp_mirth_arrow_Op_Var (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_Var v3 = *in_Op_1.ptr.Var;
	if (!--(in_Op_1.ptr.Var->refs)) {
		free(in_Op_1.ptr.Var);
	} else {
	}
	return v3.mVar;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x13308d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x13308f
jmp 0x13308f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_elabzevarzesigzx
static struct mirth_elab_OpSig mw_mirth_elab_elabzevarzesigzx (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 std_maybe_Maybe_1 v6 = mw_mirth_var_Var_autozerunzy(in_zaMirth_1, in_Var_2, &v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	struct mirth_elab_OpSig branch_OpSig_8;
	switch ((v6).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v9 = mtp_std_maybe_Maybe_1_Some(v6);
			struct mirth_mirth_zaMirth* v10;
			struct mirth_type_ArrowType* v11 = mw_mirth_type_ArrowType_semifreshenzesig(v5, V_mirth_type_ArrowType(v9), &v10);
			struct mirth_elab_OpSig v12 = mtw_mirth_elab_OpSig_Apply(v11);
			branch_OpSig_8 = v12;
			branch_zaMirth_7 = v10;
		} break;
		case std_maybe_Maybe_1_None: {
			struct mirth_mirth_zaMirth* v13;
			struct mirth_type_Type v14 = mw_mirth_var_Var_type(v5, in_Var_2, &v13);
			struct mirth_elab_OpSig v15 = mtw_mirth_elab_OpSig_Push(v14);
			branch_OpSig_8 = v15;
			branch_zaMirth_7 = v13;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_OpSig_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %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 0x14f510
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0xa4(%rbp)
testl %eax, %eax
je 0x133142
jmp 0x1330de
movl -0xa4(%rbp), %eax
subl $0x1, %eax
jne 0x13319f
jmp 0x1330ef
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x174a0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x30(%rbp), %rdi
movq -0x58(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0x132f20
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x132900
movl %eax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x1331b8
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x80(%rbp), %rdx
callq 0xb2770
movl %eax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x1327d0
movl %eax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x1331b8
leaq 0x220cdb(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
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: mtp_mirth_arrow_Op_Match
static struct mirth_match_Match* mtp_mirth_arrow_Op_Match (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_Match v3 = *in_Op_1.ptr.Match;
	if (!--(in_Op_1.ptr.Match->refs)) {
		free(in_Op_1.ptr.Match);
	} else {
		incref(MK_mirth_match_Match(v3.mMatch));
	}
	return v3.mMatch;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x133220
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x1332c7
jmp 0x133222
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x25f517(%rip), %rax    # 0x392748
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1332c3
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x25f4f2(%rip), %rax    # 0x392748
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x1332c3
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x25f4c7(%rip), %rax    # 0x392748
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1332c3
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x25f4a2(%rip), %rax    # 0x392748
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 0x1332c5
jmp 0x1332c7
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_Op_Lambda
static struct mirth_arrow_Lambda* mtp_mirth_arrow_Op_Lambda (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_Lambda v3 = *in_Op_1.ptr.Lambda;
	if (!--(in_Op_1.ptr.Lambda->refs)) {
		free(in_Op_1.ptr.Lambda);
	} else {
		incref(MK_mirth_arrow_Lambda(v3.mLambda));
	}
	return v3.mLambda;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1337e0
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x133887
jmp 0x1337e2
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x25f077(%rip), %rax    # 0x392868
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x133883
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x25f052(%rip), %rax    # 0x392868
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x133883
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x25f027(%rip), %rax    # 0x392868
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x133883
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x25f002(%rip), %rax    # 0x392868
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 0x133885
jmp 0x133887
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_Op_LabelPush
static uint64_t mtp_mirth_arrow_Op_LabelPush (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_LabelPush v3 = *in_Op_1.ptr.LabelPush;
	if (!--(in_Op_1.ptr.LabelPush->refs)) {
		free(in_Op_1.ptr.LabelPush);
	} else {
	}
	return v3.mLabel;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x133bbd
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x133bbf
jmp 0x133bbf
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_Op_DataFromEnumValue
static uint64_t mtp_mirth_arrow_Op_DataFromEnumValue (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_DataFromEnumValue v3 = *in_Op_1.ptr.DataFromEnumValue;
	if (!--(in_Op_1.ptr.DataFromEnumValue->refs)) {
		free(in_Op_1.ptr.DataFromEnumValue);
	} else {
	}
	return v3.mData;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x13492d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x13492f
jmp 0x13492f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_datazefromzeenumzevaluezetype
static struct mirth_type_ArrowType* mw_mirth_elab_datazefromzeenumzevaluezetype (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_type_Type v5 = mw_mirth_type_Type_I64();
	struct mirth_type_StackType v6 = mw_mirth_type_T1(v5);
	struct mirth_type_StackType v7 = mw_mirth_type_T0();
	struct mirth_mirth_zaMirth* v8;
	struct std_either_Either_2 v9 = mw_mirth_data_Data_fullzetype(in_zaMirth_1, in_Data_2, &v8);
	struct mirth_type_StackType v10 = mw_mirth_type_Tzmza(v7, v9);
	struct mirth_type_ArrowType* v11 = mw_mirth_type_Tzezg(v6, v10);
	*out_zaMirth_3 = v8;
	return v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
callq 0x75530
movl %eax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x14df80
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
callq 0x73060
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x73390
movl %eax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
movl -0x60(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x73490
movl %eax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
movl -0x70(%rbp), %edx
movq -0x68(%rbp), %rcx
callq 0x735b0
movq %rax, -0x78(%rbp)
movq -0x50(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x78(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_Op_DataGetLabel
static struct mirth_data_TagField* mtp_mirth_arrow_Op_DataGetLabel (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_DataGetLabel v3 = *in_Op_1.ptr.DataGetLabel;
	if (!--(in_Op_1.ptr.DataGetLabel->refs)) {
		free(in_Op_1.ptr.DataGetLabel);
	} else {
		incref(MK_mirth_data_TagField(v3.mTagField));
	}
	return v3.mTagField;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x134a30
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x134ad7
jmp 0x134a32
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x25de6f(%rip), %rax    # 0x3928b0
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x134ad3
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x25de4a(%rip), %rax    # 0x3928b0
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x134ad3
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x25de1f(%rip), %rax    # 0x3928b0
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x134ad3
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x25ddfa(%rip), %rax    # 0x3928b0
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 0x134ad5
jmp 0x134ad7
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_Op_DataSetLabel
static struct mirth_data_TagField* mtp_mirth_arrow_Op_DataSetLabel (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_DataSetLabel v3 = *in_Op_1.ptr.DataSetLabel;
	if (!--(in_Op_1.ptr.DataSetLabel->refs)) {
		free(in_Op_1.ptr.DataSetLabel);
	} else {
		incref(MK_mirth_data_TagField(v3.mTagField));
	}
	return v3.mTagField;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x134f20
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x134fc7
jmp 0x134f22
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x25d97f(%rip), %rax    # 0x3928b0
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x134fc3
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x25d95a(%rip), %rax    # 0x3928b0
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x134fc3
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x25d92f(%rip), %rax    # 0x3928b0
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x134fc3
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x25d90a(%rip), %rax    # 0x3928b0
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 0x134fc5
jmp 0x134fc7
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_Op_TableToIndex
static uint64_t mtp_mirth_arrow_Op_TableToIndex (struct mirth_arrow_Op in_Op_1) {
	struct mirth_arrow_Op_TableToIndex v3 = *in_Op_1.ptr.TableToIndex;
	if (!--(in_Op_1.ptr.TableToIndex->refs)) {
		free(in_Op_1.ptr.TableToIndex);
	} else {
	}
	return v3.mTable;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x13535d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x13535f
jmp 0x13535f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_tablezetozeindexzetype
static struct mirth_type_ArrowType* mw_mirth_elab_tablezetozeindexzetype (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Table_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_type_Type v5 = mtw_mirth_type_Type_Table(in_Table_2);
	struct mirth_type_StackType v6 = mw_mirth_type_T1(v5);
	struct mirth_type_Type v7 = mw_mirth_type_Type_U64();
	struct mirth_type_StackType v8 = mw_mirth_type_T1(v7);
	struct mirth_type_ArrowType* v9 = mw_mirth_type_Tzezg(v6, v8);
	*out_zaMirth_3 = in_zaMirth_1;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0xcebc0
movl %eax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x14df80
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
callq 0x755f0
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x14df80
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
movl -0x58(%rbp), %edx
movq -0x50(%rbp), %rcx
callq 0x735b0
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x60(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_tablezefromzeindexzetype
static struct mirth_type_ArrowType* mw_mirth_elab_tablezefromzeindexzetype (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Table_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_type_Type v5 = mtw_mirth_type_Type_Table(in_Table_2);
	struct mirth_type_StackType v6 = mw_mirth_type_T1(v5);
	struct mirth_type_Type v7 = mw_mirth_type_Type_U64();
	struct mirth_type_StackType v8 = mw_mirth_type_T1(v7);
	struct mirth_type_ArrowType* v9 = mw_mirth_type_Tzezg(v8, v6);
	*out_zaMirth_3 = in_zaMirth_1;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0xcebc0
movl %eax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x14df80
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
callq 0x755f0
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x14df80
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movl -0x58(%rbp), %edi
movq -0x50(%rbp), %rsi
movl -0x38(%rbp), %edx
movq -0x30(%rbp), %rcx
callq 0x735b0
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x60(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_Str
static STR* mtp_mirth_arrow_PushValue_Str (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_Str v3 = *in_PushValue_1.ptr.Str;
	if (!--(in_PushValue_1.ptr.Str->refs)) {
		free(in_PushValue_1.ptr.Str);
	} else {
		incref(MKSTR(v3.mStr));
	}
	return v3.mStr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x135520
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x1355c7
jmp 0x135522
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x25bc27(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1355c3
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x25bc02(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x1355c3
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x25bbd7(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1355c3
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x25bbb2(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1355c5
jmp 0x1355c7
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_Int
static INT mtp_mirth_arrow_PushValue_Int (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_Int v3 = *in_PushValue_1.ptr.Int;
	if (!--(in_PushValue_1.ptr.Int->refs)) {
		free(in_PushValue_1.ptr.Int);
	} else {
		incref(MKINT(v3.mInt));
	}
	return v3.mInt;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x18(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x135620
movq -0x10(%rbp), %rdi
callq 0x5030
jmp 0x1356c7
jmp 0x135622
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x25bdf7(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1356c3
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x25bdd2(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x1356c3
movq -0x20(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x25bda7(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1356c3
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x25bd82(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1356c5
jmp 0x1356c7
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_Nat
static INT mtp_mirth_arrow_PushValue_Nat (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_Nat v3 = *in_PushValue_1.ptr.Nat;
	if (!--(in_PushValue_1.ptr.Nat->refs)) {
		free(in_PushValue_1.ptr.Nat);
	} else {
		incref(MKNAT(v3.mNat));
	}
	return v3.mNat;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x18(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x135720
movq -0x10(%rbp), %rdi
callq 0x5030
jmp 0x1357c7
jmp 0x135722
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x25b9df(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1357c3
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x25b9ba(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x1357c3
movq -0x20(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x25b98f(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1357c3
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x25b96a(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1357c5
jmp 0x1357c7
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_U16
static uint16_t mtp_mirth_arrow_PushValue_U16 (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_U16 v3 = *in_PushValue_1.ptr.U16;
	if (!--(in_PushValue_1.ptr.U16->refs)) {
		free(in_PushValue_1.ptr.U16);
	} else {
	}
	return v3.mU16;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1358b5
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x1358b7
jmp 0x1358b7
movw -0x14(%rbp), %ax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_U32
static uint32_t mtp_mirth_arrow_PushValue_U32 (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_U32 v3 = *in_PushValue_1.ptr.U32;
	if (!--(in_PushValue_1.ptr.U32->refs)) {
		free(in_PushValue_1.ptr.U32);
	} else {
	}
	return v3.mU32;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x135935
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x135937
jmp 0x135937
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_I8
static int8_t mtp_mirth_arrow_PushValue_I8 (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_I8 v3 = *in_PushValue_1.ptr.I8;
	if (!--(in_PushValue_1.ptr.I8->refs)) {
		free(in_PushValue_1.ptr.I8);
	} else {
	}
	return v3.mI8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1359f5
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x1359f7
jmp 0x1359f7
movb -0x14(%rbp), %al
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_I16
static int16_t mtp_mirth_arrow_PushValue_I16 (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_I16 v3 = *in_PushValue_1.ptr.I16;
	if (!--(in_PushValue_1.ptr.I16->refs)) {
		free(in_PushValue_1.ptr.I16);
	} else {
	}
	return v3.mI16;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x135a65
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x135a67
jmp 0x135a67
movw -0x14(%rbp), %ax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_I32
static int32_t mtp_mirth_arrow_PushValue_I32 (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_I32 v3 = *in_PushValue_1.ptr.I32;
	if (!--(in_PushValue_1.ptr.I32->refs)) {
		free(in_PushValue_1.ptr.I32);
	} else {
	}
	return v3.mI32;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x135ae5
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x135ae7
jmp 0x135ae7
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_I64
static int64_t mtp_mirth_arrow_PushValue_I64 (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_I64 v3 = *in_PushValue_1.ptr.I64;
	if (!--(in_PushValue_1.ptr.I64->refs)) {
		free(in_PushValue_1.ptr.I64);
	} else {
	}
	return v3.mI64;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x135b5d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x135b5f
jmp 0x135b5f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_F32
static float mtp_mirth_arrow_PushValue_F32 (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_F32 v3 = *in_PushValue_1.ptr.F32;
	if (!--(in_PushValue_1.ptr.F32->refs)) {
		free(in_PushValue_1.ptr.F32);
	} else {
	}
	return v3.mF32;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x135ba5
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x135ba7
jmp 0x135ba7
movss -0x14(%rbp), %xmm0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_arrow_PushValue_F64
static double mtp_mirth_arrow_PushValue_F64 (struct mirth_arrow_PushValue in_PushValue_1) {
	struct mirth_arrow_PushValue_F64 v3 = *in_PushValue_1.ptr.F64;
	if (!--(in_PushValue_1.ptr.F64->refs)) {
		free(in_PushValue_1.ptr.F64);
	} else {
	}
	return v3.mF64;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x135c2d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x135c2f
jmp 0x135c2f
movsd -0x18(%rbp), %xmm0
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_Type_NewInCtx
static struct std_list_List_1 mw_mirth_type_Type_NewInCtx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_list_List_1 in_Ctx_2, STR* in_Str_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_type_Type *out_Type_6) {
	struct mirth_type_Type v7 = mw_mirth_type_Type_TYPE();
	struct mirth_mirth_zaMirth* v8;
	uint64_t v9;
	struct std_list_List_1 v10 = mw_mirth_var_Var_NewInCtx(in_zaMirth_1, in_Ctx_2, v7, in_Str_3, &v8, &v9);
	struct mirth_type_Type v11 = mtw_mirth_type_Type_Var(v9);
	*out_Type_6 = v11;
	*out_zaMirth_4 = v8;
	return v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %esi, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %r9, -0x40(%rbp)
callq 0x6da00
movl %eax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %r9
movl -0x20(%rbp), %esi
movq -0x18(%rbp), %rdx
movl -0x50(%rbp), %ecx
movq -0x48(%rbp), %r8
movq %rsp, %rax
leaq -0x60(%rbp), %r10
movq %r10, 0x8(%rax)
leaq -0x58(%rbp), %r10
movq %r10, (%rax)
callq 0x14e380
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x60(%rbp), %rdi
callq 0x70570
movl %eax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x40(%rbp), %rax
movups -0x70(%rbp), %xmm0
movups %xmm0, (%rax)
movq -0x58(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %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_StackType_NewInCtx
static struct std_list_List_1 mw_mirth_type_StackType_NewInCtx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_list_List_1 in_Ctx_2, STR* in_Str_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_type_StackType *out_StackType_6) {
	struct mirth_type_Type v7 = mw_mirth_type_Type_STACK();
	struct mirth_mirth_zaMirth* v8;
	uint64_t v9;
	struct std_list_List_1 v10 = mw_mirth_var_Var_NewInCtx(in_zaMirth_1, in_Ctx_2, v7, in_Str_3, &v8, &v9);
	struct mirth_type_StackType v11 = mtw_mirth_type_StackType_Var(v9);
	*out_StackType_6 = v11;
	*out_zaMirth_4 = v8;
	return v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %esi, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %r9, -0x40(%rbp)
callq 0xb1410
movl %eax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %r9
movl -0x20(%rbp), %esi
movq -0x18(%rbp), %rdx
movl -0x50(%rbp), %ecx
movq -0x48(%rbp), %r8
movq %rsp, %rax
leaq -0x60(%rbp), %r10
movq %r10, 0x8(%rax)
leaq -0x58(%rbp), %r10
movq %r10, (%rax)
callq 0x14e380
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xb1e30
movl %eax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x40(%rbp), %rax
movups -0x70(%rbp), %xmm0
movups %xmm0, (%rax)
movq -0x58(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %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_Array
static struct mirth_type_Type mw_mirth_type_Type_Array (struct mirth_type_Type in_Type_1) {
	enum mirth_type_PrimType v3 = mirth_type_PrimType_Array;
	struct mirth_type_Type v4 = mtw_mirth_type_Type_Prim(v3);
	struct mirth_type_Type v5 = mtw_mirth_type_Type_App(v4, in_Type_1);
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x13, -0x24(%rbp)
movl -0x24(%rbp), %edi
callq 0x6dd40
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
movl -0x20(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x70600
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_var_Var_NewInCtx
static struct std_list_List_1 mw_mirth_var_Var_NewInCtx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_list_List_1 in_Ctx_2, struct mirth_type_Type in_Type_3, STR* in_Str_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, uint64_t *out_Var_7) {
	struct mirth_mirth_zaMirth* v8;
	uint64_t v9 = mw_mirth_name_Name_Name(in_zaMirth_1, in_Str_4, &v8);
	struct mirth_mirth_zaMirth* v10;
	uint64_t v11 = mw_mirth_var_Var_Newzx(v8, in_Type_3, v9, &v10);
	struct std_list_List_1 v12 = mw_mirth_var_Ctx_new(in_Ctx_2, v11);
	*out_Var_7 = v11;
	*out_zaMirth_5 = v10;
	return v12;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq 0x18(%rbp), %rax
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
movq -0x40(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x3ed80
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rcx
movl -0x30(%rbp), %esi
movq -0x28(%rbp), %rdx
leaq -0x58(%rbp), %r8
callq 0x6da30
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdx
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0xb2880
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x60(%rbp), %rcx
movq 0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x58(%rbp), %rcx
movq 0x10(%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_table_Field_dom
static struct mirth_type_StackType mw_mirth_table_Field_dom (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Field_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_type_StackType v6 = mw_mirth_table_Field_basis(in_zaMirth_1, in_Field_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	struct mirth_type_Type v8 = mw_mirth_table_Field_indexzetype(v5, in_Field_2, &v7);
	struct mirth_type_StackType v9 = mw_mirth_type_Tzm(v6, v8);
	*out_zaMirth_3 = v7;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %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 0x14e640
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x14e6c0
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
movl -0x58(%rbp), %edx
movq -0x50(%rbp), %rcx
callq 0x73db0
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 $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_table_Field_cod
static struct mirth_type_StackType mw_mirth_table_Field_cod (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Field_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_type_StackType v6 = mw_mirth_table_Field_basis(in_zaMirth_1, in_Field_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	struct mirth_type_Type v8 = mw_mirth_table_Field_valuezetype(v5, in_Field_2, &v7);
	struct mirth_type_Type v9 = mtw_mirth_type_Type_Mut(v8);
	struct mirth_type_StackType v10 = mw_mirth_type_Tzm(v6, v9);
	*out_zaMirth_3 = v7;
	return v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %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 0x14e640
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x14ecf0
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movl -0x58(%rbp), %edi
movq -0x50(%rbp), %rsi
callq 0xcecf0
movl %eax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
movl -0x68(%rbp), %edx
movq -0x60(%rbp), %rcx
callq 0x73db0
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 $0x70, %rsp
popq %rbp
retq
nopl (%rax)