LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_string_a
static goto_t op_implicit_string_a(s7_scheme *sc)
                {
                    s7_int index;
                    s7_pointer s, x, code;
                    code = sc->code;

                    s = lookup_checked(sc, car(code));
                    x = fx_call(sc, cdr(code));
                    if (!is_string(s))
                    {
                        sc->last_function = s;
                        return(fall_through);
                    }
                    if (!s7_is_integer(x))
                    {
                        sc->value = string_ref_1(sc, s, set_plist_1(sc, x));
                        return(goto_start);
                    }
                    index = s7_integer(x);
                    if ((index < string_length(s)) &&
                            (index >= 0))
                    {
                        sc->value = s7_make_character(sc, ((uint8_t *)string_value(s))[index]);
                        return(goto_start);
                    }
                    sc->value = string_ref_1(sc, s, x);
                    return(goto_start);
                }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x58(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x12fa42
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x12fa5a
movq 0x58(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x58(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
je 0x12facf
movq 0x48(%rsp), %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x1ed8(%rax)
movl $0x2, 0x64(%rsp)
jmp 0x12fbaa
movq 0x40(%rsp), %rdi
callq 0x11340
testb $0x1, %al
jne 0x12fb29
movq 0x58(%rsp), %rax
movq %rax, (%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x58(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x35ea0
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq %rax, %rdx
callq 0x16d530
movq %rax, %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x20(%rax)
movl $0x0, 0x64(%rsp)
jmp 0x12fbaa
movq 0x40(%rsp), %rdi
callq 0x10790
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq 0x48(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jge 0x12fb82
cmpq $0x0, 0x50(%rsp)
jl 0x12fb82
movq 0x58(%rsp), %rdi
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x50(%rsp), %rcx
movzbl (%rax,%rcx), %esi
callq 0x14410
movq %rax, %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x20(%rax)
movl $0x0, 0x64(%rsp)
jmp 0x12fbaa
movq 0x58(%rsp), %rdi
movq 0x48(%rsp), %rsi
movq 0x40(%rsp), %rdx
callq 0x16d530
movq %rax, %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x20(%rax)
movl $0x0, 0x64(%rsp)
movl 0x64(%rsp), %eax
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_hash_table_a
static bool op_implicit_hash_table_a(s7_scheme *sc)
                {
                    s7_pointer s;
                    s = lookup_checked(sc, car(sc->code));
                    if (!is_hash_table(s)) {sc->last_function = s; return(false);}
                    sc->value = s7_hash_table_ref(sc, s, fx_call(sc, cdr(sc->code)));
                    return(true);
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rdi
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x38(%rsp)
cmpq $0x0, 0x38(%rsp)
je 0x12fbf8
movq 0x38(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x12fc13
movq 0x48(%rsp), %rdi
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1b, %eax
je 0x12fc4c
movq 0x40(%rsp), %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x1ed8(%rax)
movb $0x0, 0x57(%rsp)
jmp 0x12fcb4
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdx
callq 0x2a770
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x1, 0x57(%rsp)
movb 0x57(%rsp), %al
andb $0x1, %al
addq $0x58, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_continuation_a
static bool op_implicit_continuation_a(s7_scheme *sc)
    {
        s7_pointer s, code;
        code = sc->code;
        s = lookup_checked(sc, car(code));
        if (!is_continuation(s)) {sc->last_function = s; return(false);}
        sc->code = s;
        sc->args = set_plist_1(sc, fx_call(sc, cdr(code)));
        apply_continuation(sc);
        return(true);
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x12fd02
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x12fd1a
movq 0x48(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x25, %eax
je 0x12fd53
movq 0x40(%rsp), %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x1ed8(%rax)
movb $0x0, 0x57(%rsp)
jmp 0x12fdc0
movq 0x40(%rsp), %rcx
movq 0x48(%rsp), %rax
movq %rcx, (%rax)
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rsi
callq 0x35ea0
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x48(%rsp), %rdi
callq 0x131a90
movb $0x1, 0x57(%rsp)
movb 0x57(%rsp), %al
andb $0x1, %al
addq $0x58, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_iterate
static bool op_implicit_iterate(s7_scheme *sc)
    {
        s7_pointer s;
        s = lookup_checked(sc, car(sc->code));
        if (!is_iterator(s)) {sc->last_function = s; return(false);}
        sc->value = (iterator_next(s))(sc, s);
        return(true);
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x12fe08
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x12fe23
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1d, %eax
je 0x12fe5c
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x1ed8(%rax)
movb $0x0, 0x37(%rsp)
jmp 0x12fe82
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x1, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_let_ref_c
static bool op_implicit_let_ref_c(s7_scheme *sc)
    {
        s7_pointer s;
        s = lookup_checked(sc, car(sc->code));
        if (!is_let(s)) {sc->last_function = s; return(false);}
        sc->value = s7_let_ref(sc, T_Pos(s), opt3_any(sc->code));
        return(true);
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x12fec8
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x12fee3
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1c, %eax
je 0x12ff1c
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x1ed8(%rax)
movb $0x0, 0x37(%rsp)
jmp 0x12ff48
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rdx
callq 0xe490
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x1, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_let_ref_a
static bool op_implicit_let_ref_a(s7_scheme *sc)
    {
        s7_pointer s;
        s = lookup_checked(sc, car(sc->code));
        if (!is_let(s)) {sc->last_function = s; return(false);}
        sc->value = s7_let_ref(sc, s, fx_call(sc, cdr(sc->code)));
        return(true);
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rdi
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x38(%rsp)
cmpq $0x0, 0x38(%rsp)
je 0x12ff98
movq 0x38(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x12ffb3
movq 0x48(%rsp), %rdi
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1c, %eax
je 0x12ffec
movq 0x40(%rsp), %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x1ed8(%rax)
movb $0x0, 0x57(%rsp)
jmp 0x130054
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdx
callq 0xe490
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x1, 0x57(%rsp)
movb 0x57(%rsp), %al
andb $0x1, %al
addq $0x58, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_pair_a
static bool op_implicit_pair_a(s7_scheme *sc)
                {
                    s7_pointer s, x;
                    s = lookup_checked(sc, car(sc->code));
                    if (!is_pair(s)) {sc->last_function = s; return(false);}
                    x = fx_call(sc, cdr(sc->code));
                    sc->value = list_ref_1(sc, s, x);
                    return(true);
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x130097
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
jmp 0x1300b1
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x1300e9
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x1ed8(%rax)
movb $0x0, 0x47(%rsp)
jmp 0x130147
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x28(%rsp), %rdx
callq 0x16cf70
movq %rax, %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x1, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_c_object_a
static bool op_implicit_c_object_a(s7_scheme *sc)
                {
                    s7_pointer c;
                    c = lookup_checked(sc, car(sc->code));
                    if (!is_c_object(c)) {sc->last_function = c; return(false);}
                    set_car(sc->t2_2, fx_call(sc, cdr(sc->code)));
                    set_car(sc->t2_1, c); /* arg above might use sc->t2* */
                    sc->value = (*(c_object_ref(sc, c)))(sc, sc->t2_1);
                    return(true);
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x130198
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x1301b3
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x14, %eax
je 0x1301ef
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x1ed8(%rax)
movb $0x0, 0x47(%rsp)
jmp 0x130289
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x38(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x38(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq 0x8d8(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq (%rax,%rcx,8), %rax
movq 0x48(%rax), %rax
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x1, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_goto
static bool op_implicit_goto(s7_scheme *sc)
    {
        set_opt1_goto(sc->code, lookup_checked(sc, car(sc->code)));
        if (!is_goto(opt1_goto(sc->code))) return(false);
        sc->args = sc->nil;
        sc->code = T_Got(opt1_goto(sc->code));
        call_with_exit(sc);
        return(true);
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1302d7
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
jmp 0x1302f1
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movzbl (%rax), %eax
cmpl $0x26, %eax
je 0x130326
movb $0x0, 0x27(%rsp)
jmp 0x13035e
movq 0x18(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rdi
callq 0x131b10
movb $0x1, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_goto_a
static bool op_implicit_goto_a(s7_scheme *sc)
    {
        set_opt1_goto(sc->code, lookup_checked(sc, car(sc->code)));
        if (!is_goto(opt1_goto(sc->code))) return(false);
        sc->args = list_1(sc, fx_call(sc, cdr(sc->code)));
        sc->code = T_Got(opt1_goto(sc->code));
        call_with_exit(sc);
        return(true);
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rdi
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x40(%rsp)
cmpq $0x0, 0x40(%rsp)
je 0x1303a7
movq 0x40(%rsp), %rax
movq %rax, (%rsp)
jmp 0x1303c1
movq 0x48(%rsp), %rdi
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rcx
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movzbl (%rax), %eax
cmpl $0x26, %eax
je 0x1303f9
movb $0x0, 0x57(%rsp)
jmp 0x1304ed
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x48(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x48(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x48(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x130467
movq 0x48(%rsp), %rdi
callq 0xc670
movq 0x48(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x28(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rcx
movq 0x48(%rsp), %rax
movq %rcx, (%rax)
movq 0x48(%rsp), %rdi
callq 0x131b10
movb $0x1, 0x57(%rsp)
movb 0x57(%rsp), %al
andb $0x1, %al
addq $0x58, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_implicit_vector_set_3
static inline bool op_implicit_vector_set_3(s7_scheme *sc)
                {
                    s7_pointer v, i1;
                    v = lookup(sc, caadr(sc->code));
                    if (!is_any_vector(v))
                    {
                        pair_set_syntax_op(sc->code, OP_SET_UNCHECKED);
                        return(true);
                    }
                    sc->code = cdr(sc->code);
                    i1 = fx_call(sc, cdar(sc->code));
                    set_car(sc->t3_3, fx_call(sc, cdr(sc->code)));
                    set_car(sc->t3_1, v);
                    set_car(sc->t3_2, i1);
                    sc->value = g_vector_set_3(sc, sc->t3_1);
                    return(false);
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0xea213(%rip), %rax     # 0x21a750
testb $0x1, (%rax,%rcx)
jne 0x130581
jmp 0x130545
movq 0x38(%rsp), %rax
movq (%rax), %rax
movw $0x219, 0x4(%rax)       # imm = 0x219
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq %rcx, (%rax)
movb $0x1, 0x47(%rsp)
jmp 0x130667
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x38(%rsp), %rax
movq %rcx, (%rax)
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x38(%rsp), %rax
movq 0x590(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rax
movq 0x580(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rcx
movq 0x38(%rsp), %rax
movq 0x588(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x580(%rax), %rsi
callq 0x16d8a0
movq %rax, %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x0, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_pair_pair
static void op_pair_pair(s7_scheme *sc)
                {
                    if (sc->stack_end >= sc->stack_resize_trigger)
                        check_for_cyclic_code(sc, sc->code);
                    push_stack(sc, OP_EVAL_ARGS, sc->nil, sc->code);
                    push_stack(sc, OP_EVAL_ARGS, sc->nil, car(sc->code));
                    sc->code = caar(sc->code);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq (%rsp), %rcx
cmpq 0x58(%rcx), %rax
jb 0x130897
movq (%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rsi
callq 0x16dd20
jmp 0x130899
movq (%rsp), %rax
movq (%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x110(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rax
movl $0x192, %ecx            # imm = 0x192
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
jmp 0x1308f9
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x110(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rax
movl $0x192, %ecx            # imm = 0x192
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
popq %rax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_eval_args5
static void op_eval_args5(s7_scheme *sc)      /* sc->value is the last arg, sc->code is the previous */
                {
                    s7_pointer x, y;
                    x = cons(sc, sc->code, sc->args);
                    y = cons_unchecked(sc, sc->value, x);
                    sc->args = safe_reverse_in_place(sc, y);
                    sc->code = pop_op_stack(sc);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x30(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x1309c8
movq 0x30(%rsp), %rdi
callq 0xc670
movq 0x30(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x28(%rsp), %rdx
callq 0xd9f0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xe460
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x30(%rsp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x68(%rcx)
movq -0x8(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_eval_args2
static void op_eval_args2(s7_scheme *sc)
                {
                    s7_pointer x;
                    sc->code = pop_op_stack(sc);
                    x = cons(sc, sc->value, sc->args);
                    if (!is_null(sc->args))
                        sc->args = safe_reverse_in_place(sc, x);
                    else sc->args = x;
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x68(%rcx)
movq -0x8(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x30(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x130af9
movq 0x30(%rsp), %rdi
callq 0xc670
movq 0x30(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x30(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x130b8c
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0xe460
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x130b9a
movq 0x28(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_eval_args3
static void op_eval_args3(s7_scheme *sc)
                {
                    s7_pointer x, y, val;
                    val = sc->code;
                    if (is_symbol(val))
                        val = lookup_checked(sc, val);
                    x = cons(sc, sc->value, sc->args);
                    y = cons_unchecked(sc, val, x);
                    sc->args = safe_reverse_in_place(sc, y);
                    sc->code = pop_op_stack(sc);
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x130c10
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0xde990
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x130bea
movq 0x30(%rsp), %rax
movq %rax, (%rsp)
jmp 0x130bfd
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0xdead0
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x50(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x50(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x50(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x130c50
movq 0x50(%rsp), %rdi
callq 0xc670
movq 0x50(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x48(%rsp), %rdx
callq 0xd9f0
movq %rax, 0x40(%rsp)
movq 0x50(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0xe460
movq %rax, %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x50(%rsp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x68(%rcx)
movq -0x8(%rax), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
addq $0x58, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: eval_args_no_eval_args
static bool eval_args_no_eval_args(s7_scheme *sc)
                {
                    if (is_any_macro(sc->value))
                    {
                        sc->args = copy_list_with_arglist_error(sc, cdr(sc->code)); /* check the first time around */
                        if (is_symbol(car(sc->code))) /* not ((f p) args...) where (f p) has returned a macro, op_macro_d assumes car is a symbol */
                        {
                            if (is_macro(sc->value))
                                set_optimize_op(sc->code, OP_MACRO_D);
                            if (is_macro_star(sc->value))
                                set_optimize_op(sc->code, OP_MACRO_STAR_D);
                        }
                        sc->code = sc->value;
                        return(true);
                    }
                    /* (define progn begin) (progn (display "hi") (+ 1 23)) */
                    if (is_syntactic_pair(sc->code))
                        sc->cur_op = optimize_op(sc->code);
                    else
                    {
                        sc->cur_op = syntax_opcode(sc->value);
                        pair_set_syntax_op(sc->code, sc->cur_op);
                    }
                    return(false);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0xeb172(%rip), %rax     # 0x21bea0
testb $0x1, (%rax,%rcx)
je 0x130dc9
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
callq 0x117630
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x130dae
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movzbl (%rax), %eax
cmpl $0x2a, %eax
jne 0x130d8d
movq 0x8(%rsp), %rax
movq (%rax), %rax
movw $0x168, 0x4(%rax)       # imm = 0x168
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movzbl (%rax), %eax
cmpl $0x2b, %eax
jne 0x130dac
movq 0x8(%rsp), %rax
movq (%rax), %rax
movw $0x169, 0x4(%rax)       # imm = 0x169
jmp 0x130dae
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movb $0x1, 0x17(%rsp)
jmp 0x130e4d
movq 0x8(%rsp), %rax
movq (%rax), %rax
movzwl (%rax), %eax
cmpl $0x201, %eax            # imm = 0x201
jne 0x130df4
movq 0x8(%rsp), %rax
movq (%rax), %rax
movzwl 0x4(%rax), %eax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
jmp 0x130e48
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movw %ax, %cx
movq 0x8(%rsp), %rax
movq (%rax), %rax
movw %cx, 0x4(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rcx, (%rax)
jmp 0x130e48
movb $0x0, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: resize_op_stack
static void resize_op_stack(s7_scheme *sc)
    {
        int32_t i, loc, new_size;
        loc = (int32_t)(sc->op_stack_now - sc->op_stack);
        new_size = sc->op_stack_size * 2;
        sc->op_stack = (s7_pointer *)realloc((void *)(sc->op_stack), new_size * sizeof(s7_pointer));
        for (i = sc->op_stack_size; i < new_size; i++)
            sc->op_stack[i] = sc->nil;
        sc->op_stack_size = (uint32_t)new_size;
        sc->op_stack_now = (s7_pointer *)(sc->op_stack + loc);
        sc->op_stack_end = (s7_pointer *)(sc->op_stack + sc->op_stack_size);
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x10(%rsp), %rcx
movq 0x60(%rcx), %rcx
subq %rcx, %rax
sarq $0x3, %rax
movl %eax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movl 0x78(%rax), %eax
shll %eax
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rax
movq 0x60(%rax), %rdi
movslq 0x4(%rsp), %rsi
shlq $0x3, %rsi
callq 0x9510
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x60(%rax)
movq 0x10(%rsp), %rax
movl 0x78(%rax), %eax
movl %eax, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x4(%rsp), %eax
jge 0x130ef8
movq 0x10(%rsp), %rax
movq 0x110(%rax), %rdx
movq 0x10(%rsp), %rax
movq 0x60(%rax), %rax
movslq 0xc(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x130ec3
movl 0x4(%rsp), %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0x78(%rax)
movq 0x10(%rsp), %rax
movq 0x60(%rax), %rcx
movslq 0x8(%rsp), %rax
shlq $0x3, %rax
addq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x68(%rax)
movq 0x10(%rsp), %rax
movq 0x60(%rax), %rcx
movq 0x10(%rsp), %rax
movl 0x78(%rax), %eax
shlq $0x3, %rax
addq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x70(%rax)
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: eval_last_arg
static void eval_last_arg(s7_scheme *sc, s7_pointer car_code)
                {
                    /* here we've reached the last arg (sc->code == nil), it is not a pair */
                    s7_pointer x, val;

                    if (!is_null(cdr(sc->code)))
                        improper_arglist_error(sc);

                    sc->code = pop_op_stack(sc);
                    if (is_symbol(car_code))
                        val = lookup_checked(sc, car_code); /* this has to precede the set_type below */
                    else val = car_code;
                    sc->temp4 = val;
                    x = cons(sc, val, sc->args);
                    if (!is_null(sc->args))
                        sc->args = safe_reverse_in_place(sc, x);
                    else sc->args = x;
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x50(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x131392
movq 0x50(%rsp), %rdi
callq 0x131510
movq 0x50(%rsp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x68(%rcx)
movq -0x8(%rax), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movq 0x48(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x13140e
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0xde990
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x1313e6
movq 0x30(%rsp), %rax
movq %rax, (%rsp)
jmp 0x1313f9
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0xdead0
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0x131418
movq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x510(%rax)
movq 0x38(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x50(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x50(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x131465
movq 0x50(%rsp), %rdi
callq 0xc670
movq 0x50(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x50(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x1314f8
movq 0x50(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0xe460
movq %rax, %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x131506
movq 0x40(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x10(%rax)
addq $0x58, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: improper_arglist_error
static void improper_arglist_error(s7_scheme *sc)
                {
                    /* sc->code is the last (dotted) arg, sc->args is the arglist reversed not including sc->code
                     *   the original was `(,@(reverse args) . ,code) essentially
                     */
                    if (sc->args == sc->nil)               /* (abs . 1) */
                        s7_error(sc, sc->syntax_error_symbol, set_elist_1(sc, wrap_string(sc, "function call is a dotted list?", 31)));
                    else s7_error(sc, sc->syntax_error_symbol,
                            set_elist_2(sc, wrap_string(sc, "improper list of arguments: ~S", 30),
                                append_in_place(sc, sc->args = safe_reverse_in_place(sc, sc->args), sc->code)));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x40(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x13158f
movq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x40(%rsp), %rdi
leaq 0xbe4fb(%rip), %rsi     # 0x1efa5c
movl $0x1f, %edx
callq 0xb880
movq 0x28(%rsp), %rdi
movq %rax, %rsi
callq 0xc3820
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
jmp 0x13162c
movq 0x40(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x40(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rdi
leaq 0xbe18e(%rip), %rsi     # 0x1ef74e
movl $0x1e, %edx
callq 0xb880
movq %rax, 0x10(%rsp)
movq 0x40(%rsp), %rax
movq %rax, (%rsp)
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xe460
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x40(%rsp), %rax
movq %rsi, 0x10(%rax)
movq 0x40(%rsp), %rax
movq (%rax), %rdx
callq 0x16ddd0
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0xb830
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: apply_c_function
static void apply_c_function(s7_scheme *sc) 	                    /* -------- C-based function -------- */
                {
                    s7_int len;
                    len = safe_list_length(sc->args);
                    if (len < c_function_required_args(sc->code))
                        s7_error(sc, sc->wrong_number_of_args_symbol, set_elist_3(sc, not_enough_arguments_string, sc->code, sc->args));
                    if (c_function_all_args(sc->code) < len)
                        s7_error(sc, sc->wrong_number_of_args_symbol, set_elist_3(sc, too_many_arguments_string, sc->code, sc->args));
                    sc->value = c_function_call(sc->code)(sc, sc->args);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x3a070
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
movq (%rcx), %rcx
cmpq 0x18(%rcx), %rax
jge 0x1316be
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq 0x1900(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movq 0xf38a2(%rip), %rsi     # 0x224f38
movq 0x30(%rsp), %rax
movq (%rax), %rdx
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rcx
callq 0xf240
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
cmpq 0x28(%rsp), %rax
jge 0x131720
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq 0x1900(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
movq 0xf14f0(%rip), %rsi     # 0x222be8
movq 0x30(%rsp), %rax
movq (%rax), %rdx
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rcx
callq 0xf240
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rcx
movq 0x10(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: apply_c_opt_args_function
static void apply_c_opt_args_function(s7_scheme *sc)                /* -------- C-based function that has n optional arguments -------- */
                {
                    s7_int len;
                    len = safe_list_length(sc->args);
                    if (c_function_all_args(sc->code) < len)
                        s7_error(sc, sc->wrong_number_of_args_symbol, set_elist_3(sc, too_many_arguments_string, sc->code, sc->args));
                    sc->value = c_function_call(sc->code)(sc, sc->args);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x3a070
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
cmpq 0x18(%rsp), %rax
jge 0x1317fe
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x1900(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movq 0xf1412(%rip), %rsi     # 0x222be8
movq 0x20(%rsp), %rax
movq (%rax), %rdx
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rcx
callq 0xf240
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x10(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x20(%rax)
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: apply_c_rst_args_function
static void apply_c_rst_args_function(s7_scheme *sc)                /* -------- C-based function that has n required args, then any others -------- */
                {
                    s7_int len;
                    len = safe_list_length(sc->args);
                    if (len < c_function_required_args(sc->code))
                        s7_error(sc, sc->wrong_number_of_args_symbol, set_elist_3(sc, not_enough_arguments_string, sc->code, sc->args));
                    sc->value = c_function_call(sc->code)(sc, sc->args);
                    /* sc->code here need not match sc->code before the function call (map for example) */
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x3a070
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rsp), %rcx
movq (%rcx), %rcx
cmpq 0x18(%rcx), %rax
jge 0x1318ae
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x1900(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movq 0xf36b2(%rip), %rsi     # 0x224f38
movq 0x20(%rsp), %rax
movq (%rax), %rdx
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rcx
callq 0xf240
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x10(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x20(%rax)
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: apply_c_object
static void apply_c_object(s7_scheme *sc)  /* -------- applicable (new-type) object -------- */
                {
                    /* sc->value = (*(c_object_ref(sc, sc->code)))(sc, cons(sc, sc->code, sc->args)); */
                    set_car(sc->u1_1, sc->code);
                    set_cdr(sc->u1_1, sc->args);
                    sc->value = (*(c_object_ref(sc, sc->code)))(sc, sc->u1_1);
                    set_car(sc->u1_1, sc->F);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rax
movq (%rax), %rcx
movq (%rsp), %rax
movq 0x560(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq 0x560(%rax), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movq 0x8d8(%rax), %rax
movq (%rsp), %rcx
movq (%rcx), %rcx
movq 0x8(%rcx), %rcx
movq (%rax,%rcx,8), %rax
movq 0x48(%rax), %rax
movq (%rsp), %rdi
movq (%rsp), %rcx
movq 0x560(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
movq (%rsp), %rax
movq 0x120(%rax), %rcx
movq (%rsp), %rax
movq 0x560(%rax), %rax
movq %rcx, 0x8(%rax)
popq %rax
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: apply_string
static void apply_string(s7_scheme *sc)                            /* -------- string as applicable object -------- */
                {
                    if ((is_pair(sc->args)) &&
                            (is_null(cdr(sc->args))))
                    {
                        if (s7_is_integer(car(sc->args)))
                        {
                            s7_int index;                  /* not int: ("abs" most-negative-fixnum) */
                            index = s7_integer(car(sc->args));
                            if ((index >= 0) &&
                                    (index < string_length(sc->code)))
                            {
                                sc->value = s7_make_character(sc, ((uint8_t *)string_value(sc->code))[index]);
                                return;
                            }
                        }
                        sc->value = string_ref_1(sc, sc->code, car(sc->args));
                        return;
                    }
                    s7_error(sc, sc->wrong_number_of_args_symbol,
                            set_elist_3(sc, (is_null(sc->args)) ? not_enough_arguments_string : too_many_arguments_string, sc->code, sc->args));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x132449
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x30(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x132449
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x11340
testb $0x1, %al
jne 0x1323b5
jmp 0x132419
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x10790
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jl 0x132417
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
movq (%rcx), %rcx
cmpq 0x8(%rcx), %rax
jge 0x132417
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x28(%rsp), %rcx
movzbl (%rax,%rcx), %esi
callq 0x14410
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x1324d1
jmp 0x132419
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rsi
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x16d530
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x1324d1
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x1900(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x30(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x132493
movq 0xf2aac(%rip), %rax     # 0x224f38
movq %rax, 0x8(%rsp)
jmp 0x13249f
movq 0xf074e(%rip), %rax     # 0x222be8
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x30(%rsp), %rax
movq (%rax), %rdx
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rcx
callq 0xf240
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: apply_hash_table
static void apply_hash_table(s7_scheme *sc)                        /* -------- hash-table as applicable object -------- */
                {
                    if (is_null(sc->args))
                        s7_wrong_number_of_args_error(sc, "not enough args for hash-table-ref (via hash table as applicable object): ~A", sc->args);
                    sc->value = s7_hash_table_ref(sc, sc->code, car(sc->args));
                    if (!is_null(cdr(sc->args)))
                        sc->value = implicit_index(sc, sc->value, cdr(sc->args));
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq (%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x132512
movq (%rsp), %rdi
movq (%rsp), %rax
movq 0x10(%rax), %rdx
leaq 0xbd5f4(%rip), %rsi     # 0x1efb01
callq 0x33290
movq (%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rsi
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x2a770
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq (%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x13257a
movq (%rsp), %rdi
movq (%rsp), %rax
movq 0x20(%rax), %rsi
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rdx
callq 0x16bc20
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
popq %rax
retq
nopl (%rax)