LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: old_frame_with_two_slots
static s7_pointer old_frame_with_two_slots(s7_scheme *sc, s7_pointer env, s7_pointer val1, s7_pointer val2)
    {
        s7_pointer x, sym;
        uint64_t id;

        id = ++sc->let_number;
        let_id(env) = id;
        x = let_slots(env);
        slot_set_value(x, val1);
        sym = slot_symbol(x);
        symbol_set_local(sym, id, x);
        x = next_slot(x);
        slot_set_value(x, val2);
        sym = slot_symbol(x);
        symbol_set_local(sym, id, x);
        return(env);
    }

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movq %rcx, -0x20(%rsp)
movq -0x8(%rsp), %rcx
movq 0x250(%rcx), %rax
addq $0x1, %rax
movq %rax, 0x250(%rcx)
movq %rax, -0x38(%rsp)
movq -0x38(%rsp), %rcx
movq -0x10(%rsp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rsp)
movq -0x18(%rsp), %rcx
movq -0x28(%rsp), %rax
movq %rcx, 0x10(%rax)
movq -0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rsp)
movq -0x28(%rsp), %rcx
movq -0x30(%rsp), %rax
movq %rcx, 0x18(%rax)
movq -0x38(%rsp), %rcx
movq -0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
movq -0x30(%rsp), %rax
movl 0x28(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x28(%rax)
movq -0x28(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rsp)
movq -0x20(%rsp), %rcx
movq -0x28(%rsp), %rax
movq %rcx, 0x10(%rax)
movq -0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rsp)
movq -0x28(%rsp), %rcx
movq -0x30(%rsp), %rax
movq %rcx, 0x18(%rax)
movq -0x38(%rsp), %rcx
movq -0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
movq -0x30(%rsp), %rax
movl 0x28(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x28(%rax)
movq -0x10(%rsp), %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: annotate_args
static void annotate_args(s7_scheme *sc, s7_pointer args, s7_pointer e)
                {
                    s7_pointer p;
                    for (p = args; is_pair(p); p = cdr(p))
                    {
#if S7_DEBUGGING
                        annotate_arg(sc, p, e);
#else
                        set_c_call(p, fx_choose(sc, p, e, (is_list(e)) ? pair_symbol_is_safe : let_symbol_is_safe));
#endif
                    }
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq %rdx, 0x30(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x1648d3
jmp 0x164830
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movzbl (%rax), %ecx
movb $0x1, %al
cmpl $0x1, %ecx
movb %al, 0x27(%rsp)
je 0x164873
movq 0x30(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x2, %eax
sete %al
movb %al, 0x27(%rsp)
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdi
movb 0x27(%rsp), %r8b
leaq -0x5ec8e(%rip), %rcx    # 0x105c00
leaq -0x7775(%rip), %rax     # 0x15d120
testb $0x1, %r8b
cmovneq %rax, %rcx
callq 0x103260
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x28(%rsp), %rax
movzwl 0x6(%rax), %ecx
orl $0x4, %ecx
movw %cx, 0x6(%rax)
jmp 0x1648c0
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
jmp 0x16481d
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: old_frame_with_three_slots
static s7_pointer old_frame_with_three_slots(s7_scheme *sc, s7_pointer env, s7_pointer val1, s7_pointer val2, s7_pointer val3)
    {
        s7_pointer x, sym;
        uint64_t id;

        id = ++sc->let_number;
        let_id(env) = id;
        x = let_slots(env);

        slot_set_value(x, val1);
        sym = slot_symbol(x);
        symbol_set_local(sym, id, x);
        x = next_slot(x);

        slot_set_value(x, val2);
        sym = slot_symbol(x);
        symbol_set_local(sym, id, x);
        x = next_slot(x);

        slot_set_value(x, val3);
        sym = slot_symbol(x);
        symbol_set_local(sym, id, x);
        return(env);
    }

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movq %rcx, -0x20(%rsp)
movq %r8, -0x28(%rsp)
movq -0x8(%rsp), %rcx
movq 0x250(%rcx), %rax
addq $0x1, %rax
movq %rax, 0x250(%rcx)
movq %rax, -0x40(%rsp)
movq -0x40(%rsp), %rcx
movq -0x10(%rsp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rsp)
movq -0x18(%rsp), %rcx
movq -0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movq -0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rsp)
movq -0x30(%rsp), %rcx
movq -0x38(%rsp), %rax
movq %rcx, 0x18(%rax)
movq -0x40(%rsp), %rcx
movq -0x38(%rsp), %rax
movq %rcx, 0x20(%rax)
movq -0x38(%rsp), %rax
movl 0x28(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x28(%rax)
movq -0x30(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rsp)
movq -0x20(%rsp), %rcx
movq -0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movq -0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rsp)
movq -0x30(%rsp), %rcx
movq -0x38(%rsp), %rax
movq %rcx, 0x18(%rax)
movq -0x40(%rsp), %rcx
movq -0x38(%rsp), %rax
movq %rcx, 0x20(%rax)
movq -0x38(%rsp), %rax
movl 0x28(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x28(%rax)
movq -0x30(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rsp)
movq -0x28(%rsp), %rcx
movq -0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movq -0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rsp)
movq -0x30(%rsp), %rcx
movq -0x38(%rsp), %rax
movq %rcx, 0x18(%rax)
movq -0x40(%rsp), %rcx
movq -0x38(%rsp), %rax
movq %rcx, 0x20(%rax)
movq -0x38(%rsp), %rax
movl 0x28(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x28(%rax)
movq -0x10(%rsp), %rax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: make_slot
static s7_pointer make_slot(s7_scheme *sc, s7_pointer variable, s7_pointer value)
    {
        /* this is for a do-loop optimization -- an unattached slot */
        s7_pointer y;
        new_cell(sc, y, T_SLOT);
        slot_set_symbol(y, variable);
        slot_set_value(y, value);
        return(y);
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x20(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x164bf7
movq 0x20(%rsp), %rdi
callq 0xc670
movq 0x20(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq $0x20, (%rax)
movq 0x18(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_tc_z
static bool op_tc_z(s7_scheme *sc, s7_pointer expr)
                {
                    if (has_fx(expr))
                    {
                        sc->value = fx_call(sc, expr);
                        return(true);
                    }
                    sc->code = car(expr);
                    return(false);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x164caa
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, (%rsp)
movq (%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x1, 0x27(%rsp)
jmp 0x164cc0
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: recur_make_stack
static s7_pointer recur_make_stack(s7_scheme *sc)
                {
                    if (!sc->rec_stack)
                    {
                        sc->rec_stack = make_simple_vector(sc, RECUR_INITIAL_STACK_SIZE);
                        sc->rec_len = RECUR_INITIAL_STACK_SIZE;
                    }
                    sc->rec_loc = 0;
                    return(sc->rec_stack);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x2e8(%rax)
jne 0x164d0e
movq (%rsp), %rdi
movl $0x400, %esi            # imm = 0x400
callq 0x34da0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x2e8(%rax)
movq (%rsp), %rax
movq $0x400, 0x2d8(%rax) # imm = 0x400
movq (%rsp), %rax
movq $0x0, 0x2d0(%rax)
movq (%rsp), %rax
movq 0x2e8(%rax), %rax
popq %rcx
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_if_a_a_opa_laq
static void opinit_if_a_a_opa_laq(s7_scheme *sc, bool a_op, s7_pointer code)
                {
                    s7_pointer caller;

                    rec_set_test(sc, cdr(code));
                    rec_set_res(sc, (a_op) ?  cddr(code) : cdddr(code));
                    caller = opt3_pair(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 $0x38, %rsp
movb %sil, %al
movq %rdi, 0x30(%rsp)
andb $0x1, %al
movb %al, 0x2f(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x164f40
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
testb $0x1, 0x2f(%rsp)
je 0x164d7f
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x164d95
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x164fa0
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x165000
movq 0x30(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165060
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x348(%rax)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x3b8(%rax)
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_a_opa_laq
static s7_pointer oprec_if_a_a_opa_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));
                    slot_set_value(sc->rec_slot1, sc->rec_f2f(sc, sc->rec_f2p));
                    set_car(sc->t2_2, oprec_if_a_a_opa_laq(sc));
                    set_car(sc->t2_1, recur_pop(sc));
                    return(sc->rec_call(sc, sc->t2_1));
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x360(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x2f0(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x164e6f
movq 0x8(%rsp), %rax
movq 0x3b0(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x340(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0x164f33
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x2f8(%rcx), %rsi
callq *%rax
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x8(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rdi
callq 0x164e10
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
movq 0x3b8(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: recur_push
static inline void recur_push(s7_scheme *sc, s7_pointer value)
                {
                    if (sc->rec_loc == sc->rec_len)
                        recur_resize(sc);
                    vector_element(sc->rec_stack, sc->rec_loc) = value;
                    sc->rec_loc++;
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq 0x2d0(%rax), %rax
movq 0x10(%rsp), %rcx
cmpq 0x2d8(%rcx), %rax
jne 0x1650f2
movq 0x10(%rsp), %rdi
callq 0x165180
movq 0x8(%rsp), %rdx
movq 0x10(%rsp), %rax
movq 0x2e8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rsp), %rcx
movq 0x2d0(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x10(%rsp), %rax
movq 0x2d0(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x2d0(%rax)
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: recur_resize
static void recur_resize(s7_scheme *sc)
                {
                    s7_pointer stack;
                    block_t *ob, *nb;

                    stack = sc->rec_stack;
                    vector_length(stack) = sc->rec_len * 2;
                    ob = vector_block(stack);
                    nb = reallocate(sc, ob, vector_length(stack) * sizeof(s7_pointer));
                    block_info(nb) = NULL;
                    vector_block(stack) = nb;
                    vector_elements(stack) = (s7_pointer *)block_data(nb); /* GC looks only at elements within sc->rec_loc */
                    sc->rec_len = vector_length(stack);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x2e8(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x2d8(%rax), %rcx
shlq %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdx
shlq $0x3, %rdx
callq 0xbb60
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq $0x0, 0x20(%rax)
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x2d8(%rax)
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_opa_laq_a
static s7_pointer oprec_if_a_opa_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));
                    slot_set_value(sc->rec_slot1, sc->rec_f2f(sc, sc->rec_f2p));
                    set_car(sc->t2_2, oprec_if_a_opa_laq_a(sc));
                    set_car(sc->t2_1, recur_pop(sc));
                    return(sc->rec_call(sc, sc->t2_1));
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x360(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x2f0(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x16528f
movq 0x8(%rsp), %rax
movq 0x3b0(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x340(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0x165353
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x2f8(%rcx), %rsi
callq *%rax
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x8(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rdi
callq 0x165230
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
movq 0x3b8(%rax), %rax
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_if_a_a_opa_laaq
static void opinit_if_a_a_opa_laaq(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, 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 $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 0x1653af
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
jmp 0x1653c7
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), %rsi
callq 0x165000
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x165060
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x10(%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 0x20(%rsp), %rax
movq 0x348(%rax), %rax
movq 0x18(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x350(%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_opa_laaq
static s7_pointer oprec_if_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));
                    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_slot2, sc->rec_f3f(sc, sc->rec_f3p));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    set_car(sc->t2_2, oprec_if_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 0x1654df
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 0x1655f8
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f8(%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 0x370(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq 0x10(%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 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 0x165480
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
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_opa_laaq_a
static s7_pointer oprec_if_a_opa_laaq_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_slot2, sc->rec_f3f(sc, sc->rec_f3p));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    set_car(sc->t2_2, oprec_if_a_opa_laaq_a(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
jne 0x1656cf
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 0x1657e8
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f8(%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 0x370(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq 0x10(%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 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 0x165670
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
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_i_if_a_a_opla_laq_0
static s7_int oprec_i_if_a_a_opla_laq_0(s7_scheme *sc)
                {
                    s7_int i1, i2;
                    if (sc->rec_fb1(sc->rec_test_o))
                        return(sc->rec_fi1(sc->rec_result_o));
                    i1 = sc->rec_fi2(sc->rec_a1_o);
                    integer(sc->rec_val1) = sc->rec_fi3(sc->rec_a2_o);
                    if (sc->rec_fb1(sc->rec_test_o))
                        i2 = sc->rec_fi1(sc->rec_result_o);
                    else
                    {
                        s7_int i3;
                        i2 = sc->rec_fi2(sc->rec_a1_o);
                        integer(sc->rec_val1) = sc->rec_fi3(sc->rec_a2_o);
                        i3 = oprec_i_if_a_a_opla_laq_0(sc);
                        integer(sc->rec_val1) = i2;
                        i2 = sc->rec_i_ii_f(oprec_i_if_a_a_opla_laq_0(sc), i3);
                    }
                    integer(sc->rec_val1) = i1;
                    return(sc->rec_i_ii_f(oprec_i_if_a_a_opla_laq_0(sc), i2));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x3f0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x400(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x165e09
jmp 0x165e2d
movq 0x28(%rsp), %rax
movq 0x3c0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x408(%rcx), %rdi
callq *%rax
movq %rax, 0x30(%rsp)
jmp 0x165f9e
movq 0x28(%rsp), %rax
movq 0x3c8(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x410(%rcx), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
movq 0x3d0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x418(%rcx), %rdi
callq *%rax
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x3f0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x400(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x165e99
jmp 0x165ebd
movq 0x28(%rsp), %rax
movq 0x3c0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x408(%rcx), %rdi
callq *%rax
movq %rax, 0x18(%rsp)
jmp 0x165f5c
movq 0x28(%rsp), %rax
movq 0x3c8(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x410(%rcx), %rdi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x3d0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x418(%rcx), %rdi
callq *%rax
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rdi
callq 0x165de0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rcx
movq 0x28(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x440(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rdi
callq 0x165de0
movq %rax, %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rsi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x440(%rax), %rax
movq %rax, (%rsp)
movq 0x28(%rsp), %rdi
callq 0x165de0
movq %rax, %rdi
movq (%rsp), %rax
movq 0x18(%rsp), %rsi
callq *%rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_i_if_a_opla_laq_a_0
static s7_int oprec_i_if_a_opla_laq_a_0(s7_scheme *sc)
                {
                    s7_int i1, i2;
                    if (!sc->rec_fb1(sc->rec_test_o))
                        return(sc->rec_fi1(sc->rec_result_o));
                    i1 = sc->rec_fi2(sc->rec_a1_o);
                    integer(sc->rec_val1) = sc->rec_fi3(sc->rec_a2_o);
                    if (!sc->rec_fb1(sc->rec_test_o))
                        i2 = sc->rec_fi1(sc->rec_result_o);
                    else
                    {
                        s7_int i3;
                        i2 = sc->rec_fi2(sc->rec_a1_o);
                        integer(sc->rec_val1) = sc->rec_fi3(sc->rec_a2_o);
                        i3 = oprec_i_if_a_opla_laq_a_0(sc);
                        integer(sc->rec_val1) = i2;
                        i2 = sc->rec_i_ii_f(oprec_i_if_a_opla_laq_a_0(sc), i3);
                    }
                    integer(sc->rec_val1) = i1;
                    return(sc->rec_i_ii_f(oprec_i_if_a_opla_laq_a_0(sc), i2));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x3f0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x400(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x165ffb
movq 0x28(%rsp), %rax
movq 0x3c0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x408(%rcx), %rdi
callq *%rax
movq %rax, 0x30(%rsp)
jmp 0x16616a
movq 0x28(%rsp), %rax
movq 0x3c8(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x410(%rcx), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
movq 0x3d0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x418(%rcx), %rdi
callq *%rax
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x3f0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x400(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x166089
movq 0x28(%rsp), %rax
movq 0x3c0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x408(%rcx), %rdi
callq *%rax
movq %rax, 0x18(%rsp)
jmp 0x166128
movq 0x28(%rsp), %rax
movq 0x3c8(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x410(%rcx), %rdi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x3d0(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x418(%rcx), %rdi
callq *%rax
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rdi
callq 0x165fb0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rcx
movq 0x28(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x440(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rdi
callq 0x165fb0
movq %rax, %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rsi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x440(%rax), %rax
movq %rax, (%rsp)
movq 0x28(%rsp), %rdi
callq 0x165fb0
movq %rax, %rdi
movq (%rsp), %rax
movq 0x18(%rsp), %rsi
callq *%rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_i_if_a_a_opla_laq
static s7_int oprec_i_if_a_a_opla_laq(s7_scheme *sc)
                {
                    s7_int i1, i2;
                    sc->pc = 0;
                    if (sc->rec_test_o->v[0].fb(sc->rec_test_o))                             /* if_(A) */
                    {
                        sc->pc++;
                        return(sc->rec_result_o->v[0].fi(sc->rec_result_o));                 /* if_a_(A) */
                    }
                    sc->pc = sc->rec_pc1;
                    i1 = sc->rec_a1_o->v[0].fi(sc->rec_a1_o);                                /* save a1 */
                    sc->pc++;
                    integer(sc->rec_val1) = sc->rec_a2_o->v[0].fi(sc->rec_a2_o);             /* slot1 = a2 */
                    i2 = oprec_i_if_a_a_opla_laq(sc);                                        /* save la2 */
                    integer(sc->rec_val1) = i1;                                              /* slot1 = a1 */
                    return(sc->rec_i_ii_f(oprec_i_if_a_a_opla_laq(sc), i2));                   /* call op(la1, la2) */
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movl $0x0, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x400(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x400(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x1661bb
jmp 0x1661f6
movq 0x18(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x408(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x408(%rcx), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x1662c3
movq 0x18(%rsp), %rax
movl 0x460(%rax), %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x410(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x410(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x418(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x418(%rcx), %rdi
callq *%rax
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x166180
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x440(%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x166180
movq %rax, %rdi
movq (%rsp), %rax
movq 0x8(%rsp), %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: oprec_i_if_a_opla_laq_a
static s7_int oprec_i_if_a_opla_laq_a(s7_scheme *sc)
                {
                    s7_int i1, i2;
                    sc->pc = 0;
                    if (!(sc->rec_test_o->v[0].fb(sc->rec_test_o)))
                    {
                        sc->pc++;
                        return(sc->rec_result_o->v[0].fi(sc->rec_result_o));
                    }
                    sc->pc = sc->rec_pc1;
                    i1 = sc->rec_a1_o->v[0].fi(sc->rec_a1_o);
                    sc->pc++;
                    integer(sc->rec_val1) = sc->rec_a2_o->v[0].fi(sc->rec_a2_o);
                    i2 = oprec_i_if_a_opla_laq_a(sc);
                    integer(sc->rec_val1) = i1;
                    return(sc->rec_i_ii_f(oprec_i_if_a_opla_laq_a(sc), i2));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movl $0x0, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x400(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x400(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x166344
movq 0x18(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x408(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x408(%rcx), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x166411
movq 0x18(%rsp), %rax
movl 0x460(%rax), %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x410(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x410(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x418(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x418(%rcx), %rdi
callq *%rax
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x1662d0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x440(%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x1662d0
movq %rax, %rdi
movq (%rsp), %rax
movq 0x8(%rsp), %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: oprec_if_a_a_opla_laq
static s7_pointer oprec_if_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));
                    recur_push(sc, sc->rec_f1f(sc, sc->rec_f1p));
                    slot_set_value(sc->rec_slot1, sc->rec_f2f(sc, sc->rec_f2p));
                    slot_set_value(sc->rec_slot1, recur_swap(sc, oprec_if_a_a_opla_laq(sc)));
                    set_car(sc->t2_1, oprec_if_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 0x16647f
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 0x166579
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f8(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x300(%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 0x166420
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 0x166420
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
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_opla_laq_a
static s7_pointer oprec_if_a_opla_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));
                    slot_set_value(sc->rec_slot1, sc->rec_f2f(sc, sc->rec_f2p));
                    slot_set_value(sc->rec_slot1, recur_swap(sc, oprec_if_a_opla_laq_a(sc)));
                    set_car(sc->t2_1, oprec_if_a_opla_laq_a(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
jne 0x1665ef
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 0x1666e9
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f8(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x300(%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 0x166590
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 0x166590
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
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_d_if_a_a_opla_laq
static s7_double oprec_d_if_a_a_opla_laq(s7_scheme *sc)
                {
                    s7_double x1, x2;
                    sc->pc = 0;
                    if (sc->rec_test_o->v[0].fb(sc->rec_test_o))
                    {
                        sc->pc++;
                        return(sc->rec_result_o->v[0].fd(sc->rec_result_o));
                    }
                    sc->pc = sc->rec_pc1;
                    x1 = sc->rec_a1_o->v[0].fd(sc->rec_a1_o);
                    real(sc->rec_val1) = sc->rec_a2_o->v[0].fd(sc->rec_a2_o);
                    x2 = oprec_d_if_a_a_opla_laq(sc);
                    real(sc->rec_val1) = x1;
                    return(sc->rec_d_dd_f(oprec_d_if_a_a_opla_laq(sc), x2));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movl $0x0, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x400(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x400(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x16673b
jmp 0x166777
movq 0x18(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x408(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x408(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x20(%rsp)
jmp 0x166831
movq 0x18(%rsp), %rax
movl 0x460(%rax), %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x410(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x410(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x418(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x418(%rcx), %rdi
callq *%rax
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movsd %xmm0, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x166700
movsd %xmm0, 0x8(%rsp)
movsd 0x10(%rsp), %xmm0
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movsd %xmm0, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x448(%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x166700
movq (%rsp), %rax
movsd 0x8(%rsp), %xmm1
callq *%rax
movsd %xmm0, 0x20(%rsp)
movsd 0x20(%rsp), %xmm0
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_d_if_a_opla_laq_a
static s7_double oprec_d_if_a_opla_laq_a(s7_scheme *sc)
                {
                    s7_double x1, x2;
                    sc->pc = 0;
                    if (!(sc->rec_test_o->v[0].fb(sc->rec_test_o)))
                    {
                        sc->pc++;
                        return(sc->rec_result_o->v[0].fd(sc->rec_result_o));
                    }
                    sc->pc = sc->rec_pc1;
                    x1 = sc->rec_a1_o->v[0].fd(sc->rec_a1_o);
                    sc->pc++;
                    real(sc->rec_val1) = sc->rec_a2_o->v[0].fd(sc->rec_a2_o);
                    x2 = oprec_d_if_a_opla_laq_a(sc);
                    real(sc->rec_val1) = x1;
                    return(sc->rec_d_dd_f(oprec_d_if_a_opla_laq_a(sc), x2));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movl $0x0, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x400(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x400(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x1668b5
movq 0x18(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x408(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x408(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x20(%rsp)
jmp 0x166983
movq 0x18(%rsp), %rax
movl 0x460(%rax), %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x410(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x410(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x418(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x418(%rcx), %rdi
callq *%rax
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movsd %xmm0, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x166840
movsd %xmm0, 0x8(%rsp)
movsd 0x10(%rsp), %xmm0
movq 0x18(%rsp), %rax
movq 0x450(%rax), %rax
movsd %xmm0, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x448(%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x166840
movq (%rsp), %rax
movsd 0x8(%rsp), %xmm1
callq *%rax
movsd %xmm0, 0x20(%rsp)
movsd 0x20(%rsp), %xmm0
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opinit_if_a_a_opa_la_laq
static void opinit_if_a_a_opa_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, cdr(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 0x166a4f
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
jmp 0x166a67
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), %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 %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_a_opa_la_laq
static s7_pointer oprec_if_a_a_opa_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_opa_la_laq(sc)));
                    set_car(sc->t3_2, oprec_if_a_a_opa_la_laq(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
je 0x166b6f
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 0x166cba
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 0x166b10
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 0x166b10
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)