LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_closure_3s_b
static void op_closure_3s_b(s7_scheme *sc)
                {
                    op_closure_3s(sc);
                    sc->code = T_Pair(closure_body(sc->code));
                    if (is_pair(cdr(sc->code)))
                        push_stack_no_args(sc, sc->begin_op, cdr(sc->code));
                    sc->code = car(sc->code);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rdi
callq 0x1253e0
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x125878
jmp 0x125825
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%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 0x688(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
jmp 0x125878
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
popq %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_closure_4s_b
static void op_closure_4s_b(s7_scheme *sc)
                {
                    op_closure_4s(sc);
                    sc->code = T_Pair(closure_body(sc->code));
                    if (is_pair(cdr(sc->code)))
                        push_stack_no_args(sc, sc->begin_op, cdr(sc->code));
                    sc->code = car(sc->code);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rdi
callq 0x125890
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x125e38
jmp 0x125de5
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%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 0x688(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
jmp 0x125e38
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
popq %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_safe_closure_sc
static void op_safe_closure_sc(s7_scheme *sc)
                {
                    sc->temp5 = opt2_con(sc->code);
                    sc->value = lookup(sc, cadr(sc->code));
                    sc->code = opt1_lambda(sc->code);
                    sc->envir = old_frame_with_two_slots(sc, closure_let(sc->code), sc->value, sc->temp5);
                    closure_push(sc);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rcx
movq (%rsp), %rax
movq %rcx, 0x518(%rax)
movq (%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq (%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rsi
movq (%rsp), %rax
movq 0x20(%rax), %rdx
movq (%rsp), %rax
movq 0x518(%rax), %rcx
callq 0x164710
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%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 0x688(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
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), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
popq %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_safe_closure_sa
static void op_safe_closure_sa(s7_scheme *sc)
                {
                    s7_pointer f, args;
                    f = opt1_lambda(sc->code);
                    args = cddr(sc->code);
                    args = fx_call(sc, args);
                    sc->envir = old_frame_with_two_slots(sc, closure_let(f), lookup(sc, cadr(sc->code)), args);
                    sc->code = T_Pair(closure_body(f));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq %rax, (%rsp)
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq %rax, %rdx
movq 0x20(%rsp), %rcx
callq 0x164710
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_safe_closure_aa
static void op_safe_closure_aa(s7_scheme *sc)
                {
                    s7_pointer p;
                    p = cdr(sc->code);
                    sc->temp5 = fx_call(sc, cdr(p));
                    sc->value = fx_call(sc, p);
                    sc->code = opt1_lambda(sc->code);
                    sc->envir = old_frame_with_two_slots(sc, closure_let(sc->code), sc->value, sc->temp5);
                    closure_push(sc);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x518(%rax)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rsi
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rdx
movq 0x30(%rsp), %rax
movq 0x518(%rax), %rcx
callq 0x164710
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x30(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x30(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movq 0x688(%rax), %rcx
movq 0x30(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x30(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_safe_closure_aa_p
static void op_safe_closure_aa_p(s7_scheme *sc)
                {
                    s7_pointer p;
                    p = cdr(sc->code);
                    sc->temp5 = fx_call(sc, cdr(p));
                    sc->value = fx_call(sc, p);
                    sc->code = opt1_lambda(sc->code);
                    sc->envir = old_frame_with_two_slots(sc, closure_let(sc->code), sc->value, sc->temp5);
                    sc->code = car(closure_body(sc->code));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x518(%rax)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rsi
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rdx
movq 0x30(%rsp), %rax
movq 0x518(%rax), %rcx
callq 0x164710
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
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: fx_safe_closure_aa_a
static s7_pointer fx_safe_closure_aa_a(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer p;
                    p = cdr(code);
                    gc_protect_direct(sc, sc->envir);
                    sc->stack_end[-4] = fx_call(sc, cdr(p));
                    sc->stack_end[-3] = fx_call(sc, p);
                    p = opt1_lambda(sc->code);
                    sc->envir = old_frame_with_two_slots(sc, closure_let(p), sc->stack_end[-3], sc->stack_end[-4]);
                    p = fx_call(sc, closure_body(p));
                    sc->envir = sc->stack_end[-2];
                    sc->stack_end -= 4;
                    return(p);
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xfd720
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, -0x20(%rax)
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, -0x18(%rax)
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x18(%rax), %rsi
movq 0x40(%rsp), %rax
movq 0x50(%rax), %rax
movq -0x18(%rax), %rdx
movq 0x40(%rsp), %rax
movq 0x50(%rax), %rax
movq -0x20(%rax), %rcx
callq 0x164710
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rax
movq 0x50(%rax), %rax
movq -0x10(%rax), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x40(%rsp), %rax
movq 0x50(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x30(%rsp), %rax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_safe_closure_saa
static void op_safe_closure_saa(s7_scheme *sc)
                {
                    s7_pointer args, z, f;
                    f = opt1_lambda(sc->code);
                    args = cddr(sc->code);
                    gc_protect_direct(sc, fx_call(sc, args));
                    args = cdr(args);
                    z = fx_call(sc, args);
                    sc->envir = old_frame_with_three_slots(sc, closure_let(f), lookup(sc, cadr(sc->code)), sc->stack_end[-2], z);
                    sc->stack_end -= 4;
                    sc->code = T_Pair(closure_body(f));
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x50(%rsp), %rax
movq %rax, (%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x30(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq (%rsp), %rdi
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rsi
callq 0xfd720
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%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 0x50(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x50(%rsp), %rdi
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rax
movq -0x10(%rax), %rcx
movq 0x40(%rsp), %r8
callq 0x164a70
movq %rax, %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
addq $0x58, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_safe_closure_all_s
static void op_safe_closure_all_s(s7_scheme *sc)
                {
                    s7_pointer args, env, x;
                    uint64_t id;

                    args = cdr(sc->code);
                    sc->code = opt1_lambda(sc->code);
                    id = ++sc->let_number;
                    env = closure_let(sc->code);
                    let_id(env) = id;

                    for (x = let_slots(env); tis_slot(x); x = next_slot(x), args = cdr(args))
                    {
                        slot_set_value(x, lookup(sc, car(args)));
                        symbol_set_local(slot_symbol(x), id, x);
                    }

                    sc->envir = env;
                    sc->code = closure_body(sc->code);
                    if (is_pair(cdr(sc->code)))
                        push_stack_no_args(sc, sc->begin_op, cdr(sc->code));
                    sc->code = car(sc->code);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rcx
movq 0x250(%rcx), %rax
addq $0x1, %rax
movq %rax, 0x250(%rcx)
movq %rax, (%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq %rax, 0x10(%rsp)
movq (%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x1279d1
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x18(%rax)
movq (%rsp), %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x20(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x28(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x28(%rax)
jmp 0x1279b3
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
jmp 0x127955
movq 0x10(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x127a63
jmp 0x127a09
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rax
movq 0x688(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
jmp 0x127a63
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_safe_closure_3s
static void op_safe_closure_3s(s7_scheme *sc)
                {
                    s7_pointer args, f;
                    f = opt1_lambda(sc->code);
                    args = cddr(sc->code);
                    sc->envir = old_frame_with_three_slots(sc, closure_let(f), lookup(sc, cadr(sc->code)), lookup(sc, car(args)), lookup(sc, cadr(args)));
                    sc->code = T_Pair(closure_body(f));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %r8
callq 0x164a70
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rax
movq 0x10(%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_check_closure_all_s
static goto_t op_check_closure_all_s(s7_scheme *sc)
                {
                    if (!closure_is_fine(sc, sc->code, FINE_UNSAFE_CLOSURE, integer(opt3_arglen(sc->code))))
                    {
                        if (op_unknown_all_s(sc, sc->last_function) == goto_eval)
                            return(goto_eval);
                        return(goto_unopt);
                    }
                    return(fall_through);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
cmpl $0x1, 0x28(%rax)
jne 0x127e1d
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rcx), %rcx
cmpq 0x18(%rcx), %rax
je 0x127e7d
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movl $0x28, %edx
callq 0x120a00
testb $0x1, %al
jne 0x127e7d
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x1ed8(%rax), %rsi
callq 0x124f50
cmpl $0x5, %eax
jne 0x127e73
movl $0x5, 0x14(%rsp)
jmp 0x127e85
movl $0x7, 0x14(%rsp)
jmp 0x127e85
movl $0x2, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_check_closure_fx
static goto_t op_check_closure_fx(s7_scheme *sc)
                {
                    if (!closure_is_fine(sc, sc->code, FINE_UNSAFE_CLOSURE, integer(opt3_arglen(sc->code))))
                    {
                        if (op_unknown_fx(sc, sc->last_function) == goto_eval)
                            return(goto_eval);
                        return(goto_unopt);
                    }
                    return(fall_through);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
cmpl $0x1, 0x28(%rax)
jne 0x12828d
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rcx), %rcx
cmpq 0x18(%rcx), %rax
je 0x1282ed
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movl $0x28, %edx
callq 0x120a00
testb $0x1, %al
jne 0x1282ed
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x1ed8(%rax), %rsi
callq 0x12f2e0
cmpl $0x5, %eax
jne 0x1282e3
movl $0x5, 0x14(%rsp)
jmp 0x1282f5
movl $0x7, 0x14(%rsp)
jmp 0x1282f5
movl $0x2, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: revappend
static s7_pointer revappend(s7_scheme *sc, s7_pointer a, s7_pointer b)
                {
                    /* (map (lambda (x) (if (odd? x) (apply values '(1 2 3)) (values))) (list 1 2 3 4)) is a bad case -- we have to copy the incoming list */
                    s7_pointer p = b, q;

                    if (is_not_null(a))
                    {
                        a = copy_list(sc, a);
                        do /* while (is_not_null(a)) */
                        {
                            q = cdr(a);
                            set_cdr(a, p);
                            p = a;
                            a = q;
                        }
                        while (is_pair(a));
                    }
                    return(p);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x128ee1
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x44270
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq (%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x128ea4
jmp 0x128ee1
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_tc_and_a_or_a_la
static void op_tc_and_a_or_a_la(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer fx_and, fx_or, fx_la, la_slot;

                    fx_and = cdr(code);           /* first clause of and */
                    fx_or = cdadr(fx_and);        /* same or */
                    fx_la = cdadr(fx_or);
                    la_slot = let_slots(sc->envir);
                    /* cell_optimize here is slower! */
                    while (true)
                    {
                        s7_pointer p;
                        p = fx_call(sc, fx_and);
                        if (p == sc->F) {sc->value = p; return;}
                        p = fx_call(sc, fx_or);
                        if (p != sc->F) {sc->value = p; return;}
                        slot_set_value(la_slot, fx_call(sc, fx_la));
                    }
                }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x60(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x60(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x60(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x128fa2
movq 0x30(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x129030
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x60(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x60(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x128ff7
movq 0x30(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x129030
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x60(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, (%rsp)
movq (%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x128f4a
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_tc_or_a_and_a_la
static void op_tc_or_a_and_a_la(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer fx_and, fx_or, fx_la, la_slot;

                    fx_or = cdr(code);             /* first clause of or */
                    fx_and = cdadr(fx_or);         /* same and */
                    fx_la = cdadr(fx_and);
                    la_slot = let_slots(sc->envir);

                    while (true)
                    {
                        s7_pointer p;
                        p = fx_call(sc, fx_or);
                        if (p != sc->F) {sc->value = p; return;}
                        p = fx_call(sc, fx_and);
                        if (p == sc->F) {sc->value = p; return;}
                        slot_set_value(la_slot, fx_call(sc, fx_la));
                    }
                }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x60(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x60(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x60(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x1290f2
movq 0x30(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x129180
movq 0x50(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x60(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x60(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x129147
movq 0x30(%rsp), %rcx
movq 0x60(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x129180
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x60(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, (%rsp)
movq (%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x12909a
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_tc_and_a_or_a_laa
static void op_tc_and_a_or_a_laa(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer fx_and, fx_or, fx_la, la_slot, fx_laa, laa_slot;

                    fx_and = cdr(code);           /* first clause of and */
                    fx_or = cdadr(fx_and);        /* same or */
                    fx_la = cdadr(fx_or);
                    la_slot = let_slots(sc->envir);
                    fx_laa = cdr(fx_la);
                    laa_slot = next_slot(la_slot);

                    while (true)
                    {
                        s7_pointer p;
                        p = fx_call(sc, fx_and);
                        if (p == sc->F) {sc->value = p; return;}
                        p = fx_call(sc, fx_or);
                        if (p != sc->F) {sc->value = p; return;}
                        slot_set_value(la_slot, fx_call(sc, fx_la));
                        slot_set_value(laa_slot, fx_call(sc, fx_laa));
                    }
                }

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x60(%rsp)
movq 0x80(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0x60(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x70(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x80(%rsp), %rdi
movq 0x38(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x80(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x129270
movq 0x40(%rsp), %rcx
movq 0x80(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x129343
movq 0x68(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x80(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x80(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x1292ce
movq 0x40(%rsp), %rcx
movq 0x80(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x129343
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x80(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x50(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x80(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, (%rsp)
movq (%rsp), %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x12920f
addq $0x88, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_tc_or_a_and_a_laa
static void op_tc_or_a_and_a_laa(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer fx_and, fx_or, fx_la, la_slot, fx_laa, laa_slot;

                    fx_or = cdr(code);             /* first clause of or */
                    fx_and = cdadr(fx_or);         /* same and */
                    fx_la = cdadr(fx_and);
                    la_slot = let_slots(sc->envir);
                    fx_laa = cdr(fx_la);
                    laa_slot = next_slot(la_slot);

                    while (true)
                    {
                        s7_pointer p;
                        p = fx_call(sc, fx_or);
                        if (p != sc->F) {sc->value = p; return;}
                        p = fx_call(sc, fx_and);
                        if (p == sc->F) {sc->value = p; return;}
                        slot_set_value(la_slot, fx_call(sc, fx_la));
                        slot_set_value(laa_slot, fx_call(sc, fx_laa));
                    }
                }

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x60(%rsp)
movq 0x80(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0x60(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x80(%rsp), %rdi
movq 0x38(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x80(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x129430
movq 0x40(%rsp), %rcx
movq 0x80(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x129503
movq 0x70(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x80(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x80(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x12948e
movq 0x40(%rsp), %rcx
movq 0x80(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x129503
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x80(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x50(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x80(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, (%rsp)
movq (%rsp), %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x1293cf
addq $0x88, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: wrap_recur_cond_a_a_a_laa_lopa_laaq
static void wrap_recur_cond_a_a_a_laa_lopa_laaq(s7_scheme *sc)
                {
                    opt_pid_t choice;
                    tick_tc_rec(sc);
                    choice = opinit_cond_a_a_a_laa_lopa_laaq(sc);
                    if (choice != OPT_PTR)
                        sc->value = make_integer(sc, (choice == OPT_INT) ? oprec_i_cond_a_a_a_laa_lopa_laaq(sc) : oprec_i_cond_a_a_a_laa_lopa_laaq_0(sc));
                    else
                    {
                        sc->rec_stack = recur_make_stack(sc);
                        sc->value = oprec_cond_a_a_a_laa_lopa_laaq(sc);
                        sc->rec_loc = 0;
                    }
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%rsp), %rdi
callq 0x168e10
movl %eax, 0x3c(%rsp)
cmpl $0x0, 0x3c(%rsp)
je 0x12de0c
cmpl $0x1, 0x3c(%rsp)
jne 0x12dd3a
movq 0x40(%rsp), %rdi
callq 0x169480
movq %rax, 0x10(%rsp)
jmp 0x12dd49
movq 0x40(%rsp), %rdi
callq 0x1696e0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
andq $-0x800, %rax           # imm = 0xF800
cmpq $0x0, %rax
jne 0x12dd7b
movq 0x30(%rsp), %rcx
leaq 0xe8710(%rip), %rax     # 0x216480
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
jmp 0x12ddf2
jmp 0x12dd7d
movq 0x40(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x40(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x12dda1
movq 0x40(%rsp), %rdi
callq 0xc670
movq 0x40(%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 $0xb, (%rax)
movq 0x30(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x12de4b
movq 0x40(%rsp), %rdi
callq 0x164cd0
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x2e8(%rax)
movq 0x40(%rsp), %rdi
callq 0x169890
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x40(%rsp), %rax
movq $0x0, 0x2d0(%rax)
addq $0x48, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: closure_star_is_fine_1
static bool closure_star_is_fine_1(s7_scheme *sc, s7_pointer code, uint16_t type, int32_t args)
                {
                    s7_pointer val;
#if S7_DEBUGGING
                    if ((type & (T_ONE_FORM | T_MULTIFORM)) != 0) fprintf(stderr, "%s %s: type has body bits\n", __func__, DISPLAY(code));
#endif
                    val = lookup_unexamined(sc, car(code));
                    if ((val == opt1_lambda_unchecked(code)) ||
                            ((val) &&
                             ((typesflag(val) & (T_SAFE_CLOSURE | TYPE_MASK)) == type) &&
                             (star_arity_is_ok(sc, val, args)) &&
                             (set_opt1_lambda(code, val))))
                        return(true);
                    sc->last_function = val;
                    return(false);
                }

// Assembly:
subq $0x28, %rsp
movw %dx, %ax
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movw %ax, 0xe(%rsp)
movl %ecx, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, (%rsp)
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
je 0x12ded7
cmpq $0x0, (%rsp)
je 0x12dede
movq (%rsp), %rax
movzwl (%rax), %eax
andl $0x10ff, %eax           # imm = 0x10FF
movzwl 0xe(%rsp), %ecx
cmpl %ecx, %eax
jne 0x12dede
movq 0x18(%rsp), %rdi
movq (%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x169ad0
testb $0x1, %al
jne 0x12dec4
jmp 0x12dede
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
movq %rax, 0x18(%rcx)
cmpq $0x0, %rax
je 0x12dede
movb $0x1, 0x27(%rsp)
jmp 0x12def3
movq (%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x1ed8(%rax)
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_check_safe_closure_star_fx
static goto_t op_check_safe_closure_star_fx(s7_scheme *sc)
                {
                    if (!closure_star_is_fine(sc, sc->code, FINE_SAFE_CLOSURE_STAR, (is_pair(cdr(sc->code))) ? integer(opt3_arglen(sc->code)) : 0))
                    {
                        if (op_unknown_fx(sc, sc->last_function) == goto_eval) return(goto_eval);
                        return(goto_unopt);
                    }
                    return(fall_through);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
cmpl $0x1, 0x28(%rax)
jne 0x12e5f1
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rcx), %rcx
cmpq 0x18(%rcx), %rax
je 0x12e68b
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x12e636
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
jmp 0x12e63e
xorl %eax, %eax
movq %rax, (%rsp)
jmp 0x12e63e
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdi
movq (%rsp), %rax
movl %eax, %ecx
movl $0x1029, %edx           # imm = 0x1029
callq 0x12de50
testb $0x1, %al
jne 0x12e68b
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x1ed8(%rax), %rsi
callq 0x12f2e0
cmpl $0x5, %eax
jne 0x12e681
movl $0x5, 0x24(%rsp)
jmp 0x12e693
movl $0x7, 0x24(%rsp)
jmp 0x12e693
movl $0x2, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: safe_closure_star_fx
static bool safe_closure_star_fx(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer old_args, p, arglist;
                    bool target;
#if S7_DEBUGGING
                    if (!is_pair(cdr(code))) fprintf(stderr, "%s[%d]: no args!\n", __func__, __LINE__);
#endif
                    sc->args = safe_list_if_possible(sc, integer(opt3_arglen(code)));
                    arglist = sc->args;
                    for (p = sc->args, old_args = cdr(code); is_pair(p); p = cdr(p), old_args = cdr(old_args))
                        set_car(p, fx_call(sc, old_args));
                    call_lambda_star(sc);
                    sc->args = sc->nil;
                    return(target);
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x101200
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x28(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x12e760
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x12e6ff
jmp 0x12e762
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movq 0x40(%rsp), %rdi
callq 0x169bb0
andb $0x1, %al
movb %al, 0x1f(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rcx
andq $-0x401, %rcx           # imm = 0xFBFF
movq %rcx, (%rax)
movq 0x40(%rsp), %rax
movl $0x0, 0x2138(%rax)
jmp 0x12e7a6
movq 0x40(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x10(%rax)
movb 0x1f(%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: safe_closure_star_fx_1
static bool safe_closure_star_fx_1(s7_scheme *sc, s7_pointer code)
                {
                    bool target;
                    s7_pointer arglist;
                    sc->args = safe_list_1(sc);
                    arglist = sc->args;
                    set_car(sc->args, fx_call(sc, cdr(code)));
                    call_lambda_star(sc);       /* this clears list_in_use */
                    sc->args = sc->nil;
                    return(target);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq 0x30(%rsp), %rdi
callq 0x16aed0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x30(%rsp), %rdi
callq 0x169bb0
andb $0x1, %al
movb %al, 0x27(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rcx
andq $-0x401, %rcx           # imm = 0xFBFF
movq %rcx, (%rax)
movq 0x30(%rsp), %rax
movl $0x0, 0x2138(%rax)
jmp 0x12e8d4
movq 0x30(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movb 0x27(%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: safe_closure_star_fx_2
static bool safe_closure_star_fx_2(s7_scheme *sc, s7_pointer code)
                {
                    bool target;
                    s7_pointer arglist, p;
                    sc->args = safe_list_2(sc);
                    arglist = sc->args;
                    set_car(sc->args, fx_call(sc, cdr(code)));
                    p = cddr(code);
                    set_car(cdr(sc->args), fx_call(sc, p));
                    call_lambda_star(sc);
                    sc->args = sc->nil;
                    return(target);
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x40(%rsp), %rdi
callq 0x16afe0
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, (%rsp)
movq (%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movq 0x40(%rsp), %rdi
callq 0x169bb0
andb $0x1, %al
movb %al, 0x37(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rcx
andq $-0x401, %rcx           # imm = 0xFBFF
movq %rcx, (%rax)
movq 0x40(%rsp), %rax
movl $0x0, 0x2138(%rax)
jmp 0x12ea02
movq 0x40(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x10(%rax)
movb 0x37(%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_check_closure_star_fx
static goto_t op_check_closure_star_fx(s7_scheme *sc)
                {
                    if (!closure_star_is_fine(sc, sc->code, FINE_UNSAFE_CLOSURE_STAR, (is_pair(cdr(sc->code))) ? integer(opt3_arglen(sc->code)) : 0))
                    {
                        if (op_unknown_fx(sc, sc->last_function) == goto_eval)
                            return(goto_eval);
                        return(goto_unopt);
                    }
                    return(fall_through);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
cmpl $0x1, 0x28(%rax)
jne 0x12f031
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rcx), %rcx
cmpq 0x18(%rcx), %rax
je 0x12f0cb
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x12f076
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
jmp 0x12f07e
xorl %eax, %eax
movq %rax, (%rsp)
jmp 0x12f07e
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdi
movq (%rsp), %rax
movl %eax, %ecx
movl $0x29, %edx
callq 0x12de50
testb $0x1, %al
jne 0x12f0cb
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x1ed8(%rax), %rsi
callq 0x12f2e0
cmpl $0x5, %eax
jne 0x12f0c1
movl $0x5, 0x24(%rsp)
jmp 0x12f0d3
movl $0x7, 0x24(%rsp)
jmp 0x12f0d3
movl $0x2, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)