LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mext_std_world_posixzestat
static int64_t mext_std_world_posixzestat (void* in_CStr_1, void* in_Ptr_2) {
	void* X3 = (void*)(in_Ptr_2);
	const char * X2 = (const char *)(in_CStr_1);
	int Y = stat(X2, X3);
	return ((int64_t)(Y));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x50d0
movl %eax, -0x24(%rbp)
movslq -0x24(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_world_SzuISDIR
static bool mw_std_world_SzuISDIR (uint16_t in_U16_1) {
	uint16_t v3 = mw_std_world_SzuIFMT();
	uint64_t v4 = (uint64_t)(in_U16_1);
	uint64_t v5 = (uint64_t)(v3);
	uint64_t v6 = (v4 & v5);
	uint16_t v7 = (uint16_t)(v6);
	uint16_t v8 = mw_std_world_SzuIFDIR();
	uint64_t v9 = (uint64_t)(v8);
	uint32_t v10 = (uint32_t)(v9);
	uint64_t v11 = (uint64_t)(v7);
	uint32_t v12 = (uint32_t)(v11);
	uint64_t v13 = (uint64_t)(v12);
	uint64_t v14 = (uint64_t)(v10);
	bool v15 = (v13 == v14);
	return v15;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
callq 0x1f13d0
movw %ax, -0x4(%rbp)
movzwl -0x2(%rbp), %eax
movq %rax, -0x10(%rbp)
movzwl -0x4(%rbp), %eax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
andq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movw %ax, -0x22(%rbp)
callq 0x1f13e0
movw %ax, -0x24(%rbp)
movzwl -0x24(%rbp), %eax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movl %eax, -0x34(%rbp)
movzwl -0x22(%rbp), %eax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
movq %rax, -0x50(%rbp)
movl -0x34(%rbp), %eax
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rax
cmpq -0x58(%rbp), %rax
sete %al
andb $0x1, %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_prim_Str_dropzeslice
static STR* mw_std_prim_Str_dropzeslice (INT in_Offset_1, STR* in_Str_2) {
	STR* v6;
	STR* v7 = mw_std_str_zaStr_dropzeslice(in_Str_2, in_Offset_1, &v6);
	decref(MKSTR(v6));
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x1df1b0
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x19fd34(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1f14e5
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x19fd0b(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x1f14e5
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x19fce0(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1f14e5
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x19fcbb(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1f14e3
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x19fc8a(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x1f14e5
jmp 0x1f14e7
movq -0x20(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_prim_Str_takezeslice
static STR* mw_std_prim_Str_takezeslice (INT in_Sizze_1, STR* in_Str_2) {
	STR* v6;
	STR* v7 = mw_std_str_zaStr_takezeslice(in_Str_2, in_Sizze_1, &v6);
	decref(MKSTR(v6));
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x1e7b00
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x19fc24(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1f15f5
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x19fbfb(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x1f15f5
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x19fbd0(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1f15f5
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x19fbab(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1f15f3
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x19fb7a(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x1f15f5
jmp 0x1f15f7
movq -0x20(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_elabzemodulezeqname
static struct mirth_name_QName* mw_mirth_elab_elabzemodulezeqname (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6;
	uint64_t v7 = mw_mirth_elab_parsezemodulezepackagezenamezx(in_zaMirth_1, in_Token_2, &v5, &v6);
	struct mirth_name_Namespace v8 = mtw_mirth_name_Namespace_Package(v7);
	INT v9 = WRAP_I63(0LL);
	struct mirth_name_QName* v10 = mw_mirth_name_QName_Mk(v8, v6, v9);
	*out_zaMirth_3 = v5;
	return v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %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 0x1ec020
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x471e0
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq 0x17d3fc(%rip), %rax    # 0x36ea50
movq %rax, -0x48(%rbp)
movq -0x28(%rbp), %rdx
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
movq -0x48(%rbp), %rcx
callq 0x470b0
movq %rax, -0x50(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_arrow_Block_typecheckzx
static void mw_mirth_arrow_Block_typecheckzx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Block_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v4;
	struct mirth_arrow_Arrow* v5 = mw_mirth_arrow_Block_arrow(in_zaMirth_1, in_Block_2, &v4);
	decref(MK_mirth_arrow_Arrow(v5));
	*out_zaMirth_3 = v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %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 0xc4670
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x19fd05(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1f27ec
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x19fcdc(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x1f27ec
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x19fcb1(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1f27ec
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x19fc8c(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1f27ea
movq -0x28(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x19fc5b(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x127c0
jmp 0x1f27ec
jmp 0x1f27ee
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%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: mtw_mirth_arrow_Home_Main
static struct mirth_arrow_Home mtw_mirth_arrow_Home_Main (uint64_t in_Token_1) {
	struct mirth_arrow_Home_Main* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mToken = in_Token_1;
	struct mirth_arrow_Home v4 = { .tag=mirth_arrow_Home_Main, .ptr.Main=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 0x1f2ce0
movl $0x2, %edi
leaq 0x169da3(%rip), %rsi    # 0x35ca65
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1f2ce2
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_specializzer_zaSPCheck_pushzecheckzeblockzx
static void mw_mirth_specializzer_zaSPCheck_pushzecheckzeblockzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_list_List_1 in_zaSPCheck_2, uint64_t in_Block_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct std_list_List_1 *out_zaSPCheck_5) {
	struct mirth_specializzer_SPCheckItem v6 = mtw_mirth_specializzer_SPCheckItem_Block(in_Block_3);
	struct mirth_mirth_zaMirth* v7;
	struct std_list_List_1 v8;
	mw_mirth_specializzer_zaSPCheck_pushzecheckzeitemzx(in_zaMirth_1, in_zaSPCheck_2, v6, &v7, &v8);
	*out_zaSPCheck_5 = v8;
	*out_zaMirth_4 = v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x20(%rbp), %rdi
callq 0x213210
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
movl -0x40(%rbp), %ecx
movq -0x38(%rbp), %r8
leaq -0x48(%rbp), %r9
leaq -0x58(%rbp), %rax
movq %rax, (%rsp)
callq 0x1faa00
movq -0x30(%rbp), %rax
movq -0x58(%rbp), %rcx
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%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_specializzer_zaSPCheck_checkzeargzx
static void mw_mirth_specializzer_zaSPCheck_checkzeargzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_list_List_1 in_zaSPCheck_2, uint64_t in_Arg_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct std_list_List_1 *out_zaSPCheck_5) {
	struct mirth_mirth_zaMirth* v6;
	struct std_list_List_1 v7;
	mw_mirth_specializzer_zaSPCheck_pushzecheckzeblockzx(in_zaMirth_1, in_zaSPCheck_2, in_Arg_3, &v6, &v7);
	*out_zaSPCheck_5 = v7;
	*out_zaMirth_4 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rcx
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x38(%rbp), %r8
leaq -0x48(%rbp), %r9
callq 0x1f8010
movq -0x30(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_specializzer_zaSPCheck_pushzecheckzewordzx
static void mw_mirth_specializzer_zaSPCheck_pushzecheckzewordzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_list_List_1 in_zaSPCheck_2, uint64_t in_Word_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct std_list_List_1 *out_zaSPCheck_5) {
	struct mirth_specializzer_SPCheckItem v6 = mtw_mirth_specializzer_SPCheckItem_Word(in_Word_3);
	struct mirth_mirth_zaMirth* v7;
	struct std_list_List_1 v8;
	mw_mirth_specializzer_zaSPCheck_pushzecheckzeitemzx(in_zaMirth_1, in_zaSPCheck_2, v6, &v7, &v8);
	*out_zaSPCheck_5 = v8;
	*out_zaMirth_4 = v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x20(%rbp), %rdi
callq 0x1fa970
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
movl -0x40(%rbp), %ecx
movq -0x38(%rbp), %r8
leaq -0x48(%rbp), %r9
leaq -0x58(%rbp), %rax
movq %rax, (%rsp)
callq 0x1faa00
movq -0x30(%rbp), %rax
movq -0x58(%rbp), %rcx
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%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_arrow_Arg_freezevars
static struct std_list_List_1 mw_mirth_arrow_Arg_freezevars (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Arg_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct std_list_List_1 v6 = mw_mirth_arrow_Block_freezevars(in_zaMirth_1, in_Arg_2, &v5);
	*out_zaMirth_3 = v5;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %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 0x1fb2f0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %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_specializzer_SPCheckItem_Word
static struct mirth_specializzer_SPCheckItem mtw_mirth_specializzer_SPCheckItem_Word (uint64_t in_Word_1) {
	struct mirth_specializzer_SPCheckItem_Word* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mWord = in_Word_1;
	struct mirth_specializzer_SPCheckItem v4 = { .tag=mirth_specializzer_SPCheckItem_Word, .ptr.Word=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 0x1fa9c0
movl $0x2, %edi
leaq 0x1620f5(%rip), %rsi    # 0x35ca97
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1fa9c2
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: mirth_specializzer_SPCheckItem_free
void mirth_specializzer_SPCheckItem_free (VAL v) {
	struct mirth_specializzer_SPCheckItem self = V_mirth_specializzer_SPCheckItem(v);
	switch (self.tag) {
		case mirth_specializzer_SPCheckItem_Word: {
			free(self.ptr.Word);
		} break;
		case mirth_specializzer_SPCheckItem_Block: {
			free(self.ptr.Block);
		} break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x1fb210
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x24(%rbp)
testl %eax, %eax
je 0x1fb0fa
jmp 0x1fb0f0
movl -0x24(%rbp), %eax
subl $0x1, %eax
je 0x1fb105
jmp 0x1fb10e
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x1fb10e
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x30, %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_specializzer_SPCheckItem_Block
static uint64_t mtp_mirth_specializzer_SPCheckItem_Block (struct mirth_specializzer_SPCheckItem in_SPCheckItem_1) {
	struct mirth_specializzer_SPCheckItem_Block v3 = *in_SPCheckItem_1.ptr.Block;
	if (!--(in_SPCheckItem_1.ptr.Block->refs)) {
		free(in_SPCheckItem_1.ptr.Block);
	} else {
	}
	return v3.mBlock;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1fb2dd
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x1fb2df
jmp 0x1fb2df
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_std_list_List_1_union_sp1
static struct std_list_List_1 mw_std_list_List_1_union_sp1 (struct std_list_List_1 in_List_1, struct std_list_List_1 in_List_2) {
	incref(MK_std_list_List_1(in_List_1));
	struct std_list_List_1 v4 = mw_std_list_List_1_difference_sp1(in_List_2, in_List_1);
	struct std_list_List_1 v5 = mw_std_list_List_1_cat(in_List_1, v4);
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x30(%rbp)
movq %rcx, -0x28(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1fd40e
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x1fd40e
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1fd40e
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1fd410
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
movl -0x20(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x1fe160
movl %eax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
movl -0x80(%rbp), %edx
movq -0x78(%rbp), %rcx
callq 0x7d5b0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
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: mw_mirth_match_Case_freezevars
static struct std_list_List_1 mw_mirth_match_Case_freezevars (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_match_Case* in_Case_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_arrow_Arrow* v5 = in_Case_2->mbody;
	incref(MK_mirth_arrow_Arrow(v5));
	decref(MK_mirth_match_Case(in_Case_2));
	struct mirth_mirth_zaMirth* v6;
	struct std_list_List_1 v7 = mw_mirth_arrow_Arrow_freezevars(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x19449e(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1fe024
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x194479(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x1fe024
movq -0x30(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x19444e(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1fe024
movq -0x30(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x194429(%rip), %rax    # 0x392430
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1fe026
jmp 0x1fe028
movq -0x20(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x1946c9(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1fe123
movq -0x20(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x19469d(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x1fe123
movq -0x20(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x194665(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1fe123
movq -0x20(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq 0x194637(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1fe121
movq -0x20(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq 0x1945fd(%rip), %rax    # 0x392700
orq $0x1, %rax
movq %rax, -0xb8(%rbp)
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x127c0
jmp 0x1fe123
jmp 0x1fe125
movq -0x18(%rbp), %rdi
movq -0x30(%rbp), %rsi
leaq -0xc8(%rbp), %rdx
callq 0x1fb4e0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0xc8(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xd0, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_unwrap_1_sp16
static struct std_list_List_1 mw_std_maybe_Maybe_1_unwrap_1_sp16 (struct std_maybe_Maybe_1 in_Maybe_1) {
	struct std_list_List_1 branch_List_3;
	switch ((in_Maybe_1).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v4 = mtp_std_maybe_Maybe_1_Some(in_Maybe_1);
			branch_List_3 = V_std_list_List_1(v4);
		} break;
		case std_maybe_Maybe_1_None: {
			struct std_list_List_1 v5 = { .tag=std_list_List_1_Nil };
			branch_List_3 = v5;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_List_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x54(%rbp)
testl %eax, %eax
je 0x1ff31f
jmp 0x1ff2db
movl -0x54(%rbp), %eax
subl $0x1, %eax
jne 0x1ff341
jmp 0x1ff2e5
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x174a0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x12c80
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1ff35a
leaq -0x50(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x50(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1ff35a
leaq 0x154b39(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_PrimType_iszephysicalzy
static bool mw_mirth_type_PrimType_iszephysicalzy (enum mirth_type_PrimType in_PrimType_1) {
	bool branch_Bool_3;
	switch (in_PrimType_1) {
		case mirth_type_PrimType_KIND: {
			bool v4 = false;
			branch_Bool_3 = v4;
		} break;
		case mirth_type_PrimType_TYPE: {
			bool v5 = false;
			branch_Bool_3 = v5;
		} break;
		case mirth_type_PrimType_STACK: {
			bool v6 = false;
			branch_Bool_3 = v6;
		} break;
		case mirth_type_PrimType_RESOURCE: {
			bool v7 = false;
			branch_Bool_3 = v7;
		} break;
		default: {
			bool v8 = true;
			branch_Bool_3 = v8;
		} break;
	}
	return branch_Bool_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
movl -0x4(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x3, %rax
ja 0x1ff840
movq -0x18(%rbp), %rax
leaq 0x15354d(%rip), %rcx    # 0x352d4c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0x0, -0x6(%rbp)
movb -0x6(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
jmp 0x1ff84c
movb $0x0, -0x7(%rbp)
movb -0x7(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
jmp 0x1ff84c
movb $0x0, -0x8(%rbp)
movb -0x8(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
jmp 0x1ff84c
movb $0x0, -0x9(%rbp)
movb -0x9(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
jmp 0x1ff84c
movb $0x1, -0xa(%rbp)
movb -0xa(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
movb -0x5(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_has_1_sp1
static bool mw_std_maybe_Maybe_1_has_1_sp1 (struct std_maybe_Maybe_1 in_Maybe_1) {
	bool branch_Bool_3;
	switch ((in_Maybe_1).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v4 = mtp_std_maybe_Maybe_1_Some(in_Maybe_1);
			INT v5 = WRAP_I63(0LL);
			INT v6 = v5;
			INT v7 = value_nat(v4);
			bool v8 = int_eq(v7, v6);
			branch_Bool_3 = v8;
		} break;
		case std_maybe_Maybe_1_None: {
			bool v9 = false;
			branch_Bool_3 = v9;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_Bool_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x48(%rbp)
testl %eax, %eax
je 0x200359
jmp 0x2002fb
movl -0x48(%rbp), %eax
subl $0x1, %eax
jne 0x200367
jmp 0x200305
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x174a0
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq 0x16e730(%rip), %rax    # 0x36ea50
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xa84a0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x41(%rbp)
movb -0x41(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x200380
movb $0x0, -0x42(%rbp)
movb -0x42(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x200380
leaq 0x153b13(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Data_tagzebits
static INT mw_mirth_data_Data_tagzebits (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_tagzebits, in_Data_2);
	bool v6 = mut_is_set(v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	INT branch_Nat_8;
	if (v6) {
		VAL v9 = mut_get(v5);
		branch_Nat_8 = value_nat(v9);
		branch_zaMirth_7 = in_zaMirth_1;
	} else {
		struct mirth_mirth_zaMirth* v10;
		struct std_list_List_1 v11 = mw_mirth_data_Data_tags(in_zaMirth_1, in_Data_2, &v10);
		INT v12 = mw_std_list_List_1_len(v11);
		INT v13 = mw_std_prim_Nat_log2zeceil(v12);
		incref(MKNAT(v13));
		mut_set(MKNAT(v13), v5);
		branch_Nat_8 = v13;
		branch_zaMirth_7 = v10;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Nat_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq 0x11941a6(%rip), %rdi   # 0x1396988
callq 0x40d30
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x45e40
andb $0x1, %al
movb %al, -0x29(%rbp)
testb $0x1, -0x29(%rbp)
je 0x202836
movq -0x28(%rbp), %rdi
callq 0x40f30
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xa84a0
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x202974
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x10e0f0
movl %eax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movl -0x68(%rbp), %edi
movq -0x60(%rbp), %rsi
callq 0x33100
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
callq 0x202a00
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x18e893(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x20292e
movq -0x78(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x18e867(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x98(%rbp), %rax
cmpq $0x0, %rax
je 0x20292e
movq -0x78(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x18e833(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x20292e
movq -0x78(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x18e805(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x202930
movq -0x78(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq 0x18e7ce(%rip), %rax    # 0x391110
orq $0x1, %rax
movq %rax, -0xc0(%rbp)
movq -0x28(%rbp), %rdx
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x431a0
movq -0x78(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_word_Word_spzesynthed
static struct std_list_List_1 mw_mirth_word_Word_spzesynthed (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_ztspzesynthed, in_Word_2);
	struct std_maybe_Maybe_1 v6 = mw_std_prelude_zozy(v5);
	struct std_list_List_1 branch_Map_7;
	switch ((v6).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v8 = mtp_std_maybe_Maybe_1_Some(v6);
			branch_Map_7 = V_std_list_List_1(v8);
		} break;
		case std_maybe_Maybe_1_None: {
			struct std_list_List_1 v9 = mw_std_map_Map_2_Nil();
			branch_Map_7 = v9;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = in_zaMirth_1;
	return branch_Map_7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x20(%rbp), %rsi
leaq 0x1193696(%rip), %rdi   # 0x13969a8
callq 0x40d30
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x45d00
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x74(%rbp)
testl %eax, %eax
je 0x20337b
jmp 0x203337
movl -0x74(%rbp), %eax
subl $0x1, %eax
jne 0x203399
jmp 0x203341
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x174a0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x12c80
movl %eax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2033b2
callq 0xda060
movl %eax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2033b2
leaq 0x150ae1(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_specializzer_SPKey_similar
static bool mw_mirth_specializzer_SPKey_similar (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_list_Nest_1* in_SPKey_2, struct std_list_Nest_1* in_SPKey_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct std_list_List_1 v6 = mw_std_list_Nest_1_zgList(in_SPKey_2);
	struct std_list_List_1 v7 = mw_std_list_Nest_1_zgList(in_SPKey_3);
	struct mirth_mirth_zaMirth* v8;
	bool v9 = mw_std_list_List_1_zd_sp1(in_zaMirth_1, v6, v7, &v8);
	*out_zaMirth_4 = v8;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1f180
movl %eax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1f180
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x8(%rbp), %rdi
movl -0x30(%rbp), %esi
movq -0x28(%rbp), %rdx
movl -0x40(%rbp), %ecx
movq -0x38(%rbp), %r8
leaq -0x48(%rbp), %r9
callq 0x203980
andb $0x1, %al
movb %al, -0x49(%rbp)
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x49(%rbp), %al
andb $0x1, %al
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_PropLabel_prop_1_sp1_0
static void mb_mirth_mirth_PropLabel_prop_1_sp1_0 (void) {
	uint64_t v0 = V_mirth_word_Word(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	struct mirth_mirth_zaMirth* v2;
	struct mirth_arrow_Arrow* v3 = mw_mirth_word_Word_arrow(r1, v0, &v2);
	struct mirth_type_ArrowType* v4;
	struct std_list_List_1 v5 = mw_mirth_arrow_Arrow_ctxzetype(v3, &v4);
	PTUP r6 = PTRMK(0,tup_new(2),0);
	((TUP*)PTRPTR(r6))->size = 2;
	((TUP*)PTRPTR(r6))->cells[1] = MK_mirth_type_ArrowType(v4);
	((TUP*)PTRPTR(r6))->cells[0] = MK_std_list_List_1(v5);
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_value(MKTUP(r6));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %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)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0xae460
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xae4c0
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movl $0x2, %edi
callq 0x1a7d0
orq $0x0, %rax
orq $0x0, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movw $0x2, 0x6(%rax)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, -0x70(%rbp)
leaq 0x18e683(%rip), %rcx    # 0x391c08
orq $0x1, %rcx
movq %rcx, -0x68(%rbp)
movq -0x70(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x20(%rax)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movq %rax, -0xa8(%rbp)
movl -0x58(%rbp), %edi
movq -0x50(%rbp), %rsi
callq 0x12780
movq %rax, %rcx
movq -0xa8(%rbp), %rax
movq %rcx, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x80(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x78(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x38(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x18e38e(%rip), %rax    # 0x391980
movq %rax, -0x88(%rbp)
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x5b40
movq -0x60(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x18dd7a(%rip), %rax    # 0x391398
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0x12cc0
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_arrow_Arg_similar
static bool mw_mirth_arrow_Arg_similar (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Arg_2, uint64_t in_Arg_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	bool v7 = mw_mirth_arrow_Block_similar(in_zaMirth_1, in_Arg_2, in_Arg_3, &v6);
	*out_zaMirth_4 = v6;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x2048b0
andb $0x1, %al
movb %al, -0x29(%rbp)
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x29(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_arrow_Block_similar
static bool mw_mirth_arrow_Block_similar (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Block_2, uint64_t in_Block_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	uint64_t v6 = in_Block_3;
	uint64_t v7 = in_Block_2;
	bool v8 = (v6 == v7);
	struct mirth_mirth_zaMirth* branch_zaMirth_9;
	uint64_t branch_Block_10;
	uint64_t branch_Block_11;
	bool branch_Bool_12;
	if (v8) {
		bool v13 = true;
		branch_Bool_12 = v13;
		branch_Block_11 = in_Block_3;
		branch_Block_10 = in_Block_2;
		branch_zaMirth_9 = in_zaMirth_1;
	} else {
		struct mirth_mirth_zaMirth* v14;
		struct mirth_arrow_Arrow* v15 = mw_mirth_arrow_Block_arrow(in_zaMirth_1, in_Block_2, &v14);
		struct mirth_mirth_zaMirth* v16;
		struct mirth_arrow_Arrow* v17 = mw_mirth_arrow_Block_arrow(v14, in_Block_3, &v16);
		struct mirth_mirth_zaMirth* v18;
		bool v19 = mw_mirth_arrow_Arrow_similar(v16, v15, v17, &v18);
		branch_Bool_12 = v19;
		branch_Block_11 = in_Block_3;
		branch_Block_10 = in_Block_2;
		branch_zaMirth_9 = v18;
	}
	*out_zaMirth_4 = branch_zaMirth_9;
	return branch_Bool_12;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x30(%rbp), %rax
sete %al
andb $0x1, %al
movb %al, -0x31(%rbp)
testb $0x1, -0x31(%rbp)
je 0x204917
movb $0x1, -0x52(%rbp)
movb -0x52(%rbp), %al
andb $0x1, %al
movb %al, -0x51(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x204981
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0xc4670
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq 0xc4670
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x78(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x2049a0
andb $0x1, %al
movb %al, -0x81(%rbp)
movb -0x81(%rbp), %al
andb $0x1, %al
movb %al, -0x51(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x51(%rbp), %al
andb $0x1, %al
addq $0x90, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_specializzer_zaSPSynth_zaSPSynth
static void mtw_mirth_specializzer_zaSPSynth_zaSPSynth (struct std_list_Nest_1* in_SPKey_1, uint64_t in_Word_2, struct std_list_List_1 in_Map_3, struct mirth_arrow_Arrow* in_zaAB_4, struct mirth_specializzer_zaSPSynth* *out_zaSPSynth_5) {
	struct mirth_specializzer_zaSPSynth* v6 = calloc(1, sizeof *v6);
	ASSERT(v6);
	v6->mzaAB = in_zaAB_4;
	v6->mspmap = in_Map_3;
	v6->mspword = in_Word_2;
	v6->mspkey = in_SPKey_1;
	*out_zaSPSynth_5 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x20ca83
movl $0x2, %edi
leaq 0x150120(%rip), %rsi    # 0x35cb85
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x20ca85
movq -0x28(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_specializzer_zaSPSynth_zaSPSynth
static void mtp_mirth_specializzer_zaSPSynth_zaSPSynth (struct mirth_specializzer_zaSPSynth* in_zaSPSynth_1, struct std_list_Nest_1* *out_SPKey_2, uint64_t *out_Word_3, struct std_list_List_1 *out_Map_4, struct mirth_arrow_Arrow* *out_zaAB_5) {
	struct mirth_specializzer_zaSPSynth v6 = *in_zaSPSynth_1;
	free(in_zaSPSynth_1);
	*out_zaAB_5 = v6.mzaAB;
	*out_Map_4 = v6.mspmap;
	*out_Word_3 = v6.mspword;
	*out_SPKey_2 = v6.mspkey;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x50(%rbp), %rdi
movl $0x28, %edx
callq 0x50e0
movq -0x8(%rbp), %rdi
callq 0x5030
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
movq -0x40(%rbp), %rcx
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_specializzer_zaSPSynth_synthzeargzx
static uint64_t mw_mirth_specializzer_zaSPSynth_synthzeargzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_specializzer_zaSPSynth* in_zaSPSynth_2, uint64_t in_Arg_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_specializzer_zaSPSynth* *out_zaSPSynth_5) {
	struct mirth_mirth_zaMirth* v7;
	struct mirth_specializzer_zaSPSynth* v8;
	uint64_t v9 = mw_mirth_specializzer_zaSPSynth_synthzeargzeblockzx(in_zaMirth_1, in_zaSPSynth_2, in_Arg_3, &v7, &v8);
	*out_zaSPSynth_5 = v8;
	*out_zaMirth_4 = v7;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x30(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x20e410
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
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_match_zaPattern_opzx
static void mw_mirth_match_zaPattern_opzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_match_Pattern* in_zaPattern_2, struct mirth_match_PatternOp in_PatternOp_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_match_Pattern* *out_zaPattern_5) {
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	struct mirth_match_Pattern* branch_zaPattern_7;
	switch ((in_PatternOp_3).tag) {
		case mirth_match_PatternOp_Underscore: {
			struct mirth_mirth_zaMirth* v8;
			struct mirth_match_Pattern* v9;
			mw_mirth_match_zaPattern_underscorezx(in_zaMirth_1, in_zaPattern_2, &v8, &v9);
			branch_zaPattern_7 = v9;
			branch_zaMirth_6 = v8;
		} break;
		case mirth_match_PatternOp_Tag: {
			uint64_t v10 = mtp_mirth_match_PatternOp_Tag(in_PatternOp_3);
			struct mirth_mirth_zaMirth* v11;
			struct mirth_match_Pattern* v12;
			mw_mirth_match_zaPattern_tagzx(in_zaMirth_1, in_zaPattern_2, v10, &v11, &v12);
			branch_zaPattern_7 = v12;
			branch_zaMirth_6 = v11;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaPattern_5 = branch_zaPattern_7;
	*out_zaMirth_4 = branch_zaMirth_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x6c(%rbp)
testl %eax, %eax
je 0x2122c5
jmp 0x2122bb
movl -0x6c(%rbp), %eax
subl $0x1, %eax
je 0x2122ec
jmp 0x212327
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x48(%rbp), %rdx
leaq -0x50(%rbp), %rcx
callq 0xfca10
movq -0x50(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x212340
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x108f60
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x58(%rbp), %rdx
leaq -0x60(%rbp), %rcx
leaq -0x68(%rbp), %r8
callq 0xff3a0
movq -0x68(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x212340
leaq 0x141b53(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x40(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%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: mtw_mirth_specializzer_SPCheckItem_Block
static struct mirth_specializzer_SPCheckItem mtw_mirth_specializzer_SPCheckItem_Block (uint64_t in_Block_1) {
	struct mirth_specializzer_SPCheckItem_Block* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mBlock = in_Block_1;
	struct mirth_specializzer_SPCheckItem v4 = { .tag=mirth_specializzer_SPCheckItem_Block, .ptr.Block=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 0x213260
movl $0x2, %edi
leaq 0x149a79(%rip), %rsi    # 0x35ccbb
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x213262
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)