LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_std_list_Nest_1_Nest
static struct std_list_Nest_1* mtw_std_list_Nest_1_Nest (VAL in_t_1, struct std_list_List_1 in_List_2) {
	struct std_list_Nest_1* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mtail = in_List_2;
	v4->mhead = in_t_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %edx, -0x20(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x1ec6b
movl $0x2, %edi
leaq 0x335a9f(%rip), %rsi    # 0x3546ec
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1ec6d
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_std_list_Nest_1_Nest
static void mtp_std_list_Nest_1_Nest (struct std_list_Nest_1* in_Nest_1, VAL *out_t_2, struct std_list_List_1 *out_List_3) {
	struct std_list_Nest_1 v4 = *in_Nest_1;
	if (!--(in_Nest_1->refs)) {
		free(in_Nest_1);
	} else {
		incref(v4.mhead);
		incref(MK_std_list_List_1(v4.mtail));
	}
	*out_List_3 = v4.mtail;
	*out_t_2 = v4.mhead;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x40(%rbp), %rdi
movl $0x28, %edx
callq 0x50e0
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1efc7
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x1f0ab
jmp 0x1efc9
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1f00e
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x1f00e
movq -0x38(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1f00e
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1f010
jmp 0x1f012
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x12780
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x48(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1f0a7
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x12780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
cmpq $0x0, %rax
je 0x1f0a7
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x12780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1f0a7
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x12780
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1f0a9
jmp 0x1f0ab
movq -0x18(%rbp), %rax
movq -0x28(%rbp), %rcx
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq -0x38(%rbp), %rcx
movq %rcx, (%rax)
movq -0x30(%rbp), %rcx
movq %rcx, 0x8(%rax)
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_list_Nest_1_zgList
static struct std_list_List_1 mw_std_list_Nest_1_zgList (struct std_list_Nest_1* in_Nest_1) {
	struct std_list_List_1 v3;
	VAL v4 = mw_std_list_Nest_1_zfCons(in_Nest_1, &v3);
	struct std_list_List_1 v5 = mw_std_list_List_1_cons(v4, v3);
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x1f1d0
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl -0x28(%rbp), %edx
movq -0x20(%rbp), %rcx
callq 0x12740
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_list_Nest_1_zfCons
static VAL mw_std_list_Nest_1_zfCons (struct std_list_Nest_1* in_Nest_1, struct std_list_List_1 *out_List_3) {
	VAL v4;
	struct std_list_List_1 v5;
	mtp_std_list_Nest_1_Nest(in_Nest_1, &v4, &v5);
	*out_List_3 = v5;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x1ef80
movq -0x20(%rbp), %rax
movups -0x30(%rbp), %xmm0
movups %xmm0, (%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_list_List_1_singlezy
static struct std_maybe_Maybe_1 mw_std_list_List_1_singlezy (struct std_list_List_1 in_List_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_List_1).tag) {
		case std_list_List_1_Nil: {
			struct std_maybe_Maybe_1 v4 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v4;
		} break;
		case std_list_List_1_Cons: {
			struct std_list_List_1 v5;
			VAL v6 = mtp_std_list_List_1_Cons(in_List_1, &v5);
			bool v7 = mw_std_list_List_1_emptyzy(v5);
			struct std_maybe_Maybe_1 branch_Maybe_8;
			if (v7) {
				struct std_maybe_Maybe_1 v9 = mtw_std_maybe_Maybe_1_Some(v6);
				branch_Maybe_8 = v9;
			} else {
				decref(v6);
				struct std_maybe_Maybe_1 v10 = { .tag=std_maybe_Maybe_1_None };
				branch_Maybe_8 = v10;
			}
			branch_Maybe_3 = branch_Maybe_8;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x8c(%rbp)
testl %eax, %eax
je 0x1f281
jmp 0x1f271
movl -0x8c(%rbp), %eax
subl $0x1, %eax
je 0x1f2a6
jmp 0x1f393
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1f3ac
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x125e0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x1f3c0
andb $0x1, %al
movb %al, -0x51(%rbp)
testb $0x1, -0x51(%rbp)
je 0x1f2fe
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0xca10
movl %eax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x1f381
jmp 0x1f300
movq -0x48(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1f359
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x1f359
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1f359
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1f357
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x127c0
jmp 0x1f359
jmp 0x1f35b
leaq -0x88(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x88(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1f3ac
leaq 0x334ae7(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x90, %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_emptyzy
static bool mw_std_list_List_1_emptyzy (struct std_list_List_1 in_List_1) {
	int64_t v3 = (in_List_1).tag;
	decref(MK_std_list_List_1(in_List_1));
	INT v4 = WRAP_I63(0LL);
	INT v5 = v4;
	INT v6 = i64_to_int(v3);
	bool v7 = int_eq(v6, v5);
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq %rax, -0x18(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1f49a
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x1f49a
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1f49a
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1f498
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x1f49a
jmp 0x1f49c
movq 0x34f5ad(%rip), %rax    # 0x36ea50
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1a290
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x81(%rbp)
movb -0x81(%rbp), %al
andb $0x1, %al
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: str_alloc
static STR* str_alloc (USIZE cap) {
    ASSERT(cap <= SIZE_MAX - sizeof(STR) - 4);
    STR* str = calloc(1, (size_t)(cap + sizeof(STR) + 4));
    EXPECT(str, "failed to allocate string");
    str->refs = 1;
    str->cap = cap;
    return str;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $-0x1d, -0x8(%rbp)
jbe 0x1f88d
movl $0x2, %edi
leaq 0x335003(%rip), %rsi    # 0x354872
movl $0x4e, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1f88f
movq -0x8(%rbp), %rsi
addq $0x18, %rsi
addq $0x4, %rsi
movl $0x1, %edi
callq 0x50c0
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x1f8da
movl $0x2, %edi
leaq 0x335005(%rip), %rsi    # 0x3548c1
movl $0x1a, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1f8dc
movq -0x10(%rbp), %rax
movl $0x1, (%rax)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: tup_free
static void tup_free (VAL v) {
    PTUP ptup = VTUP(v);
    if (PTRISPTR(ptup)) {
        TUP* tup = PTRPTR(ptup);
        for (TUPLEN i = 0; i < tup->size; i++) {
            decref(tup->cells[i]);
        }
        free(tup);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x18(%rbp), %rax
cmpq $0x0, %rax
je 0x1fa46
movq -0x18(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1fa46
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movw $0x0, -0x22(%rbp)
movzwl -0x22(%rbp), %eax
movq -0x20(%rbp), %rcx
movzwl 0x6(%rcx), %ecx
cmpl %ecx, %eax
jge 0x1fa3d
jmp 0x1f970
movq -0x20(%rbp), %rax
addq $0x8, %rax
movzwl -0x22(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1fa28
movq -0x20(%rbp), %rcx
addq $0x8, %rcx
movzwl -0x22(%rbp), %eax
shlq $0x4, %rax
addq %rax, %rcx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq (%rcx), %rax
cmpq $0x0, %rax
je 0x1fa28
movq -0x20(%rbp), %rax
addq $0x8, %rax
movzwl -0x22(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1fa28
movq -0x20(%rbp), %rax
addq $0x8, %rax
movzwl -0x22(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq (%rax), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1fa26
movq -0x20(%rbp), %rax
addq $0x8, %rax
movzwl -0x22(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdi
movq 0x8(%rax), %rsi
callq 0x127c0
jmp 0x1fa28
jmp 0x1fa2a
jmp 0x1fa2c
movw -0x22(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x22(%rbp)
jmp 0x1f95a
movq -0x20(%rbp), %rdi
callq 0x5030
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: tup_trace_
static void tup_trace_(VAL v, int fd) {
    TUPLEN len = VTUPLEN(v);
    PTUP ptup = VTUP(v);
    if (PTREXTRA(ptup)) {
        write(fd,"#",1);
        u64_trace_(MKU64(PTREXTRA(ptup)),fd);
    }
    if (len == 0) {
        write(fd, "[]", 2);
    } else {
        ASSERT(PTRISPTR(ptup));
        TUP* tup = PTRPTR(ptup);
        write(fd, "[ ", 2);
        for(TUPLEN i = 0; i < len; i++) {
            if (i > 0) write(fd, " ", 1);
            value_trace_(tup->cells[i], fd);
        }
        write(fd, " ]", 2);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1fdc0
movw %ax, -0x16(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
shrq $0x30, %rax
cmpq $0x0, %rax
je 0x1fac1
movl -0x14(%rbp), %edi
leaq 0x334e85(%rip), %rsi    # 0x354915
movl $0x1, %edx
callq 0x5060
movq -0x20(%rbp), %rax
shrq $0x30, %rax
movq %rax, -0x30(%rbp)
leaq 0x3719c3(%rip), %rax    # 0x391470
movq %rax, -0x28(%rbp)
movl -0x14(%rbp), %edx
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x1fe20
movzwl -0x16(%rbp), %eax
cmpl $0x0, %eax
jne 0x1fae3
movl -0x14(%rbp), %edi
leaq 0x334e43(%rip), %rsi    # 0x354917
movl $0x2, %edx
callq 0x5060
jmp 0x1fbcc
jmp 0x1fae5
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x20(%rbp), %rax
cmpq $0x0, %rax
je 0x1fb07
movq -0x20(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
je 0x1fb31
movl $0x2, %edi
leaq 0x334e07(%rip), %rsi    # 0x35491a
movl $0x3c, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1fb33
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movl -0x14(%rbp), %edi
leaq 0x334e08(%rip), %rsi    # 0x354957
movl $0x2, %edx
callq 0x5060
movw $0x0, -0x3a(%rbp)
movzwl -0x3a(%rbp), %eax
movzwl -0x16(%rbp), %ecx
cmpl %ecx, %eax
jge 0x1fbb8
movzwl -0x3a(%rbp), %eax
cmpl $0x0, %eax
jle 0x1fb88
movl -0x14(%rbp), %edi
leaq 0x335a28(%rip), %rsi    # 0x3555a6
movl $0x1, %edx
callq 0x5060
movq -0x38(%rbp), %rax
addq $0x8, %rax
movzwl -0x3a(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movl -0x14(%rbp), %edx
movq (%rax), %rdi
movq 0x8(%rax), %rsi
callq 0x5bc0
movw -0x3a(%rbp), %ax
addw $0x1, %ax
movw %ax, -0x3a(%rbp)
jmp 0x1fb5f
movl -0x14(%rbp), %edi
leaq 0x334d98(%rip), %rsi    # 0x35495a
movl $0x2, %edx
callq 0x5060
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: tup_run
static void tup_run(VAL v) {
    ASSERT(VTUPLEN(v)>0);
    PTUP p = VTUP(v);
    ASSERT(PTRISPTR(p));
    TUP* t = PTRPTR(p);
    VAL h = t->cells[0];
    ASSERT(IS_FNPTR(h));
    push_value(v);
    VFNPTR(h)();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1fdc0
movzwl %ax, %eax
cmpl $0x0, %eax
jg 0x1fc2b
movl $0x2, %edi
leaq 0x334d50(%rip), %rsi    # 0x35495d
movl $0x39, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1fc2d
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x18(%rbp), %rax
cmpq $0x0, %rax
je 0x1fc57
movq -0x18(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
je 0x1fc81
movl $0x2, %edi
leaq 0x334d34(%rip), %rsi    # 0x354997
movl $0x38, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1fc83
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
leaq 0x371538(%rip), %rax    # 0x3911e8
cmpq %rax, -0x28(%rbp)
je 0x1fce0
movl $0x2, %edi
leaq 0x334d0e(%rip), %rsi    # 0x3549d0
movl $0x38, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1fce2
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x12cc0
callq *-0x30(%rbp)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: tup_len_
static TUPLEN tup_len_ (PTUP ptup) {
    if (PTRISPTR(ptup)) {
        TUP* tup = PTRPTR(ptup);
        return tup->size;
    } else {
        return 0;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
cmpq $0x0, %rax
je 0x1fe0a
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1fe0a
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movw 0x6(%rax), %ax
movw %ax, -0x2(%rbp)
jmp 0x1fe10
movw $0x0, -0x2(%rbp)
movw -0x2(%rbp), %ax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: argzeparser_types_ArgumentParsingError_free
void argzeparser_types_ArgumentParsingError_free (VAL v) {
	struct argzeparser_types_ArgumentParsingError self = V_argzeparser_types_ArgumentParsingError(v);
	switch (self.tag) {
		case argzeparser_types_ArgumentParsingError_MissingArgValue: break;
		case argzeparser_types_ArgumentParsingError_MissingArg: {
			decref(MKSTR(self.ptr.MissingArg->mStr));
			free(self.ptr.MissingArg);
		} break;
		case argzeparser_types_ArgumentParsingError_TooManyArgs: break;
		case argzeparser_types_ArgumentParsingError_TooFewArgs: break;
		case argzeparser_types_ArgumentParsingError_UnknownArg: break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0xc0c0
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x20(%rbp), %eax
movq %rax, -0x78(%rbp)
subq $0x4, %rax
ja 0x2007e
movq -0x78(%rbp), %rax
leaq 0x331149(%rip), %rcx    # 0x3510bc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x2007e
jmp 0x1ff83
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
leaq 0x3711c2(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2006b
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x40(%rbp)
leaq 0x371195(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x2006b
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x50(%rbp)
leaq 0x371162(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2006b
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x60(%rbp)
leaq 0x371139(%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 0x20069
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x70(%rbp)
leaq 0x371104(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x2006b
jmp 0x2006d
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x2007e
jmp 0x2007e
jmp 0x2007e
jmp 0x2007e
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: argzeparser_state_CurrentArg_free
static void argzeparser_state_CurrentArg_free (VAL vself) {
	ASSERT(vself.tag == TAG_argzeparser_state_CurrentArg);
	struct argzeparser_state_CurrentArg* self = vself.data.ptr;
	decref(MK_std_maybe_Maybe_1(self->moption));
	decref(MK_std_maybe_Maybe_1(self->moptionzeoption));
	free(self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
leaq 0x37094a(%rip), %rcx    # 0x391548
orq $0x1, %rcx
cmpq %rcx, %rax
je 0x20c31
movl $0x2, %edi
leaq 0x333f5c(%rip), %rsi    # 0x354b6f
movl $0x5b, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x20c33
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x133a0
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x20d10
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x133a0
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x20d10
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x133a0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x20d10
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x133a0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x20d0e
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x133a0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x20d10
jmp 0x20d12
jmp 0x20d14
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x133a0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x20e11
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x133a0
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x20e11
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x133a0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x20e11
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x133a0
movq %rax, -0xa8(%rbp)
movq %rdx, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x20e0f
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x133a0
movq %rax, -0xb8(%rbp)
movq %rdx, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x127c0
jmp 0x20e11
jmp 0x20e13
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0xc0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: int_trace_
static void int_trace_(VAL v, int fd) {
    ASSERT(IS_INT(v));
    INT x = VINT(v);
    incref(v);
    STR* s = int_to_str(x);
    write(fd, s->data, s->size);
    decref(MKSTR(s));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rax
leaq 0x370497(%rip), %rcx    # 0x391428
orq $0x1, %rcx
cmpq %rcx, %rax
je 0x20fc4
movl $0x2, %edi
leaq 0x333c6e(%rip), %rsi    # 0x354c14
movl $0x37, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x20fc6
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x21013
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
cmpq $0x0, %rax
je 0x21013
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x21013
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x21015
movq -0x20(%rbp), %rdi
callq 0x211e0
movq %rax, -0x28(%rbp)
movl -0x14(%rbp), %edi
movq -0x28(%rbp), %rsi
addq $0x18, %rsi
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rdx
callq 0x5060
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x37010f(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2110a
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x3700e6(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x2110a
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x3700bb(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2110a
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x370096(%rip), %rax    # 0x391158
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 0x21108
movq -0x28(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x370065(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x127c0
jmp 0x2110a
jmp 0x2110c
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_argzeparser_state_State_1_init
static struct argzeparser_state_State_1* mw_argzeparser_state_State_1_init (VAL in_a_1) {
	struct std_list_List_1 v3 = mw_argzeparser_parse_argvzetozestr();
	INT v4 = WRAP_I63(0LL);
	STR* v5 = mw_std_prelude_unsafe_1_sp23(v4);
	struct argzeparser_state_ArgvInfo* v6 = mtw_argzeparser_state_ArgvInfo_ArgvInfo(v3, v5);
	bool v7 = false;
	struct std_maybe_Maybe_1 v8 = { .tag=std_maybe_Maybe_1_None };
	struct std_maybe_Maybe_1 v9 = { .tag=std_maybe_Maybe_1_None };
	struct argzeparser_state_CurrentArg* v10 = mtw_argzeparser_state_CurrentArg_CurrentArg(v7, v8, v9);
	INT v11 = WRAP_I63(0LL);
	INT v12 = WRAP_I63(0LL);
	struct std_maybe_Maybe_1 v13 = { .tag=std_maybe_Maybe_1_None };
	struct argzeparser_state_State_1* v14 = mtw_argzeparser_state_State_1_State(in_a_1, v6, v10, v11, v12, v13);
	return v14;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
callq 0x29dd0
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq 0x34cf2a(%rip), %rax    # 0x36ea50
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x2a1f0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdx
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x2a220
movq %rax, -0x38(%rbp)
movb $0x0, -0x39(%rbp)
leaq -0x50(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
leaq -0x60(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movb -0x39(%rbp), %al
movl -0x50(%rbp), %esi
movq -0x48(%rbp), %rdx
movl -0x60(%rbp), %ecx
movq -0x58(%rbp), %r8
andb $0x1, %al
movzbl %al, %edi
callq 0x2a2b0
movq %rax, -0x68(%rbp)
movq 0x34cebb(%rip), %rax    # 0x36ea50
movq %rax, -0x70(%rbp)
movq 0x34ceb0(%rip), %rax    # 0x36ea50
movq %rax, -0x78(%rbp)
leaq -0x88(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x38(%rbp), %rdx
movq -0x68(%rbp), %rcx
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x70(%rbp), %r8
movq -0x78(%rbp), %r9
leaq -0x88(%rbp), %rax
movq (%rax), %r10
movq %r10, (%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
callq 0x2a360
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_argzeparser_types_zaArgumentParser_1_zaArgumentParser
static void mtw_argzeparser_types_zaArgumentParser_1_zaArgumentParser (struct argzeparser_types_ArgumentParser_1* in_ArgumentParser_1, struct argzeparser_state_State_1* in_State_2, struct argzeparser_types_zaArgumentParser_1* *out_zaArgumentParser_3) {
	struct argzeparser_types_zaArgumentParser_1* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->mstate = in_State_2;
	v4->margumentzeparser = in_ArgumentParser_1;
	*out_zaArgumentParser_3 = v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x21c68
movl $0x2, %edi
leaq 0x333280(%rip), %rsi    # 0x354eca
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x21c6a
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x18(%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_std_result_Result_2_Err
static struct std_result_Result_2 mtw_std_result_Result_2_Err (VAL in_e_1) {
	struct std_result_Result_2_Err* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->m0 = in_e_1;
	struct std_result_Result_2 v4 = { .tag=std_result_Result_2_Err, .ptr.Err=v3 };
	return v4;
}

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x29b94
movl $0x2, %edi
leaq 0x32ba64(%rip), %rsi    # 0x3555da
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x29b96
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_argzeparser_types_zaArgumentParser_1_rdrop
static void mw_argzeparser_types_zaArgumentParser_1_rdrop (struct argzeparser_types_zaArgumentParser_1* in_zaArgumentParser_1) {
	struct argzeparser_types_ArgumentParser_1* v2;
	struct argzeparser_state_State_1* v3;
	mtp_argzeparser_types_zaArgumentParser_1_zaArgumentParser(in_zaArgumentParser_1, &v2, &v3);
	decref(MK_argzeparser_types_ArgumentParser_1(v2));
	decref(MK_argzeparser_state_State_1(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x39e20
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x367991(%rip), %rax    # 0x391590
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x29cc0
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x367968(%rip), %rax    # 0x391590
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x29cc0
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x36793d(%rip), %rax    # 0x391590
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x29cc0
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x367918(%rip), %rax    # 0x391590
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 0x29cbe
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x3678e7(%rip), %rax    # 0x391590
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x29cc0
jmp 0x29cc2
jmp 0x29cc4
movq -0x18(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x36770d(%rip), %rax    # 0x3913e0
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x29dbc
movq -0x18(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x3676e1(%rip), %rax    # 0x3913e0
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x29dbc
movq -0x18(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x3676ac(%rip), %rax    # 0x3913e0
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x29dbc
movq -0x18(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x36767e(%rip), %rax    # 0x3913e0
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x29dba
movq -0x18(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x367644(%rip), %rax    # 0x3913e0
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x127c0
jmp 0x29dbc
jmp 0x29dbe
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_argzeparser_state_ArgvInfo_ArgvInfo
static struct argzeparser_state_ArgvInfo* mtw_argzeparser_state_ArgvInfo_ArgvInfo (struct std_list_List_1 in_List_1, STR* in_Str_2) {
	struct argzeparser_state_ArgvInfo* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mprogramzename = in_Str_2;
	v4->margv = in_List_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, %edi
movl $0x20, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x2a277
movl $0x2, %edi
leaq 0x32abdb(%rip), %rsi    # 0x354e34
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x2a279
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_argzeparser_state_CurrentArg_CurrentArg
static struct argzeparser_state_CurrentArg* mtw_argzeparser_state_CurrentArg_CurrentArg (bool in_Bool_1, struct std_maybe_Maybe_1 in_Maybe_2, struct std_maybe_Maybe_1 in_Maybe_3) {
	struct argzeparser_state_CurrentArg* v5 = calloc(1, sizeof *v5);
	ASSERT(v5);
	v5->refs = 1;
	v5->moptionzeoption = in_Maybe_3;
	v5->moption = in_Maybe_2;
	v5->mparsingzy = in_Bool_1;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movb %dil, %al
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x21(%rbp)
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x2a312
movl $0x2, %edi
leaq 0x32ab72(%rip), %rsi    # 0x354e66
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x2a314
movq -0x30(%rbp), %rax
movl $0x1, (%rax)
movq -0x30(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x30(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movb -0x21(%rbp), %cl
movq -0x30(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x4(%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_argzeparser_state_State_1_State
static struct argzeparser_state_State_1* mtw_argzeparser_state_State_1_State (VAL in_a_1, struct argzeparser_state_ArgvInfo* in_ArgvInfo_2, struct argzeparser_state_CurrentArg* in_CurrentArg_3, INT in_Int_4, INT in_Int_5, struct std_maybe_Maybe_1 in_Maybe_6) {
	struct argzeparser_state_State_1* v8 = calloc(1, sizeof *v8);
	ASSERT(v8);
	v8->refs = 1;
	v8->merror = in_Maybe_6;
	v8->mlongestzeargzelength = in_Int_5;
	v8->mpositionalzeindex = in_Int_4;
	v8->marg = in_CurrentArg_3;
	v8->margvzeinfo = in_ArgvInfo_2;
	v8->marguments = in_a_1;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %r8, -0x18(%rbp)
movq %r9, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movl $0x1, %edi
movl $0x48, %esi
callq 0x50c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x2a3cc
movl $0x2, %edi
leaq 0x32aaea(%rip), %rsi    # 0x354e98
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x2a3ce
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl $0x1, (%rax)
movq -0x38(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, 0x38(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x40(%rax)
movq -0x38(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x30(%rax)
movq -0x38(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rcx, 0x28(%rax)
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x38(%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: int_mul
static INT int_mul(INT a, INT b) {
    if (IS_I63(a)) {
        if (IS_I63(b)) {
            return i63_i63_mul(GET_I63(a),GET_I63(b));
        } else {
            return big_i63_mul(GET_BIG(b),GET_I63(a));
        }
    } else {
        if (IS_I63(b)) {
            return big_i63_mul(GET_BIG(a),GET_I63(b));
        } else {
            return big_big_mul(GET_BIG(a),GET_BIG(b));
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2b115
movq -0x18(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2b0f1
movq -0x10(%rbp), %rax
subq $0x1, %rax
movl $0x2, %ecx
cqto
idivq %rcx
movq %rax, %rdi
movq -0x18(%rbp), %rax
subq $0x1, %rax
movl $0x2, %ecx
cqto
idivq %rcx
movq %rax, %rsi
callq 0x2b1a0
movq %rax, -0x8(%rbp)
jmp 0x2b158
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
subq $0x1, %rax
movl $0x2, %ecx
cqto
idivq %rcx
movq %rax, %rsi
callq 0x2b3c0
movq %rax, -0x8(%rbp)
jmp 0x2b158
movq -0x18(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2b147
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
subq $0x1, %rax
movl $0x2, %ecx
cqto
idivq %rcx
movq %rax, %rsi
callq 0x2b3c0
movq %rax, -0x8(%rbp)
jmp 0x2b158
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x2b4d0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %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: big_i63_mul
static INT big_i63_mul (BIG* a, int64_t b) {
    if (b == 0) { big_decref(a); return WRAP_I63(0); }
    if (b == 1) { return WRAP_BIG(a); }
    if (b == -1) { return big_negate(a); }
    BIG* accum = big_alloc(a->size + 3);
    accum->size = a->size + 2;
    big_u32_mul_shift_accum_(accum, a, LO_RADIX(b), 0);
    big_u32_mul_shift_accum_(accum, a, HI_RADIX(b), 1);
    uint32_t bn = NEXT_RADIX(HI_RADIX(b));
    if (b < 0) { big_negate_shift_accum_(accum, a, 2); }
    big_decref(a);
    return big_normalize(accum);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2b3ed
movq -0x10(%rbp), %rdi
callq 0x1c3a0
movq $0x1, -0x8(%rbp)
jmp 0x2b4c5
cmpq $0x1, -0x18(%rbp)
jne 0x2b401
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2b4c5
cmpq $-0x1, -0x18(%rbp)
jne 0x2b41a
movq -0x10(%rbp), %rdi
callq 0x1c850
movq %rax, -0x8(%rbp)
jmp 0x2b4c5
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
addq $0x3, %rdi
callq 0x5250
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
addq $0x2, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movl %eax, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x2b5f0
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
shrq $0x20, %rax
movl %eax, %edx
movl $0x1, %ecx
callq 0x2b5f0
movq -0x18(%rbp), %rax
shrq $0x20, %rax
movl %eax, %edx
andl $0x80000000, %edx       # imm = 0x80000000
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x24(%rbp)
cmpq $0x0, -0x18(%rbp)
jge 0x2b4af
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x2, %edx
callq 0x2b710
movq -0x10(%rbp), %rdi
callq 0x1c3a0
movq -0x20(%rbp), %rdi
callq 0x1cad0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: big_big_mul
static INT big_big_mul (BIG* a, BIG* b) {

    if (a->size > b->size) { BIG*t=a; a=b; b=t; }
    BIG* accum = big_alloc(a->size + b->size + 1);
    accum->size = a->size + b->size;
    for (size_t i = 0; i < b->size; i++) {
        big_u32_mul_shift_accum_(accum, a, b->radix[i], i);
    }
    if (SIGN_RADIX(b)) {
        big_negate_shift_accum_(accum, a, b->size);
    }
    big_decref(a);
    big_decref(b);
    return big_normalize(accum);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jbe 0x2b50a
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rax
addq 0x10(%rax), %rdi
addq $0x1, %rdi
callq 0x5250
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x18(%rbp), %rax
addq 0x10(%rax), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq $0x0, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x2b580
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movl 0x18(%rax,%rcx,4), %edx
movq -0x30(%rbp), %rcx
callq 0x2b5f0
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x2b547
movq -0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
movl 0x18(%rax,%rcx,4), %eax
andl $0x80000000, %eax       # imm = 0x80000000
cmpl $0x0, %eax
je 0x2b5a6
movb $0x1, %al
testb $0x1, %al
jne 0x2b5ae
jmp 0x2b5c3
xorl %eax, %eax
testb $0x1, %al
jne 0x2b5ae
jmp 0x2b5c3
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdx
callq 0x2b710
movq -0x10(%rbp), %rdi
callq 0x1c3a0
movq -0x18(%rbp), %rdi
callq 0x1c3a0
movq -0x28(%rbp), %rdi
callq 0x1cad0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: big_u32_mul_shift_accum_
static void big_u32_mul_shift_accum_(BIG* accum, BIG* a, uint32_t x, size_t shift) {
    if (x == 0) return;
    uint32_t mul_carry = 0;
    uint32_t add_carry = 0;
    uint32_t an = SIGN_RADIX(a);
    for (size_t i=0; i + shift < accum->size; i++) {
        uint32_t ar = (i < a->size) ? a->radix[i] : an;
        uint64_t mul_result = (uint64_t)ar * (uint64_t)x + (uint64_t)mul_carry;
        uint64_t add_result = (uint64_t)accum->radix[i+shift] + (uint64_t)LO_RADIX(mul_result) + (uint64_t)add_carry;
        accum->radix[i+shift] = LO_RADIX(add_result);
        mul_carry = HI_RADIX(mul_result);
        add_carry = HI_RADIX(add_result);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
cmpl $0x0, -0x14(%rbp)
jne 0x2b60e
jmp 0x2b703
movl $0x0, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
movl 0x18(%rax,%rcx,4), %edx
andl $0x80000000, %edx       # imm = 0x80000000
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x2c(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x38(%rbp), %rax
addq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x2b703
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x2b683
movq -0x10(%rbp), %rax
movq -0x38(%rbp), %rcx
movl 0x18(%rax,%rcx,4), %eax
movl %eax, -0x54(%rbp)
jmp 0x2b689
movl -0x2c(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl -0x14(%rbp), %ecx
imulq %rcx, %rax
movl -0x24(%rbp), %ecx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq -0x38(%rbp), %rcx
addq -0x20(%rbp), %rcx
movl 0x18(%rax,%rcx,4), %eax
movq -0x48(%rbp), %rcx
movl %ecx, %ecx
addq %rcx, %rax
movl -0x28(%rbp), %ecx
addq %rcx, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movl %eax, %edx
movq -0x8(%rbp), %rax
movq -0x38(%rbp), %rcx
addq -0x20(%rbp), %rcx
movl %edx, 0x18(%rax,%rcx,4)
movq -0x48(%rbp), %rax
shrq $0x20, %rax
movl %eax, -0x24(%rbp)
movq -0x50(%rbp), %rax
shrq $0x20, %rax
movl %eax, -0x28(%rbp)
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x2b64e
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: big_negate_shift_accum_
static void big_negate_shift_accum_(BIG* accum, BIG* a, size_t shift) {
    uint32_t carry = 1;
    uint32_t an = SIGN_RADIX(a);
    for (size_t i = 0; i+shift < accum->size; i++) {
        uint32_t ar = (i < a->size) ? a->radix[i] : an;
        uint64_t result = (uint64_t)accum->radix[i+shift] + (uint64_t)(~ar) + (uint64_t)carry;
        accum->radix[i+shift] = LO_RADIX(result);
        carry = HI_RADIX(result);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
movl 0x18(%rax,%rcx,4), %edx
andl $0x80000000, %edx       # imm = 0x80000000
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
addq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x2b7f1
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x2b78e
movq -0x10(%rbp), %rax
movq -0x28(%rbp), %rcx
movl 0x18(%rax,%rcx,4), %eax
movl %eax, -0x3c(%rbp)
jmp 0x2b794
movl -0x20(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rax
movq -0x28(%rbp), %rcx
addq -0x18(%rbp), %rcx
movl 0x18(%rax,%rcx,4), %eax
movl -0x2c(%rbp), %ecx
xorl $-0x1, %ecx
movl %ecx, %ecx
addq %rcx, %rax
movl -0x1c(%rbp), %ecx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movl %eax, %edx
movq -0x8(%rbp), %rax
movq -0x28(%rbp), %rcx
addq -0x18(%rbp), %rcx
movl %edx, 0x18(%rax,%rcx,4)
movq -0x38(%rbp), %rax
shrq $0x20, %rax
movl %eax, -0x1c(%rbp)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x2b759
popq %rbp
retq
nopw %cs:(%rax,%rax)