LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_opa_la_laq_a
static s7_pointer oprec_if_a_opa_la_laq_a(s7_scheme *sc)
                {
                    if (sc->rec_testf(sc, sc->rec_testp) == sc->F)
                        return(sc->rec_resf(sc, sc->rec_resp));
                    recur_push(sc, sc->rec_f1f(sc, sc->rec_f1p));
                    recur_push(sc, sc->rec_f2f(sc, sc->rec_f2p));
                    slot_set_value(sc->rec_slot1, sc->rec_f3f(sc, sc->rec_f3p));
                    slot_set_value(sc->rec_slot1, recur_swap(sc, oprec_if_a_opa_la_laq_a(sc)));
                    set_car(sc->t3_2, oprec_if_a_opa_la_laq_a(sc));
                    set_car(sc->t3_3, recur_pop(sc));
                    set_car(sc->t3_1, recur_pop(sc));
                    return(sc->rec_call(sc, sc->t3_1));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x360(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f0(%rcx), %rsi
callq *%rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x166d2f
movq 0x18(%rsp), %rax
movq 0x3b0(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x340(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x166e7a
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f8(%rcx), %rsi
callq *%rax
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq 0x378(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x308(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
callq 0x166cd0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x166990
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
callq 0x166cd0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x588(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x590(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x580(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x3b8(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x580(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_if_a_a_and_a_laa_laa
static void opinit_if_a_a_and_a_laa_laa(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer caller, la1, la2;

                    rec_set_test(sc, cdr(code));
                    rec_set_res(sc, cddr(code));

                    caller = opt3_pair(code);
                    la1 = caddr(caller);
                    la2 = cadddr(caller);

                    rec_set_f1(sc, cdr(caller));
                    rec_set_f2(sc, cdr(la1));
                    rec_set_f3(sc, cddr(la1));
                    rec_set_f4(sc, cdr(la2));
                    rec_set_f5(sc, cddr(la2));
                    sc->rec_slot1 = let_slots(sc->envir);
                    sc->rec_slot2 = next_slot(sc->rec_slot1);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x164f40
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x164fa0
movq 0x18(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x165000
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x165060
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165610
movq 0x20(%rsp), %rdi
movq (%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x1674f0
movq 0x20(%rsp), %rdi
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x167550
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x348(%rax)
movq 0x20(%rsp), %rax
movq 0x348(%rax), %rax
movq 0x18(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x350(%rax)
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_if_a_a_opla_la_laq
static void opinit_if_a_a_opla_la_laq(s7_scheme *sc, bool a_op)
                {
                    s7_pointer caller;
                    rec_set_test(sc, cdr(sc->code));
                    rec_set_res(sc, (a_op) ?  cddr(sc->code) : cdddr(sc->code));
                    caller = opt3_pair(sc->code);
                    rec_set_f1(sc, cdadr(caller));
                    rec_set_f2(sc, cdaddr(caller));
                    rec_set_f3(sc, cdr(opt3_pair(caller)));
                    sc->rec_slot1 = let_slots(sc->envir);
                    sc->rec_call = c_callee(caller);
                }

// Assembly:
subq $0x28, %rsp
movb %sil, %al
movq %rdi, 0x20(%rsp)
andb $0x1, %al
movb %al, 0x1f(%rsp)
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
callq 0x164f40
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
testb $0x1, 0x1f(%rsp)
je 0x167a2f
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
jmp 0x167a47
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
callq 0x164fa0
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165000
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165060
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165610
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x348(%rax)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x3b8(%rax)
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_a_opla_la_laq
static s7_pointer oprec_if_a_a_opla_la_laq(s7_scheme *sc)
                {
                    if (sc->rec_testf(sc, sc->rec_testp) != sc->F)
                        return(sc->rec_resf(sc, sc->rec_resp));
                    recur_push(sc, sc->rec_f1f(sc, sc->rec_f1p));
                    recur_push(sc, sc->rec_f2f(sc, sc->rec_f2p));
                    slot_set_value(sc->rec_slot1, sc->rec_f3f(sc, sc->rec_f3p));
                    slot_set_value(sc->rec_slot1, recur_swap(sc, oprec_if_a_a_opla_la_laq(sc)));
                    recur_push(sc, oprec_if_a_a_opla_la_laq(sc));
                    slot_set_value(sc->rec_slot1, recur_ref(sc, 3));
                    set_car(sc->t3_1, oprec_if_a_a_opla_la_laq(sc));
                    set_car(sc->t3_2, recur_pop(sc));
                    set_car(sc->t3_3, recur_pop2(sc));
                    return(sc->rec_call(sc, sc->t3_1));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x360(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x2f0(%rcx), %rsi
callq *%rax
movq 0x28(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x167b4f
movq 0x28(%rsp), %rax
movq 0x3b0(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x340(%rcx), %rsi
callq *%rax
movq %rax, 0x30(%rsp)
jmp 0x167cdf
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x2f8(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x28(%rsp), %rax
movq 0x378(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x308(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
callq 0x167af0
movq 0x18(%rsp), %rdi
movq %rax, %rsi
callq 0x166990
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x28(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
callq 0x167af0
movq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x28(%rsp), %rdi
movl $0x3, %esi
callq 0x167610
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x28(%rsp), %rdi
callq 0x167af0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x580(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x588(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rdi
callq 0x167cf0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x590(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x3b8(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x580(%rcx), %rsi
callq *%rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_cond_a_a_opa_laq
static void opinit_cond_a_a_opa_laq(s7_scheme *sc)
                {
                    s7_pointer caller;
                    rec_set_test(sc, cadr(sc->code));
                    rec_set_res(sc, cdadr(sc->code));
                    caller = opt3_pair(sc->code);
                    rec_set_f1(sc, cdr(caller));
                    rec_set_f2(sc, cdr(opt3_pair(caller)));
                    sc->rec_slot1 = let_slots(sc->envir);
                    sc->rec_call = c_callee(caller);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x164f40
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x164fa0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x165000
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165060
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x348(%rax)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x3b8(%rax)
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_cond_a_a_opa_laaq
static void opinit_cond_a_a_opa_laaq(s7_scheme *sc)
                {
                    s7_pointer caller;
                    rec_set_test(sc, cadr(sc->code));
                    rec_set_res(sc, cdadr(sc->code));
                    caller = opt3_pair(sc->code);
                    rec_set_f1(sc, cdr(caller));
                    rec_set_f2(sc, cdr(opt3_pair(caller)));
                    rec_set_f3(sc, cddr(opt3_pair(caller)));
                    sc->rec_slot1 = let_slots(sc->envir);
                    sc->rec_slot2 = next_slot(sc->rec_slot1);
                    sc->rec_call = c_callee(caller);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x164f40
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x164fa0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x165000
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165060
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165610
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x348(%rax)
movq 0x10(%rsp), %rax
movq 0x348(%rax), %rax
movq 0x18(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x350(%rax)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x3b8(%rax)
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_cond_a_a_a_a_opla_laq
static void opinit_cond_a_a_a_a_opla_laq(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer caller;
                    rec_set_test(sc, cadr(code));
                    rec_set_res(sc, cdadr(code));
                    rec_set_f1(sc, caddr(code));
                    rec_set_f2(sc, cdaddr(code));
                    caller = opt3_pair(code);
                    rec_set_f3(sc, cdadr(caller));
                    rec_set_f4(sc, opt3_pair(caller));
                    sc->rec_slot1 = let_slots(sc->envir);
                    sc->rec_call = c_callee(caller);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x164f40
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x164fa0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x165000
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165060
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165610
movq 0x10(%rsp), %rdi
movq (%rsp), %rax
movq 0x28(%rax), %rsi
callq 0x1674f0
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x348(%rax)
movq (%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x3b8(%rax)
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_cond_a_a_a_a_opla_laq
static s7_pointer oprec_cond_a_a_a_a_opla_laq(s7_scheme *sc)
                {
                    if (sc->rec_testf(sc, sc->rec_testp) != sc->F)
                        return(sc->rec_resf(sc, sc->rec_resp));
                    if (sc->rec_f1f(sc, sc->rec_f1p) != sc->F)
                        return(sc->rec_f2f(sc, sc->rec_f2p));
                    recur_push(sc, sc->rec_f3f(sc, sc->rec_f3p));
                    slot_set_value(sc->rec_slot1, sc->rec_f4f(sc, sc->rec_f4p));
                    slot_set_value(sc->rec_slot1, recur_swap(sc, oprec_cond_a_a_a_a_opla_laq(sc)));
                    set_car(sc->t2_1, oprec_cond_a_a_a_a_opla_laq(sc));
                    set_car(sc->t2_2, recur_pop(sc));
                    return(sc->rec_call(sc, sc->t2_1));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x360(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f0(%rcx), %rsi
callq *%rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x1684ff
movq 0x18(%rsp), %rax
movq 0x3b0(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x340(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x16864f
movq 0x18(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f8(%rcx), %rsi
callq *%rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x168555
movq 0x18(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x16864f
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x378(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x308(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq 0x380(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x310(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
callq 0x1684a0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x166990
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
callq 0x1684a0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x3b8(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_cond_a_a_a_a_opa_laaq
static void opinit_cond_a_a_a_a_opa_laaq(s7_scheme *sc)
                {
                    s7_pointer caller;
                    rec_set_test(sc, cadr(sc->code));
                    rec_set_res(sc, cdadr(sc->code));

                    sc->rec_f1p = caddr(sc->code);
                    rec_set_f2(sc, cdr(sc->rec_f1p));
                    sc->rec_f1f = c_callee(sc->rec_f1p);
                    sc->rec_f1p = car(sc->rec_f1p);
                    caller = opt3_pair(sc->code);
                    rec_set_f3(sc, cdr(caller));
                    rec_set_f4(sc, opt3_pair(caller));
                    rec_set_f5(sc, cdr(opt3_pair(caller)));
                    sc->rec_slot1 = let_slots(sc->envir);
                    sc->rec_slot2 = next_slot(sc->rec_slot1);
                    sc->rec_call = c_callee(caller);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x164f40
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x164fa0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x2f8(%rax)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x2f8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165060
movq 0x10(%rsp), %rax
movq 0x2f8(%rax), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x368(%rax)
movq 0x10(%rsp), %rax
movq 0x2f8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x2f8(%rax)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x165610
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rsi
callq 0x1674f0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x167550
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x348(%rax)
movq 0x10(%rsp), %rax
movq 0x348(%rax), %rax
movq 0x18(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x350(%rax)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x3b8(%rax)
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_cond_a_a_a_a_opa_laaq
static s7_pointer oprec_cond_a_a_a_a_opa_laaq(s7_scheme *sc)
                {
                    if (sc->rec_testf(sc, sc->rec_testp) != sc->F)
                        return(sc->rec_resf(sc, sc->rec_resp));
                    if (sc->rec_f1f(sc, sc->rec_f1p) != sc->F)
                        return(sc->rec_f2f(sc, sc->rec_f2p));
                    recur_push(sc, sc->rec_f3f(sc, sc->rec_f3p));
                    recur_push(sc, sc->rec_f4f(sc, sc->rec_f4p));
                    slot_set_value(sc->rec_slot2, sc->rec_f5f(sc, sc->rec_f5p));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    set_car(sc->t2_2, oprec_cond_a_a_a_a_opa_laaq(sc));
                    set_car(sc->t2_1, recur_pop(sc));
                    return(sc->rec_call(sc, sc->t2_1));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x360(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f0(%rcx), %rsi
callq *%rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x16880f
movq 0x18(%rsp), %rax
movq 0x3b0(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x340(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x16897e
movq 0x18(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f8(%rcx), %rsi
callq *%rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x168865
movq 0x18(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x16897e
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x378(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x308(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x380(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x310(%rcx), %rsi
callq *%rax
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq 0x388(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x318(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x350(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
callq 0x1687b0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x3b8(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_cond_a_a_a_a_oplaa_laaq
static void opinit_cond_a_a_a_a_oplaa_laaq(s7_scheme *sc)
                {
                    s7_pointer caller;
                    rec_set_test(sc, cadr(sc->code));
                    rec_set_res(sc, cdadr(sc->code));
                    rec_set_f1(sc, caddr(sc->code));
                    rec_set_f2(sc, cdaddr(sc->code));

                    caller = opt3_pair(sc->code);  /* cadr(cadddr(sc->code)) = (cfunc laa laa) */

                    sc->rec_f3p = cdadr(caller);
                    rec_set_f4(sc, cdr(sc->rec_f3p));
                    sc->rec_f3f = c_callee(sc->rec_f3p);
                    sc->rec_f3p = car(sc->rec_f3p);
                    sc->rec_f5p = opt3_pair(caller);
                    rec_set_f6(sc, cdr(sc->rec_f5p));
                    sc->rec_f5f = c_callee(sc->rec_f5p);
                    sc->rec_f5p = car(sc->rec_f5p);
                    sc->rec_slot1 = let_slots(sc->envir);
                    sc->rec_slot2 = next_slot(sc->rec_slot1);
                    sc->rec_call = c_callee(caller);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x164f40
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x164fa0
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x165000
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165060
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x308(%rax)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x308(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x1674f0
movq 0x10(%rsp), %rax
movq 0x308(%rax), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x378(%rax)
movq 0x10(%rsp), %rax
movq 0x308(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x308(%rax)
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x318(%rax)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x318(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x1675b0
movq 0x10(%rsp), %rax
movq 0x318(%rax), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x388(%rax)
movq 0x10(%rsp), %rax
movq 0x318(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x318(%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x348(%rax)
movq 0x10(%rsp), %rax
movq 0x348(%rax), %rax
movq 0x18(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x350(%rax)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x3b8(%rax)
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_i_cond_a_a_a_laa_lopa_laaq_0
static s7_int oprec_i_cond_a_a_a_laa_lopa_laaq_0(s7_scheme *sc)
                {
                    s7_int i1, i2;
                    if (sc->rec_fb1(sc->rec_test_o))
                        return(sc->rec_fi1(sc->rec_result_o));
                    if (sc->rec_fb2(sc->rec_a1_o))
                    {
                        i1 = sc->rec_fi2(sc->rec_a2_o);
                        integer(sc->rec_val2) = sc->rec_fi3(sc->rec_a3_o);
                        integer(sc->rec_val1) = i1;
                        return(oprec_i_cond_a_a_a_laa_lopa_laaq_0(sc));
                    }
                    i1 = sc->rec_fi4(sc->rec_a4_o);
                    i2 = sc->rec_fi5(sc->rec_a5_o);
                    integer(sc->rec_val2) = sc->rec_fi6(sc->rec_a6_o);
                    integer(sc->rec_val1) = i2;
                    integer(sc->rec_val2) = oprec_i_cond_a_a_a_laa_lopa_laaq_0(sc);
                    integer(sc->rec_val1) = i1;
                    return(oprec_i_cond_a_a_a_laa_lopa_laaq_0(sc));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x3f0(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x400(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x169709
jmp 0x16972d
movq 0x18(%rsp), %rax
movq 0x3c0(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x408(%rcx), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x169883
movq 0x18(%rsp), %rax
movq 0x3f8(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x410(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x16974d
jmp 0x1697c2
movq 0x18(%rsp), %rax
movq 0x3c8(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x418(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x3d0(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x420(%rcx), %rdi
callq *%rax
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x458(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x1696e0
movq %rax, 0x20(%rsp)
jmp 0x169883
movq 0x18(%rsp), %rax
movq 0x3d8(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x428(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x3e0(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x430(%rcx), %rdi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x3e8(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x438(%rcx), %rdi
callq *%rax
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x458(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x1696e0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x458(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x1696e0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: closure_name
static s7_pointer closure_name(s7_scheme *sc, s7_pointer closure)
    {
        /* this is used by the error handlers to get the current function name */
        s7_pointer x;

        x = find_closure(sc, closure, sc->envir);
        if (is_symbol(x))
            return(x);

        if (is_pair(current_code(sc)))
            return(current_code(sc));

        return(closure); /* desperation -- the parameter list (caar here) will cause endless confusion in OP_APPLY errors! */
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0xd8b00
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x169b74
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x169b9f
movq 0x18(%rsp), %rax
movq 0x28(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x169b95
movq 0x18(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0x169b9f
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: set_star_args
static inline bool set_star_args(s7_scheme *sc, s7_pointer top)
                {
                    lambda_star_set_args(sc);                     /* load up current arg vals */
                    sc->args = top;
                    if (is_slot(sc->args))
                    {
                        /* get default values, which may involve evaluation -- see also OP_LAMBDA_STAR_DEFAULT  */
                        push_stack(sc, OP_GC_PROTECT, sc->args, sc->code);
                        if (lambda_star_default(sc) == goto_eval) return(true); /* else fall_through */
                        pop_stack_no_op(sc);              /* get original args and code back */
                    }
                    sc->code = closure_body(sc->code);
                    return(false);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq %rsi, (%rsp)
movq 0x8(%rsp), %rdi
callq 0x169d20
movq (%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0x16a925
jmp 0x16a86b
movq 0x8(%rsp), %rax
movq (%rax), %rcx
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1, %ecx
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x8(%rsp), %rdi
callq 0x16ab90
cmpl $0x5, %eax
jne 0x16a8e4
movb $0x1, 0x17(%rsp)
jmp 0x16a93e
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rsp), %rcx
movq 0x50(%rcx), %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rax)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rax)
xorl %eax, %eax
testb $0x1, %al
jne 0x16a921
jmp 0x16a923
jmp 0x16a919
jmp 0x16a925
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movb $0x0, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: lambda_star_argument_set_value
static s7_pointer lambda_star_argument_set_value(s7_scheme *sc, s7_pointer sym, s7_pointer val, s7_pointer slot, bool check_rest)
                {
                    s7_pointer x;
                    if (val == sc->no_value) val = sc->unspecified;
                    if (sym == slot_symbol(slot))
                        return(star_set(sc, slot, val, check_rest));
                    for (x = let_slots(sc->envir) /* presumably the arglist */; tis_slot(x); x = next_slot(x))
                        if (slot_symbol(x) == sym)
                            return(star_set(sc, x, val, check_rest));
                    return(sc->no_value);
                }

// Assembly:
subq $0x38, %rsp
movb %r8b, %al
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
movq 0x18(%rsp), %rax
movq 0x28(%rsp), %rcx
cmpq 0x138(%rcx), %rax
jne 0x16a995
movq 0x28(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jne 0x16a9c9
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movb 0xf(%rsp), %al
andb $0x1, %al
movzbl %al, %ecx
callq 0x16aa40
movq %rax, 0x30(%rsp)
jmp 0x16aa34
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x16aa23
movq (%rsp), %rax
movq 0x8(%rax), %rax
cmpq 0x20(%rsp), %rax
jne 0x16aa13
movq 0x28(%rsp), %rdi
movq (%rsp), %rsi
movq 0x18(%rsp), %rdx
movb 0xf(%rsp), %al
andb $0x1, %al
movzbl %al, %ecx
callq 0x16aa40
movq %rax, 0x30(%rsp)
jmp 0x16aa34
jmp 0x16aa15
movq (%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, (%rsp)
jmp 0x16a9da
movq 0x28(%rsp), %rax
movq 0x138(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: star_set
static s7_pointer star_set(s7_scheme *sc, s7_pointer slot, s7_pointer val, bool check_rest)
                {
                    if (is_checked_slot(slot))
                        return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_3(sc, parameter_set_twice_string, slot_symbol(slot), sc->args)));
                    if ((check_rest) && (is_rest_slot(slot)))
                        return(s7_error(sc, sc->wrong_type_arg_symbol,
                                    set_elist_3(sc, wrap_string(sc, "can't set rest arg ~S to ~S via keyword", 39),
                                        slot_symbol(slot), val)));
                    set_checked_slot(slot);
                    slot_set_value(slot, val);
                    return(val);
                }

// Assembly:
subq $0x58, %rsp
movb %cl, %al
movq %rdi, 0x48(%rsp)
movq %rsi, 0x40(%rsp)
movq %rdx, 0x38(%rsp)
andb $0x1, %al
movb %al, 0x37(%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %rax
andq $0x400000, %rax         # imm = 0x400000
cmpq $0x0, %rax
je 0x16aac9
movq 0x48(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x48(%rsp), %rax
movq 0x1940(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rdi
movq 0xb814a(%rip), %rsi     # 0x222be0
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rcx
callq 0xf240
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x50(%rsp)
jmp 0x16ab7e
testb $0x1, 0x37(%rsp)
je 0x16ab54
movq 0x40(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x16ab54
movq 0x48(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rax
movq 0x1940(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x48(%rsp), %rdi
leaq 0x84ea6(%rip), %rsi     # 0x1ef9bc
movl $0x27, %edx
callq 0xb880
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x38(%rsp), %rcx
callq 0xf240
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x50(%rsp)
jmp 0x16ab7e
movq 0x40(%rsp), %rax
movq (%rax), %rcx
orq $0x400000, %rcx         # imm = 0x400000
movq %rcx, (%rax)
movq 0x38(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x38(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
addq $0x58, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: safe_list_1
static s7_pointer safe_list_1(s7_scheme *sc)
                {
                    if (!list_is_in_use(sc->safe_lists[1]))
                    {
                        sc->current_safe_list = 1;
                        set_list_in_use(sc->safe_lists[1]);
                        return(sc->safe_lists[1]);
                    }
                    return(cons(sc, sc->nil, sc->nil));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x1f40(%rax), %rax
movzwl (%rax), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
jne 0x16af30
movq 0x28(%rsp), %rax
movl $0x1, 0x2138(%rax)
movq 0x28(%rsp), %rax
movq 0x1f40(%rax), %rax
movq (%rax), %rcx
orq $0x400, %rcx            # imm = 0x400
movq %rcx, (%rax)
movq 0x28(%rsp), %rax
movq 0x1f40(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x16afd5
movq 0x28(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x28(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x16af76
movq 0x28(%rsp), %rdi
callq 0xc670
movq 0x28(%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, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: safe_list_2
static s7_pointer safe_list_2(s7_scheme *sc)
                {
                    if (!list_is_in_use(sc->safe_lists[2]))
                    {
                        sc->current_safe_list = 2;
                        set_list_in_use(sc->safe_lists[2]);
                        return(sc->safe_lists[2]);
                    }
                    return(cons_unchecked(sc, sc->nil, cons(sc, sc->nil, sc->nil)));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0x1f48(%rax), %rax
movzwl (%rax), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
jne 0x16b040
movq 0x38(%rsp), %rax
movl $0x2, 0x2138(%rax)
movq 0x38(%rsp), %rax
movq 0x1f48(%rax), %rax
movq (%rax), %rcx
orq $0x400, %rcx            # imm = 0x400
movq %rcx, (%rax)
movq 0x38(%rsp), %rax
movq 0x1f48(%rax), %rax
movq %rax, 0x40(%rsp)
jmp 0x16b10f
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x38(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x16b0a1
movq 0x38(%rsp), %rdi
callq 0xc670
movq 0x38(%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 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdi
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, 0x18(%rsp)
movq 0x18(%rsp), %rdx
callq 0xd9f0
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: check_for_cyclic_code
static s7_pointer check_for_cyclic_code(s7_scheme *sc, s7_pointer code)
                {
                    if (tree_is_cyclic(sc, code))
                        eval_error(sc, "attempt to evaluate a circular list: ~A", 39, code);
                    resize_stack(sc); /* we've already checked that resize_stack is needed */
                    return(sc->F);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x2f870
testb $0x1, %al
jne 0x16dd43
jmp 0x16dda9
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rdi
leaq 0x81a45(%rip), %rsi     # 0x1ef7b9
movl $0x27, %edx
callq 0xb880
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movq 0x20(%rsp), %rdx
callq 0xb830
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x30(%rsp)
jmp 0x16ddc4
movq 0x28(%rsp), %rdi
callq 0x10fdc0
movq 0x28(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: append_in_place
static s7_pointer append_in_place(s7_scheme *sc, s7_pointer a, s7_pointer b)
                {
                    /* tack b onto the end of a without copying either -- 'a' is changed! */
                    s7_pointer p;
                    if (is_null(a))
                        return(b);
                    p = a;
                    while (is_not_null(cdr(p))) p = cdr(p);
                    set_cdr(p, b);
                    return(a);
                }

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq %rdx, -0x20(%rsp)
movq -0x18(%rsp), %rax
movq -0x10(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x16ddfe
movq -0x20(%rsp), %rax
movq %rax, -0x8(%rsp)
jmp 0x16de47
movq -0x18(%rsp), %rax
movq %rax, -0x28(%rsp)
movq -0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x16de2f
movq -0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rsp)
jmp 0x16de08
movq -0x20(%rsp), %rcx
movq -0x28(%rsp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: find_baffle
static bool find_baffle(s7_scheme *sc, s7_int key)
    {
        /* search backwards through sc->envir for sc->baffle_symbol with key as value */
        s7_pointer x, y;
        for (x = sc->envir; is_let(x); x = outlet(x))
            for (y = let_slots(x); tis_slot(y); y = next_slot(y))
                if ((slot_symbol(y) == sc->baffle_symbol) &&
                        (baffle_key(slot_value(y)) == key))
                    return(true);

        if ((is_slot(global_slot(sc->baffle_symbol))) &&
                (is_baffle(slot_value(global_slot(sc->baffle_symbol)))))
            return(baffle_key(slot_value(global_slot(sc->baffle_symbol))) == key);

        return(false);
    }

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq -0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rsp)
movq -0x20(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1c, %eax
jne 0x16e154
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rsp)
cmpq $0x0, -0x28(%rsp)
je 0x16e142
movq -0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rsp), %rcx
cmpq 0x17d8(%rcx), %rax
jne 0x16e130
movq -0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpq -0x18(%rsp), %rax
jne 0x16e130
movb $0x1, -0x1(%rsp)
jmp 0x16e1b5
jmp 0x16e132
movq -0x28(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rsp)
jmp 0x16e0f3
jmp 0x16e144
movq -0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rsp)
jmp 0x16e0d8
movq -0x10(%rsp), %rax
movq 0x17d8(%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0x16e1b0
movq -0x10(%rsp), %rax
movq 0x17d8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x27, %eax
jne 0x16e1b0
movq -0x10(%rsp), %rax
movq 0x17d8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpq -0x18(%rsp), %rax
sete %al
andb $0x1, %al
movb %al, -0x1(%rsp)
jmp 0x16e1b5
movb $0x0, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: let_temp_done
static void let_temp_done(s7_scheme *sc, s7_pointer args, s7_pointer code, s7_pointer let)
                {
                    /* called in call/cc, call-with-exit and, catch (unwind to catch) */
                    push_stack(sc, OP_EVAL_DONE, sc->args, sc->code);
                    sc->args = T_Pos(args);
                    sc->code = code;
                    sc->envir = let;
                    eval(sc, OP_LET_TEMP_DONE);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq (%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 0x10(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1df, %ecx            # imm = 0x1DF
movq %rcx, 0x18(%rax)
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x10(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rdi
movl $0x1ba, %esi            # imm = 0x1BA
callq 0x163d0
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: macroexpand_c_macro
static void macroexpand_c_macro(s7_scheme *sc)
                {
                    s7_int len;
                    len = safe_list_length(sc->args);
                    if (len < c_macro_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_macro_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_macro_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 0x16ee8e
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 0xb60d2(%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 0x16eef0
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 0xb3d20(%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)