LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zetablezedefszx
static void mw_mirth_c99_c99zetablezedefszx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99* *out_zaC99_4) {
	uint64_t v5 = 1ULL;
	void* v6 = mbuf_mirth_table_Table_NumBuffer;
	uint64_t v7 = *(uint64_t*)v6;
	bool v8 = (v5 <= v7);
	struct mirth_c99_zaC99* r9 = in_zaC99_2;
	struct mirth_mirth_zaMirth* r10 = in_zaMirth_1;
	uint64_t v11 = v5;
	bool v12 = v8;
	while (v12) {
		struct mirth_c99_zaC99* r13 = r9;
		struct mirth_mirth_zaMirth* r14 = r10;
		uint64_t v15 = v11;
		uint64_t v16 = v15;
		struct mirth_mirth_zaMirth* v17;
		struct mirth_c99_zaC99* v18;
		mw_mirth_c99_c99zetablezedefzx(r14, r13, v16, &v17, &v18);
		uint64_t v19 = 1ULL;
		uint64_t v20 = (v15 + v19);
		void* v21 = mbuf_mirth_table_Table_NumBuffer;
		uint64_t v22 = *(uint64_t*)v21;
		bool v23 = (v20 <= v22);
		v12 = v23;
		v11 = v20;
		r10 = v17;
		r9 = v18;
	}
	*out_zaC99_4 = r9;
	*out_zaMirth_3 = r10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq $0x1, -0x28(%rbp)
leaq 0x1181ea6(%rip), %rax   # 0x1396240
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x38(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
movb -0x39(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
testb $0x1, -0x59(%rbp)
je 0x2144a8
movq -0x48(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x80(%rbp), %rdx
leaq -0x88(%rbp), %rcx
leaq -0x90(%rbp), %r8
callq 0x226f60
movq $0x1, -0x98(%rbp)
movq -0x78(%rbp), %rax
addq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x1181dfa(%rip), %rax   # 0x1396240
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0xa0(%rbp), %rax
cmpq -0xb0(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x2143d9
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zefieldzedefszx
static void mw_mirth_c99_c99zefieldzedefszx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99* *out_zaC99_4) {
	uint64_t v5 = 1ULL;
	void* v6 = mbuf_mirth_table_Field_NumBuffer;
	uint64_t v7 = *(uint64_t*)v6;
	bool v8 = (v5 <= v7);
	struct mirth_c99_zaC99* r9 = in_zaC99_2;
	struct mirth_mirth_zaMirth* r10 = in_zaMirth_1;
	uint64_t v11 = v5;
	bool v12 = v8;
	while (v12) {
		struct mirth_c99_zaC99* r13 = r9;
		struct mirth_mirth_zaMirth* r14 = r10;
		uint64_t v15 = v11;
		uint64_t v16 = v15;
		struct mirth_mirth_zaMirth* v17;
		struct mirth_c99_zaC99* v18;
		mw_mirth_c99_c99zefieldzedefzx(r14, r13, v16, &v17, &v18);
		uint64_t v19 = 1ULL;
		uint64_t v20 = (v15 + v19);
		void* v21 = mbuf_mirth_table_Field_NumBuffer;
		uint64_t v22 = *(uint64_t*)v21;
		bool v23 = (v20 <= v22);
		v12 = v23;
		v11 = v20;
		r10 = v17;
		r9 = v18;
	}
	*out_zaC99_4 = r9;
	*out_zaMirth_3 = r10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq $0x1, -0x28(%rbp)
leaq 0x1181dae(%rip), %rax   # 0x13962a8
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x38(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
movb -0x39(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
testb $0x1, -0x59(%rbp)
je 0x214608
movq -0x48(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x80(%rbp), %rdx
leaq -0x88(%rbp), %rcx
leaq -0x90(%rbp), %r8
callq 0x22ddf0
movq $0x1, -0x98(%rbp)
movq -0x78(%rbp), %rax
addq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x1181d02(%rip), %rax   # 0x13962a8
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0xa0(%rbp), %rax
cmpq -0xb0(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x214539
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zetagzedefszx
static void mw_mirth_c99_c99zetagzedefszx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99* *out_zaC99_4) {
	uint64_t v5 = 1ULL;
	void* v6 = mbuf_mirth_data_Tag_NumBuffer;
	uint64_t v7 = *(uint64_t*)v6;
	bool v8 = (v5 <= v7);
	struct mirth_c99_zaC99* r9 = in_zaC99_2;
	struct mirth_mirth_zaMirth* r10 = in_zaMirth_1;
	uint64_t v11 = v5;
	bool v12 = v8;
	while (v12) {
		struct mirth_c99_zaC99* r13 = r9;
		struct mirth_mirth_zaMirth* r14 = r10;
		uint64_t v15 = v11;
		uint64_t v16 = v15;
		struct mirth_mirth_zaMirth* v17;
		struct mirth_c99_zaC99* v18;
		mw_mirth_c99_c99zetagzedefzx(r14, r13, v16, &v17, &v18);
		uint64_t v19 = 1ULL;
		uint64_t v20 = (v15 + v19);
		void* v21 = mbuf_mirth_data_Tag_NumBuffer;
		uint64_t v22 = *(uint64_t*)v21;
		bool v23 = (v20 <= v22);
		v12 = v23;
		v11 = v20;
		r10 = v17;
		r9 = v18;
	}
	*out_zaC99_4 = r9;
	*out_zaMirth_3 = r10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq $0x1, -0x28(%rbp)
leaq 0x117fc66(%rip), %rax   # 0x13945f0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x38(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
movb -0x39(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
testb $0x1, -0x59(%rbp)
je 0x214a98
movq -0x48(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x80(%rbp), %rdx
leaq -0x88(%rbp), %rcx
leaq -0x90(%rbp), %r8
callq 0x2798e0
movq $0x1, -0x98(%rbp)
movq -0x78(%rbp), %rax
addq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x117fbba(%rip), %rax   # 0x13945f0
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0xa0(%rbp), %rax
cmpq -0xb0(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x2149c9
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zebufferszx
static void mw_mirth_c99_c99zebufferszx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99* *out_zaC99_4) {
	uint64_t v5 = 1ULL;
	void* v6 = mbuf_mirth_buffer_Buffer_NumBuffer;
	uint64_t v7 = *(uint64_t*)v6;
	bool v8 = (v5 <= v7);
	struct mirth_c99_zaC99* r9 = in_zaC99_2;
	struct mirth_mirth_zaMirth* r10 = in_zaMirth_1;
	uint64_t v11 = v5;
	bool v12 = v8;
	while (v12) {
		struct mirth_c99_zaC99* r13 = r9;
		struct mirth_mirth_zaMirth* r14 = r10;
		uint64_t v15 = v11;
		uint64_t v16 = v15;
		struct mirth_mirth_zaMirth* v17;
		struct mirth_c99_zaC99* v18;
		mw_mirth_c99_c99zebufferzx(r14, r13, v16, &v17, &v18);
		uint64_t v19 = 1ULL;
		uint64_t v20 = (v15 + v19);
		void* v21 = mbuf_mirth_buffer_Buffer_NumBuffer;
		uint64_t v22 = *(uint64_t*)v21;
		bool v23 = (v20 <= v22);
		v12 = v23;
		v11 = v20;
		r10 = v17;
		r9 = v18;
	}
	*out_zaC99_4 = r9;
	*out_zaMirth_3 = r10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq $0x1, -0x28(%rbp)
leaq 0x118161e(%rip), %rax   # 0x1396108
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x38(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
movb -0x39(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
testb $0x1, -0x59(%rbp)
je 0x214bf8
movq -0x48(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x80(%rbp), %rdx
leaq -0x88(%rbp), %rcx
leaq -0x90(%rbp), %r8
callq 0x2b3680
movq $0x1, -0x98(%rbp)
movq -0x78(%rbp), %rax
addq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x1181572(%rip), %rax   # 0x1396108
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0xa0(%rbp), %rax
cmpq -0xb0(%rbp), %rax
setbe %al
andb $0x1, %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x214b29
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_c99_C99zuOptions_free
static void mirth_c99_C99zuOptions_free (VAL vself) {
	ASSERT(vself.tag == TAG_mirth_c99_C99zuOptions);
	struct mirth_c99_C99zuOptions* self = vself.data.ptr;
	decref(MKSTR(self->moutputzepath));
	free(self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
leaq 0x17b385(%rip), %rcx    # 0x392e50
orq $0x1, %rcx
cmpq %rcx, %rax
je 0x217afe
movl $0x2, %edi
leaq 0x145272(%rip), %rsi    # 0x35cd52
movl $0x56, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x217b00
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
leaq 0x17963d(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x217bf0
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
leaq 0x179610(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x217bf0
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x48(%rbp)
leaq 0x1795dd(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x217bf0
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x58(%rbp)
leaq 0x1795b4(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x217bee
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x68(%rbp)
leaq 0x17957f(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x217bf0
jmp 0x217bf2
movq -0x18(%rbp), %rdi
callq 0x5030
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_need_zaNeeds_New
static void mw_mirth_need_zaNeeds_New (struct mirth_need_zaNeeds* *out_zaNeeds_1) {
	struct std_list_List_1 v2 = { .tag=std_list_List_1_Nil };
	ARR* v3;
	mw_std_set_zaSet_Empty(&v3);
	struct mirth_need_zaNeeds* v4;
	mtw_mirth_need_zaNeeds_zaNeeds(v2, v3, &v4);
	*out_zaNeeds_1 = v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
leaq -0x20(%rbp), %rdi
callq 0x2188b0
movq -0x20(%rbp), %rdx
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x2188f0
movq -0x28(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_need_zaNeeds_determinezearrowzeneedszx
static void mw_mirth_need_zaNeeds_determinezearrowzeneedszx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_need_zaNeeds* in_zaNeeds_2, struct mirth_arrow_Arrow* in_Arrow_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_need_zaNeeds* *out_zaNeeds_5) {
	struct mirth_mirth_zaMirth* v6;
	struct mirth_need_zaNeeds* v7;
	mw_mirth_need_zaNeeds_runzearrowzx(in_zaMirth_1, in_zaNeeds_2, in_Arrow_3, &v6, &v7);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_need_zaNeeds* v9;
	mw_mirth_need_zaNeeds_determinezetransitivezeneedszx(v6, v7, &v8, &v9);
	*out_zaNeeds_5 = v9;
	*out_zaMirth_4 = v8;
}

// 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), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x30(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x2189a0
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x40(%rbp), %rdx
leaq -0x48(%rbp), %rcx
callq 0x218ee0
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x20(%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_std_output_zaOutput_startzx
static void mw_std_output_zaOutput_startzx (struct std_file_zaFile* in_zaFile_1, struct std_output_zaOutput* *out_zaOutput_2) {
	INT v3 = WRAP_I63(0LL);
	INT v4 = mw_std_output_OUTPUTzuBUFFERzuSIZE();
	ARR* v5;
	mw_std_buffer_zaBuffer_New(v4, &v5);
	struct std_output_zaOutput* v6;
	mtw_std_output_zaOutput_zaOutput(v3, in_zaFile_1, v5, &v6);
	*out_zaOutput_2 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x1562b9(%rip), %rax    # 0x36ea50
movq %rax, -0x18(%rbp)
callq 0x21ff80
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x33440
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x18(%rbp), %rdi
leaq -0x30(%rbp), %rcx
callq 0x21ffa0
movq -0x30(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_zaC99_zaC99
static void mtw_mirth_c99_zaC99_zaC99 (struct mirth_c99_C99zuOptions* in_C99zuOptions_1, INT in_Nat_2, INT in_Nat_3, bool in_Bool_4, struct mirth_need_zaNeeds* in_zaNeeds_5, struct std_output_zaOutput* in_zaOutput_6, struct mirth_c99_zaC99* *out_zaC99_7) {
	struct mirth_c99_zaC99* v8 = calloc(1, sizeof *v8);
	ASSERT(v8);
	v8->mzaoutput = in_zaOutput_6;
	v8->mzaneeds = in_zaNeeds_5;
	v8->mputzeenabled = in_Bool_4;
	v8->mfreshzecounter = in_Nat_3;
	v8->mdepth = in_Nat_2;
	v8->moptions = in_C99zuOptions_1;
	*out_zaC99_7 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movb %cl, %al
movq 0x10(%rbp), %rcx
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0x1, %edi
movl $0x30, %esi
callq 0x50c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x21884b
movl $0x2, %edi
leaq 0x144758(%rip), %rsi    # 0x35cf85
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21884d
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x28(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x20(%rax)
movb -0x19(%rbp), %cl
movq -0x38(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x18(%rax)
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x38(%rbp), %rax
movq -0x8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_set_zaSet_Empty
static void mw_std_set_zaSet_Empty (ARR* *out_zaSet_1) {
	INT v2 = mw_std_set_SETzuINITIALzuSIZE();
	ARR* v3;
	mw_std_buffer_zaBuffer_New(v2, &v3);
	*out_zaSet_1 = v3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
callq 0x218980
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x33440
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_need_zaNeeds_zaNeeds
static void mtw_mirth_need_zaNeeds_zaNeeds (struct std_list_List_1 in_List_1, ARR* in_zaSet_2, struct mirth_need_zaNeeds* *out_zaNeeds_3) {
	struct mirth_need_zaNeeds* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->mzaset = in_zaSet_2;
	v4->mstack = in_List_1;
	*out_zaNeeds_3 = v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x21894b
movl $0x2, %edi
leaq 0x14448a(%rip), %rsi    # 0x35cdb7
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21894d
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_need_zaNeeds_needzewordzx
static void mw_mirth_need_zaNeeds_needzewordzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_need_zaNeeds* in_zaNeeds_2, uint64_t in_Word_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_need_zaNeeds* *out_zaNeeds_5) {
	struct mirth_need_Need v6 = mtw_mirth_need_Need_Word(in_Word_3);
	struct mirth_mirth_zaMirth* v7;
	struct mirth_need_zaNeeds* v8;
	mw_mirth_need_zaNeeds_needzx(in_zaMirth_1, in_zaNeeds_2, v6, &v7, &v8);
	*out_zaNeeds_5 = v8;
	*out_zaMirth_4 = v7;
}

// 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 -0x18(%rbp), %rdi
callq 0x21c520
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x38(%rbp), %edx
movq -0x30(%rbp), %rcx
leaq -0x40(%rbp), %r8
leaq -0x48(%rbp), %r9
callq 0x21c5b0
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x20(%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_need_zaNeeds_pushzeblockzx
static void mw_mirth_need_zaNeeds_pushzeblockzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_need_zaNeeds* in_zaNeeds_2, uint64_t in_Block_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_need_zaNeeds* *out_zaNeeds_5) {
	struct mirth_mirth_zaMirth* v6;
	struct std_maybe_Maybe_1 v7 = mw_mirth_arrow_Block_tozerunzevar(in_zaMirth_1, in_Block_3, &v6);
	struct mirth_mirth_zaMirth* branch_zaMirth_8;
	struct mirth_need_zaNeeds* branch_zaNeeds_9;
	switch ((v7).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v10 = mtp_std_maybe_Maybe_1_Some(v7);
			decref(v10);
			branch_zaNeeds_9 = in_zaNeeds_2;
			branch_zaMirth_8 = v6;
		} break;
		case std_maybe_Maybe_1_None: {
			struct mirth_mirth_zaMirth* v11;
			struct mirth_need_zaNeeds* v12;
			mw_mirth_need_zaNeeds_needzeblockzx(v6, in_zaNeeds_2, in_Block_3, &v11, &v12);
			branch_zaNeeds_9 = v12;
			branch_zaMirth_8 = v11;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaNeeds_5 = branch_zaNeeds_9;
	*out_zaMirth_4 = branch_zaMirth_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %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 -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x21f0c0
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x74(%rbp)
testl %eax, %eax
je 0x21c3d6
jmp 0x21c347
movl -0x74(%rbp), %eax
subl $0x1, %eax
jne 0x21c401
jmp 0x21c355
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x174a0
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x58(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x21c3c2
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
cmpq $0x0, %rax
je 0x21c3c2
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x21c3c2
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x21c3c0
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x127c0
jmp 0x21c3c2
jmp 0x21c3c4
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x21c41a
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x68(%rbp), %rcx
leaq -0x70(%rbp), %r8
callq 0x21f120
movq -0x70(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x21c41a
leaq 0x137a79(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x50(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_need_Need_Word
static struct mirth_need_Need mtw_mirth_need_Need_Word (uint64_t in_Word_1) {
	struct mirth_need_Need_Word* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mWord = in_Word_1;
	struct mirth_need_Need v4 = { .tag=mirth_need_Need_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 0x21c570
movl $0x2, %edi
leaq 0x140897(%rip), %rsi    # 0x35cde9
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21c572
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_need_Need_neededzy
static bool mw_mirth_need_Need_neededzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_need_zaNeeds* in_zaNeeds_2, struct mirth_need_Need in_Need_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_need_zaNeeds* *out_zaNeeds_5) {
	struct mirth_mirth_zaMirth* v7;
	INT v8 = mw_mirth_need_Need_zgNat(in_zaMirth_1, in_Need_3, &v7);
	ARR* r9 = in_zaNeeds_2->mzaset;
	ARR* v10;
	bool v11 = mw_std_set_zaSet_memberzy(v8, r9, &v10);
	in_zaNeeds_2->mzaset = v10;
	*out_zaNeeds_5 = in_zaNeeds_2;
	*out_zaMirth_4 = v7;
	return v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x38(%rbp), %rcx
callq 0x21cc60
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0x21d450
andb $0x1, %al
movb %al, -0x51(%rbp)
movq -0x50(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movb -0x51(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_set_zaSet_insertzx
static void mw_std_set_zaSet_insertzx (INT in_Nat_1, ARR* in_zaSet_2, ARR* *out_zaSet_3) {
	uint8_t v4;
	ARR* v5;
	INT v6 = mw_std_set_zaSet_offsetzemask(in_Nat_1, in_zaSet_2, &v4, &v5);
	incref(MKINT(v6));
	ARR* v7;
	uint8_t v8 = mw_std_buffer_zaBuffer_u8zo(v5, v6, &v7);
	uint64_t v9 = (uint64_t)(v4);
	uint64_t v10 = (uint64_t)(v8);
	uint64_t v11 = (v9 | v10);
	uint8_t v12 = (uint8_t)(v11);
	ARR* v13;
	mw_std_buffer_zaBuffer_u8zx(v7, v12, v6, &v13);
	*out_zaSet_3 = v13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
movq -0x8(%rbp), %rdi
leaq -0x19(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x21d510
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x1742a9(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x21d211
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x174284(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x21d211
movq -0x30(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x174259(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x21d211
movq -0x30(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x174234(%rip), %rax    # 0x391428
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 0x21d213
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x21d5f0
movb %al, -0x79(%rbp)
movzbl -0x19(%rbp), %eax
movq %rax, -0x88(%rbp)
movzbl -0x79(%rbp), %eax
movq %rax, -0x90(%rbp)
movq -0x88(%rbp), %rax
orq -0x90(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movb %al, -0x99(%rbp)
movq -0x78(%rbp), %rdi
movb -0x99(%rbp), %al
movq -0x30(%rbp), %rdx
leaq -0xa8(%rbp), %rcx
movzbl %al, %esi
callq 0x336b0
movq -0xa8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_need_Need_free
void mirth_need_Need_free (VAL v) {
	struct mirth_need_Need self = V_mirth_need_Need(v);
	switch (self.tag) {
		case mirth_need_Need_Word: {
			free(self.ptr.Word);
		} break;
		case mirth_need_Need_Block: {
			free(self.ptr.Block);
		} break;
		case mirth_need_Need_TagWord: {
			free(self.ptr.TagWord);
		} break;
		case mirth_need_Need_TagPattern: {
			free(self.ptr.TagPattern);
		} break;
		case mirth_need_Need_Label: {
			free(self.ptr.Label);
		} 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 0x21d410
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x20(%rbp), %eax
movq %rax, -0x28(%rbp)
subq $0x4, %rax
ja 0x21d31a
movq -0x28(%rbp), %rax
leaq 0x135c50(%rip), %rcx    # 0x352f2c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x21d31a
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x21d31a
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x21d31a
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x21d31a
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_set_zaSet_memberzy
static bool mw_std_set_zaSet_memberzy (INT in_Nat_1, ARR* in_zaSet_2, ARR* *out_zaSet_4) {
	uint8_t v5;
	ARR* v6;
	INT v7 = mw_std_set_zaSet_offsetzemask(in_Nat_1, in_zaSet_2, &v5, &v6);
	ARR* v8;
	uint8_t v9 = mw_std_buffer_zaBuffer_u8zo(v6, v7, &v8);
	uint64_t v10 = (uint64_t)(v5);
	uint64_t v11 = (uint64_t)(v9);
	uint64_t v12 = (v10 & v11);
	uint8_t v13 = (uint8_t)(v12);
	uint64_t v14 = (uint64_t)(v13);
	INT v15 = u64_to_int(v14);
	INT v16 = WRAP_I63(0LL);
	bool v17 = int_eq(v15, v16);
	bool v18 = !v17;
	*out_zaSet_4 = v8;
	return v18;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
movq -0x8(%rbp), %rdi
leaq -0x19(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x21d510
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x21d5f0
movb %al, -0x39(%rbp)
movzbl -0x19(%rbp), %eax
movq %rax, -0x48(%rbp)
movzbl -0x39(%rbp), %eax
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rax
andq -0x50(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movb %al, -0x59(%rbp)
movzbl -0x59(%rbp), %eax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x1b520
movq %rax, -0x70(%rbp)
movq 0x15157d(%rip), %rax    # 0x36ea50
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x79(%rbp)
movb -0x79(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x7a(%rbp)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0x7a(%rbp), %al
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_set_zaSet_offsetzemask
static INT mw_std_set_zaSet_offsetzemask (INT in_Nat_1, ARR* in_zaSet_2, uint8_t *out_U8_4, ARR* *out_zaSet_5) {
	INT v6 = WRAP_I63(8LL);
	INT v7 = in_Nat_1;
	INT v8 = v6;
	INT v9;
	INT v10 = int_divmod(v7, v8, &v9);
	INT v11 = v9;
	INT v12 = v10;
	INT v13 = v12;
	INT v14 = v11;
	uint64_t v15 = int_to_u64(v14);
	uint8_t v16 = (uint8_t)(v15);
	uint8_t v17 = 1;
	uint64_t v18 = (uint64_t)(v17);
	uint64_t v19 = (uint64_t)(v16);
	uint64_t v20 = u64_shl(v18, v19);
	uint8_t v21 = (uint8_t)(v20);
	*out_zaSet_5 = in_zaSet_2;
	*out_U8_4 = v21;
	return v13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq 0x15154e(%rip), %rax    # 0x36ea80
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x41390
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x1b680
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movb %al, -0x71(%rbp)
movb $0x1, -0x72(%rbp)
movzbl -0x72(%rbp), %eax
movq %rax, -0x80(%rbp)
movzbl -0x71(%rbp), %eax
movq %rax, -0x88(%rbp)
movq -0x80(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x40bf0
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movb %al, -0x91(%rbp)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movb -0x91(%rbp), %cl
movq -0x20(%rbp), %rax
movb %cl, (%rax)
movq -0x8(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_buffer_zaBuffer_u8zo
static uint8_t mw_std_buffer_zaBuffer_u8zo (ARR* in_zaBuffer_1, INT in_Offset_2, ARR* *out_zaBuffer_3) {
	INT v5 = WRAP_I63(1LL);
	ARR* v6;
	INT v7 = mw_std_buffer_zaBuffer_preparezespanzx(in_zaBuffer_1, in_Offset_2, v5, &v6);
	ARR* v8;
	void* v9 = mw_std_buffer_zaBuffer_base(v6, &v8);
	void* v10 = mw_std_prelude_unsafe_1_sp5(v7, v9);
	uint8_t v11 = *(uint8_t*)v10;
	*out_zaBuffer_3 = v8;
	return v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rsi, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq 0x15144d(%rip), %rax    # 0x36ea58
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x34560
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x33730
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rsi
movq -0x30(%rbp), %rdi
callq 0x34660
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movb (%rax), %al
movb %al, -0x49(%rbp)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0x49(%rbp), %al
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_need_Need_Word
static uint64_t mtp_mirth_need_Need_Word (struct mirth_need_Need in_Need_1) {
	struct mirth_need_Need_Word v3 = *in_Need_1.ptr.Word;
	if (!--(in_Need_1.ptr.Word->refs)) {
		free(in_Need_1.ptr.Word);
	} else {
	}
	return v3.mWord;
}

// 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 0x21d6ad
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x21d6af
jmp 0x21d6af
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_need_Need_Block
static uint64_t mtp_mirth_need_Need_Block (struct mirth_need_Need in_Need_1) {
	struct mirth_need_Need_Block v3 = *in_Need_1.ptr.Block;
	if (!--(in_Need_1.ptr.Block->refs)) {
		free(in_Need_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 0x21d6fd
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x21d6ff
jmp 0x21d6ff
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_need_Need_TagWord
static uint64_t mtp_mirth_need_Need_TagWord (struct mirth_need_Need in_Need_1) {
	struct mirth_need_Need_TagWord v3 = *in_Need_1.ptr.TagWord;
	if (!--(in_Need_1.ptr.TagWord->refs)) {
		free(in_Need_1.ptr.TagWord);
	} else {
	}
	return v3.mTag;
}

// 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 0x21d74d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x21d74f
jmp 0x21d74f
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_need_Need_TagPattern
static uint64_t mtp_mirth_need_Need_TagPattern (struct mirth_need_Need in_Need_1) {
	struct mirth_need_Need_TagPattern v3 = *in_Need_1.ptr.TagPattern;
	if (!--(in_Need_1.ptr.TagPattern->refs)) {
		free(in_Need_1.ptr.TagPattern);
	} else {
	}
	return v3.mTag;
}

// 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 0x21d79d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x21d79f
jmp 0x21d79f
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_need_Need_TagWord
static struct mirth_need_Need mtw_mirth_need_Need_TagWord (uint64_t in_Tag_1) {
	struct mirth_need_Need_TagWord* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mTag = in_Tag_1;
	struct mirth_need_Need v4 = { .tag=mirth_need_Need_TagWord, .ptr.TagWord=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 0x21d8b0
movl $0x2, %edi
leaq 0x13f595(%rip), %rsi    # 0x35ce27
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21d8b2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x2, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_need_Need_TagPattern
static struct mirth_need_Need mtw_mirth_need_Need_TagPattern (uint64_t in_Tag_1) {
	struct mirth_need_Need_TagPattern* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mTag = in_Tag_1;
	struct mirth_need_Need v4 = { .tag=mirth_need_Need_TagPattern, .ptr.TagPattern=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 0x21f080
movl $0x2, %edi
leaq 0x13ddf7(%rip), %rsi    # 0x35ce59
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21f082
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x3, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_arrow_Block_tozerunzevar
static struct std_maybe_Maybe_1 mw_mirth_arrow_Block_tozerunzevar (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Block_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_arrow_Arrow* v6 = mw_mirth_arrow_Block_arrow(in_zaMirth_1, in_Block_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	struct std_maybe_Maybe_1 v8 = mw_mirth_arrow_Arrow_tozerunzevar(v5, v6, &v7);
	*out_zaMirth_3 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %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 0xc4670
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x21f190
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x40(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_arrow_Atom_tozerunzevar
static struct std_maybe_Maybe_1 mw_mirth_arrow_Atom_tozerunzevar (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_arrow_Atom* in_Atom_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_arrow_Op v5 = in_Atom_2->mop;
	incref(MK_mirth_arrow_Op(v5));
	decref(MK_mirth_arrow_Atom(in_Atom_2));
	struct mirth_mirth_zaMirth* v6;
	struct std_maybe_Maybe_1 v7 = mw_mirth_arrow_Op_tozerunzevar(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 0x30(%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0x38(%rax), %rax
movq %rax, -0x30(%rbp)
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x122ee0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x21f530
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x122ee0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x21f530
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x122ee0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x21f530
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x122ee0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x21f532
jmp 0x21f534
movq -0x20(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x1733fa(%rip), %rax    # 0x392940
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x21f632
movq -0x20(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x1733ce(%rip), %rax    # 0x392940
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x98(%rbp), %rax
cmpq $0x0, %rax
je 0x21f632
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x173396(%rip), %rax    # 0x392940
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x21f632
movq -0x20(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x173368(%rip), %rax    # 0x392940
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x21f630
movq -0x20(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq 0x17332e(%rip), %rax    # 0x392940
orq $0x1, %rax
movq %rax, -0xc0(%rbp)
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x127c0
jmp 0x21f632
jmp 0x21f634
movq -0x18(%rbp), %rdi
movl -0x38(%rbp), %esi
movq -0x30(%rbp), %rdx
leaq -0xd0(%rbp), %rcx
callq 0x21f670
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0xd0(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xd0, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_need_Need_Block
static struct mirth_need_Need mtw_mirth_need_Need_Block (uint64_t in_Block_1) {
	struct mirth_need_Need_Block* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mBlock = in_Block_1;
	struct mirth_need_Need v4 = { .tag=mirth_need_Need_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 0x21fa50
movl $0x2, %edi
leaq 0x13d459(%rip), %rsi    # 0x35ce8b
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21fa52
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_need_Need_Label
static struct mirth_need_Need mtw_mirth_need_Need_Label (uint64_t in_Label_1) {
	struct mirth_need_Need_Label* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mLabel = in_Label_1;
	struct mirth_need_Need v4 = { .tag=mirth_need_Need_Label, .ptr.Label=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 0x21fae0
movl $0x2, %edi
leaq 0x13d3fb(%rip), %rsi    # 0x35cebd
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21fae2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x4, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_std_file_IOError_CreateFailed
static struct std_file_IOError mtw_std_file_IOError_CreateFailed (STR* in_Path_1, int64_t in_Errno_2) {
	struct std_file_IOError_CreateFailed* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mErrno = in_Errno_2;
	v4->mPath = in_Path_1;
	struct std_file_IOError v5 = { .tag=std_file_IOError_CreateFailed, .ptr.CreateFailed=v4 };
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x21fea4
movl $0x2, %edi
leaq 0x13d069(%rip), %rsi    # 0x35ceef
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21fea6
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_std_file_IOError_CreateUnsupported
static struct std_file_IOError mtw_std_file_IOError_CreateUnsupported (STR* in_Path_1) {
	struct std_file_IOError_CreateUnsupported* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mPath = in_Path_1;
	struct std_file_IOError v4 = { .tag=std_file_IOError_CreateUnsupported, .ptr.CreateUnsupported=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 0x21ff40
movl $0x2, %edi
leaq 0x13cfff(%rip), %rsi    # 0x35cf21
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21ff42
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x2, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)