LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: do_unchecked
static bool do_unchecked(s7_scheme *sc)
                {
                    if (is_null(car(sc->code)))                           /* (do () ...) -- (let ((i 0)) (do () ((= i 1)) (set! i 1))) */
                    {
                        sc->envir = new_frame_in_env(sc, sc->envir);
                        sc->args = cons_unchecked(sc, sc->nil, cadr(sc->code));
                        sc->code = cddr(sc->code);
                        return(false);
                    }
                    /* eval each init value, then set up the new frame (like let, not let*) */
                    sc->args = sc->nil;                             /* the evaluated var-data */
                    sc->value = sc->code;                           /* protect it */
                    sc->code = car(sc->code);                       /* the vars */
                    return(do_init_ex(sc) == goto_eval);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x13dbe3
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xc53b0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x110(%rax), %rsi
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0xd9f0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movb $0x0, 0x17(%rsp)
jmp 0x13dc33
movq 0x8(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rdi
callq 0x173b30
cmpl $0x5, %eax
sete %al
andb $0x1, %al
movb %al, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_do_end
static bool op_do_end(s7_scheme *sc)
                {
                    /* car(sc->args) here is the var list used by do_end2 */
                    if (is_pair(cdr(sc->args)))
                    {
                        if (!has_fx(cdr(sc->args)))
                        {
                            push_stack(sc, OP_DO_END1, sc->args, sc->code);
                            sc->code = cadr(sc->args);               /* evaluate the end expr */
                            return(true);
                        }
                        sc->value = fx_call(sc, cdr(sc->args));
                    }
                    else sc->value = sc->F;                 /* goto "if (is_pair(sc->code))..." below */
                    return(false);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x13dd44
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movzwl 0x6(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jne 0x13dd04
jmp 0x13dc81
movq 0x18(%rsp), %rax
movq (%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1e6, %ecx            # imm = 0x1E6
movq %rcx, 0x18(%rax)
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movb $0x1, 0x27(%rsp)
jmp 0x13dd5e
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x13dd59
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_do_step
static bool op_do_step(s7_scheme *sc)
                {
                    /* increment all vars, return to endtest
                     *   these are also updated in parallel at the end, so we gather all the incremented values first
                     *
                     * here we know car(sc->args) is not null, args is the list of steppable vars,
                     *   any unstepped vars in the do var section are not in this list, so
                     *   (do ((i 0 (+ i 1)) (j 2)) ...) arrives here with sc->args: '(slot<((+ i 1)=expr, 0=pending_value>))
                     */
                    push_stack(sc, OP_DO_END, sc->args, sc->code);
                    sc->args = car(sc->args);                /* the var data lists */
                    sc->code = sc->args;                     /* save the top of the list */
                    if (do_step1(sc)) return(true);
                    return(false);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
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 $0x1e5, %ecx            # imm = 0x1E5
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rdi
callq 0x18bab0
testb $0x1, %al
jne 0x13e173
jmp 0x13e17a
movb $0x1, 0x17(%rsp)
jmp 0x13e17f
movb $0x0, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_do_step2
static bool op_do_step2(s7_scheme *sc)
                {
                    if (is_multiple_value(sc->value))
                        eval_error(sc, "do: variable step value can't be ~S", 35, cons(sc, sc->values_symbol, sc->value));
                    slot_set_pending_value(car(sc->args), sc->value);  /* save current value */
                    sc->args = cdr(sc->args);                   /* go to next step var */
                    if (do_step1(sc)) return(true);
                    return(false);
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x20(%rax), %rax
movzwl (%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x13e2c0
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x48(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x48(%rsp), %rdi
leaq 0xb1d93(%rip), %rsi     # 0x1eff77
movl $0x23, %edx
callq 0xb880
movq %rax, 0x20(%rsp)
movq 0x48(%rsp), %rax
movq 0x1638(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x48(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x48(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x48(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x13e236
movq 0x48(%rsp), %rdi
callq 0xc670
movq 0x48(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdi
movq 0x38(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x40(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdx
callq 0xb830
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
cmpq $0x0, %rax
setne %al
andb $0x1, %al
movb %al, 0x57(%rsp)
jmp 0x13e328
jmp 0x13e2c2
movq 0x48(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x20(%rax)
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq (%rax), %rcx
orq $0x20000000, %rcx       # imm = 0x20000000
movq %rcx, (%rax)
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x48(%rsp), %rdi
callq 0x18bab0
testb $0x1, %al
jne 0x13e31c
jmp 0x13e323
movb $0x1, 0x57(%rsp)
jmp 0x13e328
movb $0x0, 0x57(%rsp)
movb 0x57(%rsp), %al
andb $0x1, %al
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: do_end_clauses
static bool do_end_clauses(s7_scheme *sc)
                {
                    if (is_null(sc->code))
                    {
                        if (is_multiple_value(sc->value))
                            sc->value = splice_in_values(sc, multiple_value(sc->value));
                        return(true);
                    }
                    return(false);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x13e39b
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movzwl (%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x13e394
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rsi
callq 0x28170
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x1, 0x17(%rsp)
jmp 0x13e3a0
movb $0x0, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: do_end_code
static goto_t do_end_code(s7_scheme *sc)
                {
                    if (is_pair(cdr(sc->code)))
                    {
                        if ((car(sc->code) == sc->feed_to_symbol) &&
                                (s7_symbol_value(sc, sc->feed_to_symbol) == sc->undefined))
                            return(goto_feed_to);
                        /* never has_fx(sc->code) here (first of a body) */
                        push_stack_no_args(sc, sc->begin_op, cdr(sc->code));
                        sc->code = car(sc->code);
                        return(goto_eval);
                    }
                    if (has_fx(sc->code))
                    {
                        sc->value = fx_call(sc, sc->code);
                        return(goto_start);
                    }
                    sc->code = T_Pair(car(sc->code));
                    return(goto_eval);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x13e494
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x18f0(%rcx), %rax
jne 0x13e41c
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x18f0(%rax), %rsi
callq 0xb3a0
movq 0x18(%rsp), %rcx
cmpq 0x128(%rcx), %rax
jne 0x13e41c
movl $0x10, 0x24(%rsp)
jmp 0x13e507
jmp 0x13e41e
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x688(%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movl $0x5, 0x24(%rsp)
jmp 0x13e507
movq 0x18(%rsp), %rax
movq (%rax), %rax
movzwl 0x6(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x13e4eb
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x20(%rax)
movl $0x0, 0x24(%rsp)
jmp 0x13e507
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movl $0x5, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_eval_string
static s7_pointer op_eval_string(s7_scheme *sc)
    {
        while (s7_peek_char(sc, sc->input_port) != eof_object) /* (eval-string "(+ 1 2) this is a mistake") */
        {
            int32_t tk;
            tk = token(sc);                             /* (eval-string "(+ 1 2) ; a comment (not a mistake)") */
            if (tk != TOKEN_EOF)
            {
                s7_int trail_len;
                s7_pointer trail_data;
                trail_len = port_data_size(sc->input_port) - port_position(sc->input_port) + 1;
                if (trail_len > 32) trail_len = 32;
                trail_data = make_string_with_length(sc, (const char *)(port_data(sc->input_port) + port_position(sc->input_port) - 1), trail_len);
                s7_close_input_port(sc, sc->input_port);
                pop_input_port(sc);
                s7_error(sc, sc->read_error_symbol, set_elist_2(sc, wrap_string(sc, "eval-string trailing junk: ~S", 29), trail_data));
            }
        }
        s7_close_input_port(sc, sc->input_port);
        pop_input_port(sc);
        sc->code = sc->value;
        return(NULL);
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x170(%rax), %rsi
callq 0x15de0
cmpq 0xd79ca(%rip), %rax     # 0x216290
je 0x13e9d9
movq 0x30(%rsp), %rdi
callq 0xc9560
movl %eax, 0x2c(%rsp)
cmpl $0x0, 0x2c(%rsp)
je 0x13e9d4
movq 0x30(%rsp), %rax
movq 0x170(%rax), %rax
movq 0x18(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x170(%rcx), %rcx
subq 0x20(%rcx), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
cmpq $0x20, 0x20(%rsp)
jle 0x13e91f
movq $0x20, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x170(%rax), %rax
movq 0x10(%rax), %rsi
movq 0x30(%rsp), %rax
movq 0x170(%rax), %rax
addq 0x20(%rax), %rsi
addq $-0x1, %rsi
movq 0x20(%rsp), %rdx
callq 0x144d0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x170(%rax), %rsi
callq 0x14ce0
movq 0x30(%rsp), %rdi
callq 0x274d0
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq 0x1908(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq %rax, (%rsp)
movq 0x30(%rsp), %rdi
leaq 0xb1609(%rip), %rsi     # 0x1effb0
movl $0x1d, %edx
callq 0xb880
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x18(%rsp), %rdx
callq 0xb830
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
jmp 0x13e8a9
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x170(%rax), %rsi
callq 0x14ce0
movq 0x30(%rsp), %rdi
callq 0x274d0
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
xorl %eax, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_define_constant1
static void op_define_constant1(s7_scheme *sc)
                {
                    if (is_pair(sc->code))
                        sc->code = car(sc->code); /* (define-constant (ex3 a)...) */
                    if (is_symbol(sc->code))
                    {
                        s7_pointer slot;
                        slot = symbol_to_slot(sc, sc->code);
                        set_possibly_constant(sc->code);
                        set_immutable(slot);
                        if (is_any_closure(slot_value(slot)))
                            set_immutable(slot_value(slot)); /* for the optimizer mainly */
                    }
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x13ed1d
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x13ed9c
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rsi
callq 0xfc80
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movzwl 0x6(%rax), %ecx
orl $0x1, %ecx
movw %cx, 0x6(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rcx
orq $0x1000000, %rcx        # imm = 0x1000000
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0xe39b2(%rip), %rax     # 0x222730
testb $0x1, (%rax,%rcx)
je 0x13ed9a
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rcx
orq $0x1000000, %rcx        # imm = 0x1000000
movq %rcx, (%rax)
jmp 0x13ed9c
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_set_pair_p_1
static bool op_set_pair_p_1(s7_scheme *sc)
                {
                    /* car(sc->code) is a pair, caar(code) is the object with a setter, it has one (safe) argument, and one safe value to set
                     *   (set! (str i) #\a) in a function (both inner things need to be symbols (or the second can be a quoted symbol) to get here)
                     *   the inner list is a proper list, with no embedded list at car.
                     */
                    s7_pointer arg, value;
                    value = sc->value;
                    arg = cadar(sc->code);
                    if (is_symbol(arg))
                        arg = lookup_checked(sc, arg);
                    else
                    {
                        if (is_pair(arg))
                            arg = cadr(arg); /* can only be (quote ...) in this case */
                    }
                    return(set_pair_p_3(sc, symbol_to_slot(sc, caar(sc->code)), arg, value));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x141e3f
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0xde990
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x141e15
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x141e29
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
jmp 0x141e60
movq 0x28(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x141e5e
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x28(%rsp)
jmp 0x141e60
movq 0x30(%rsp), %rax
movq %rax, (%rsp)
movq 0x30(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xfc80
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x28(%rsp), %rdx
movq 0x20(%rsp), %rcx
callq 0x140c10
andb $0x1, %al
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_set_pair
static bool op_set_pair(s7_scheme *sc)
                {
                    /* ([set!] (setter g) s) or ([set!] (str 0) #\a) */
                    s7_pointer obj, arg, value;
                    sc->code = cdr(sc->code);
                    value = cadr(sc->code);
                    if (is_symbol(value))
                        value = lookup_checked(sc, value);

                    arg = cadar(sc->code);
                    if (is_symbol(arg))
                        arg = lookup_checked(sc, arg);
                    else
                    {
                        if (is_pair(arg))
                            arg = cadr(arg); /* can only be (quote ...) in this case */
                    }
                    obj = caar(sc->code);
                    if (is_symbol(obj))
                        obj = symbol_to_slot(sc, obj);
                    return(set_pair_p_3(sc, obj, arg, value));
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x141f2f
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0xde990
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x141f07
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x141f1b
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0xdead0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x141fa7
movq 0x50(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0xde990
movq %rax, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x141f7d
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x141f91
movq 0x50(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x40(%rsp)
jmp 0x141fc8
movq 0x40(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x141fc6
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
jmp 0x141fc8
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x141ffe
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0xfc80
movq %rax, 0x48(%rsp)
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x38(%rsp), %rcx
callq 0x140c10
andb $0x1, %al
addq $0x58, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_set_pair_a
static inline void op_set_pair_a(s7_scheme *sc)
                {
                    s7_pointer obj, val, setter;
                    sc->code = cdr(sc->code);
                    obj = lookup_checked(sc, caar(sc->code));
                    setter = c_function_setter(obj);
                    val = fx_call(sc, cdr(sc->code));                /* this call can step on sc->tx_x */
                    set_car(sc->t2_1, cadar(sc->code));              /* might be a constant: (set! (mus-sound-srate "oboe.snd") 12345) */
                    if (is_symbol(car(sc->t2_1)))
                        set_car(sc->t2_1, lookup_checked(sc, cadar(sc->code)));
                    set_car(sc->t2_2, val);
                    sc->value = c_function_call(setter)(sc, sc->t2_1);
                }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x60(%rsp), %rax
movq %rcx, (%rax)
movq 0x60(%rsp), %rdi
movq 0x60(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x40(%rsp)
cmpq $0x0, 0x40(%rsp)
je 0x1420f0
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x14210f
movq 0x60(%rsp), %rdi
movq 0x60(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x30(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x60(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x60(%rsp), %rdi
movq 0x30(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x60(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x60(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x60(%rsp), %rax
movq 0x570(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x142223
movq 0x60(%rsp), %rdi
movq 0x60(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x1421e1
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x142204
movq 0x60(%rsp), %rdi
movq 0x60(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rcx
movq 0x60(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rcx
movq 0x60(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x60(%rsp), %rdi
movq 0x60(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x60(%rsp), %rax
movq %rcx, 0x20(%rax)
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_set_dilambda_sa_a
static void op_set_dilambda_sa_a(s7_scheme *sc)
                {
                    s7_pointer obj, func, val, setter;
                    sc->code = cdr(sc->code);
                    func = lookup(sc, caar(sc->code));
                    obj = lookup(sc, cadar(sc->code));
                    val = fx_call(sc, cdr(sc->code));
                    setter = closure_setter(func);
                    sc->envir = old_frame_with_two_slots(sc, closure_let(setter), obj, val);
                    sc->value = fx_call(sc, closure_body(setter));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x38(%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x40(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rsi
movq 0x38(%rsp), %rdx
movq 0x28(%rsp), %rcx
callq 0x164710
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, (%rsp)
movq (%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x20(%rax)
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_set_dilambda
static void op_set_dilambda(s7_scheme *sc) /* ([set!] (dilambda-setter g) s) */
                {
                    sc->code = cdr(sc->code);
                    sc->value = cadr(sc->code);
                    if (is_symbol(sc->value))
                        sc->value = lookup_checked(sc, sc->value);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x142713
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rsi
callq 0xde990
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x1426e3
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x1426fb
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x20(%rax)
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_increment_ss
static void op_increment_ss(s7_scheme *sc)
                {
                    s7_pointer slot;
                    sc->code = cdr(sc->code);
                    slot = symbol_to_slot(sc, car(sc->code));
                    set_car(sc->t2_1, slot_value(slot));
                    set_car(sc->t2_2, lookup(sc, opt2_sym(sc->code)));
                    slot_set_value(slot, sc->value = c_call(cadr(sc->code))(sc, sc->t2_1));
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xfc80
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x10(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rsi
callq 0xde990
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x20(%rax), %rax
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_increment_sa
static void op_increment_sa(s7_scheme *sc)
                {
                    s7_pointer slot, arg;
                    sc->code = cdr(sc->code);
                    slot = symbol_to_slot(sc, car(sc->code));
                    arg = opt2_pair(sc->code);
                    set_car(sc->t2_2, fx_call(sc, arg));
                    set_car(sc->t2_1, slot_value(slot));
                    slot_set_value(slot, sc->value = c_call(cadr(sc->code))(sc, sc->t2_1));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xfc80
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, (%rsp)
movq (%rsp), %rcx
movq 0x20(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x20(%rax), %rax
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x18(%rsp), %rax
movq %rcx, 0x10(%rax)
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_increment_saa
static void op_increment_saa(s7_scheme *sc)
                {
                    s7_pointer slot, arg, val;
                    sc->code = cdr(sc->code);
                    slot = symbol_to_slot(sc, car(sc->code));
                    arg = opt2_pair(sc->code);               /* cddr(value) */
                    val = fx_call(sc, cdr(arg));
                    set_car(sc->t3_2, fx_call(sc, arg));
                    set_car(sc->t3_3, val);
                    set_car(sc->t3_1, slot_value(slot));
                    slot_set_value(slot, sc->value = c_call(cadr(sc->code))(sc, sc->t3_1));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xfc80
movq %rax, 0x38(%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x588(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x590(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x40(%rsp), %rax
movq 0x580(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rcx
movq 0x580(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x38(%rsp), %rax
movq %rcx, 0x10(%rax)
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_increment_sp
static void op_increment_sp(s7_scheme *sc)
                {
                    s7_pointer sym;
                    sc->code = cdr(sc->code);
                    sym = symbol_to_slot(sc, car(sc->code));
                    push_stack(sc, OP_INCREMENT_SP_1, sym, sc->code);
                    sc->code = T_Pair(opt2_pair(sc->code)); /* caddr(cadr(sc->code)); */
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xfc80
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rcx
movq 0x10(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x10(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x318, %ecx            # imm = 0x318
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_increment_sp_1
static void op_increment_sp_1(s7_scheme *sc)
                {
                    set_car(sc->t2_1, slot_value(sc->args));
                    set_car(sc->t2_2, sc->value);
                    sc->value = c_call(cadr(sc->code))(sc, sc->t2_1);
                    slot_set_value(sc->args, sc->value);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x20(%rax), %rcx
movq (%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x20(%rax), %rax
movq (%rsp), %rdi
movq (%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
movq (%rsp), %rax
movq 0x20(%rax), %rcx
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x10(%rax)
popq %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_set_safe
static void op_set_safe(s7_scheme *sc)
                {
                    s7_pointer lx;
                    lx = symbol_to_slot(sc, sc->code);   /* SET_CASE above looks for car(sc->code) */
                    if (is_slot(lx))
                        slot_set_value(lx, sc->value);
                    else eval_error_no_return(sc, sc->unbound_variable_symbol, "~A: unbound variable", 20, sc->code);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rax
movq (%rax), %rsi
callq 0xfc80
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0x143961
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x1439c1
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x1958(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rdi
leaq 0xacb4c(%rip), %rsi     # 0x1f04dd
movl $0x14, %edx
callq 0xb880
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x20(%rsp), %rax
movq (%rax), %rdx
callq 0xb830
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_set_normal
static bool op_set_normal(s7_scheme *sc)
                {
                    s7_pointer x;
                    sc->code = cdr(sc->code);
                    x = cadr(sc->code);
                    if (is_pair(x))
                    {
                        push_stack_no_args(sc, OP_SET1, car(sc->code));
                        sc->code = x;
                        return(true);
                    }

                    if (is_symbol(x))
                        sc->value = lookup_checked(sc, x);
                    else sc->value = T_Pos(x);
                    sc->code = car(sc->code);
                    return(false);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x145f89
jmp 0x145f21
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq 0x28(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x28(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1ab, %ecx            # imm = 0x1AB
movq %rcx, 0x18(%rax)
movq 0x28(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movb $0x1, 0x37(%rsp)
jmp 0x146013
movq 0x20(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x145fec
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xde990
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x145fbe
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x145fd2
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x145ffa
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: activate_let
static void activate_let(s7_scheme *sc, s7_pointer e)
                {
                    if (!is_let(e))                    /* (with-let . "hi") */
                        eval_error_no_return(sc, sc->wrong_type_arg_symbol, "with-let takes an environment argument: ~A", 42, e);
                    if (e == sc->rootlet)
                        sc->envir = sc->nil;                             /* (with-let (rootlet) ...) */
                    else
                    {
                        set_with_let_let(e);
                        let_id(e) = ++sc->let_number;
                        sc->envir = e;
                        update_symbol_ids(sc, e);
                    }
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1c, %eax
je 0x147538
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x1940(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rdi
leaq 0xa93f6(%rip), %rsi     # 0x1f0901
movl $0x2a, %edx
callq 0xb880
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x18(%rsp), %rdx
callq 0xb830
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq 0x18(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq 0x150(%rcx), %rax
jne 0x147562
movq 0x20(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x1475b1
movq 0x18(%rsp), %rax
movq (%rax), %rcx
orq $0x40000, %rcx          # imm = 0x40000
movq %rcx, (%rax)
movq 0x20(%rsp), %rax
movq 0x250(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x250(%rax)
movq 0x18(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0xfba0
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_if
static void op_if(s7_scheme *sc)
                {
                    set_current_code(sc, sc->code);
                    check_if(sc);
                    push_stack_no_args(sc, OP_IF1, cdr(sc->code));
                    sc->code = car(sc->code);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rax
movq (%rax), %rcx
movq (%rsp), %rax
movq %rcx, 0x28(%rax)
movq (%rsp), %rdi
callq 0x193250
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1a7, %ecx            # imm = 0x1A7
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
popq %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_if1
static bool op_if1(s7_scheme *sc)
                {
                    if (is_true(sc, sc->value))
                        sc->code = car(sc->code);
                    else sc->code = unchecked_car(cdr(sc->code));   /* even pre-optimization, (if #f #f) ==> #<unspecified> because unique_car(sc->nil) = sc->unspecified */
                    if (is_pair(sc->code))
                        return(true);
                    if (is_symbol(sc->code))
                        sc->value = lookup_checked(sc, sc->code);
                    else sc->value = sc->code;
                    return(false);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x147706
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
jmp 0x14771e
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x147735
movb $0x1, 0x27(%rsp)
jmp 0x1477b4
movq 0x18(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x14779e
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rax
movq (%rax), %rsi
callq 0xde990
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x14776f
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
jmp 0x147785
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rax
movq (%rax), %rsi
callq 0xdead0
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x1477af
movq 0x18(%rsp), %rax
movq (%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: apply_boolean_method
static s7_pointer apply_boolean_method(s7_scheme *sc, s7_pointer obj, s7_pointer method)
    {
        s7_pointer func;
        func = find_method(sc, find_let(sc, obj), method);
        if (func == sc->undefined) return(sc->F);
        return(s7_apply_function(sc, func, list_1(sc, obj)));
    }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq %rdx, 0x48(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
callq 0x9a10
movq 0x18(%rsp), %rdi
movq %rax, %rsi
movq 0x48(%rsp), %rdx
callq 0x98d0
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x58(%rsp), %rcx
cmpq 0x128(%rcx), %rax
jne 0x147b8c
movq 0x58(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x60(%rsp)
jmp 0x147c4d
movq 0x58(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x58(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x58(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x58(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x147bdf
movq 0x58(%rsp), %rdi
callq 0xc670
movq 0x58(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdi
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x38(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdx
callq 0xda50
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
addq $0x68, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_cond_feed
static bool op_cond_feed(s7_scheme *sc)
                {
                    /* (cond (expr => p)) where p is (lambda (s) ...) -- see check_cond */
                    set_current_code(sc, sc->code);
                    sc->code = cdr(sc->code);
                    if (has_fx(car(sc->code)))
                        sc->value = fx_call(sc, car(sc->code));
                    else
                    {
                        push_stack_no_args(sc, OP_COND_FEED_1, sc->code);
                        sc->code = caar(sc->code);
                        return(true);
                    }
                    return(false);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movzwl 0x6(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x147ce5
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x147d53
jmp 0x147ce7
movq 0x18(%rsp), %rax
movq (%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x29c, %ecx            # imm = 0x29C
movq %rcx, 0x18(%rax)
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movb $0x1, 0x27(%rsp)
jmp 0x147d58
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)