LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_dd_fff_rev
static s7_double opt_d_dd_fff_rev(opt_info *o) /* faster with o->sc? */
                {
                    opt_info *o1, *o2;
                    s7_double x1, x2;
                    s7_scheme *sc;
                    sc = o->sc;
                    o1 = sc->opts[++sc->pc];
                    x1 = o1->v[4].d_dd_f(real(slot_value(o1->v[1].p)), o1->v[5].d_7pi_f(sc, slot_value(o1->v[2].p), integer(slot_value(o1->v[3].p))));
                    o2 = sc->opts[++sc->pc];
                    x2 = o2->v[4].d_dd_f(real(slot_value(o2->v[1].p)), o2->v[5].d_7pi_f(sc, slot_value(o2->v[2].p), integer(slot_value(o2->v[3].p))));
                    oo_rc(sc, o, 4, 0);
                    return(o->v[3].d_dd_f(x1, x2));
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x28(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x48(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, 0x10(%rsp)
movq 0x48(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x48(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x10(%rcx), %rsi
movq 0x48(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rdx
callq *%rax
movq 0x8(%rsp), %rax
movaps %xmm0, %xmm1
movsd 0x10(%rsp), %xmm0
callq *%rax
movsd %xmm0, 0x38(%rsp)
movq 0x28(%rsp), %rax
movq 0x28(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, 0x20(%rsp)
movq 0x40(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x40(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x10(%rcx), %rsi
movq 0x40(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rdx
callq *%rax
movq 0x18(%rsp), %rax
movaps %xmm0, %xmm1
movsd 0x20(%rsp), %xmm0
callq *%rax
movsd %xmm0, 0x30(%rsp)
movq 0x50(%rsp), %rax
movq 0x18(%rax), %rax
movsd 0x38(%rsp), %xmm0
movsd 0x30(%rsp), %xmm1
callq *%rax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_7pi_ff
static s7_double opt_d_7pi_ff(opt_info *o)
                {
                    s7_pointer seq;
#if 0
                    opt_info *o1;
                    s7_scheme *sc;
                    sc = o->sc;
                    oo_rc(sc, o, 10, 0);
                    o1 = sc->opts[++sc->pc];
                    seq = o1->v[0].fp(o1);
#else
                    oo_rc(o->sc, o, 10, 0);
                    o->sc->pc++;
                    seq = o->v[5].fp(o->v[4].o1);
#endif
#if 0
                    o1 = sc->opts[++sc->pc];
                    return(o->v[3].d_7pi_f(sc, seq, o1->v[0].fi(o1)));
#else
                    o->sc->pc++;
                    return(o->v[3].d_7pi_f(o->sc, seq, o->v[9].fi(o->v[8].o1)));
#endif
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x20(%rcx), %rdi
callq *%rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x48(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x40(%rcx), %rdi
callq *%rax
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq %rax, %rdx
movq 0x10(%rsp), %rax
callq *%rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_ddd_sff
static s7_double opt_d_ddd_sff(opt_info *o)
                {
                    opt_info *o1;
                    s7_double x1;
                    s7_scheme *sc;
                    sc = o->sc;
                    o1 = sc->opts[++sc->pc];
                    x1 = o1->v[0].fd(o1);
                    o1 = sc->opts[++sc->pc];
                    oo_rc(sc, o, 5, 1);
                    return(o->v[4].d_ddd_f(real(slot_value(o->v[1].p)), x1, o1->v[0].fd(o1)));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x18(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rdi
callq *%rax
movsd %xmm0, 0x20(%rsp)
movq 0x18(%rsp), %rax
movq 0x18(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0x20(%rsp), %xmm0
movsd %xmm0, (%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rdi
callq *%rax
movsd (%rsp), %xmm1
movq 0x8(%rsp), %rax
movaps %xmm0, %xmm2
movsd 0x10(%rsp), %xmm0
callq *%rax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_ddd_fff
static s7_double opt_d_ddd_fff(opt_info *o)
                {
                    opt_info *o1, *o2, *o3;
                    s7_double x1, x2;
                    s7_scheme *sc;
                    sc = o->sc;
                    o1 = sc->opts[++sc->pc];
                    x1 = o1->v[0].fd(o1); /* this could involve nested funcs, incrementing pc internally */
                    o2 = sc->opts[++sc->pc];
                    x2 = o2->v[0].fd(o2);
                    o3 = sc->opts[++sc->pc];
                    oo_rc(o->sc, o, 5, 0);
                    return(o->v[4].d_ddd_f(x1, x2, o3->v[0].fd(o3)));
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x48(%rsp), %rdi
callq *%rax
movsd %xmm0, 0x30(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x40(%rsp), %rdi
callq *%rax
movsd %xmm0, 0x28(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x38(%rsp)
movq 0x50(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x10(%rsp)
movsd 0x30(%rsp), %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0x28(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x38(%rsp), %rdi
callq *%rax
movsd 0x8(%rsp), %xmm1
movq 0x10(%rsp), %rax
movaps %xmm0, %xmm2
movsd 0x18(%rsp), %xmm0
callq *%rax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_ddd_fff1
static s7_double opt_d_ddd_fff1(opt_info *o)
                {
                    s7_double x1, x2, x3;
                    x1 = o->v[1].d_v_f(o->v[2].obj);
                    x2 = o->v[3].d_v_f(o->v[4].obj);
                    x3 = o->v[5].d_v_f(o->v[6].obj);
                    oo_rc(o->sc, o, 8, 3);
                    return(o->v[7].d_ddd_f(x1, x2, x3));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x10(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x20(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x30(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x38(%rax), %rax
movsd 0x18(%rsp), %xmm0
movsd 0x10(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq *%rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_ddd_fff2
static s7_double opt_d_ddd_fff2(opt_info *o)
                {
                    opt_info *o2, *o3;
                    s7_double x1, x2;
                    s7_scheme *sc;
                    sc = o->sc;
                    x1 = o->v[1].d_v_f(o->v[2].obj);
                    sc->pc += 2;
                    o2 = sc->opts[sc->pc];
                    x2 = o2->v[0].fd(o2);
                    o3 = sc->opts[++sc->pc];
                    oo_rc(sc, o, 8, 1);
                    return(o->v[7].d_ddd_f(x1, x2, o3->v[0].fd(o3)));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x40(%rsp), %rcx
movq 0x10(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x28(%rsp)
movq 0x18(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x18(%rsp), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x38(%rsp), %rdi
callq *%rax
movsd %xmm0, 0x20(%rsp)
movq 0x18(%rsp), %rax
movq 0x18(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rax
movq 0x38(%rax), %rax
movq %rax, 0x8(%rsp)
movsd 0x28(%rsp), %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0x20(%rsp), %xmm0
movsd %xmm0, (%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x30(%rsp), %rdi
callq *%rax
movsd (%rsp), %xmm1
movq 0x8(%rsp), %rax
movaps %xmm0, %xmm2
movsd 0x10(%rsp), %xmm0
callq *%rax
addq $0x48, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_fmv
static inline s7_double opt_fmv(opt_info *o)
                {
                    /* d_vid_ssf -> d_dd_ff_o1 -> d_vd_o1 -> d_dd_ff_o3 */
                    opt_info *o1, *o2, *o3;
                    s7_double amp_env, index_env, vib;
                    s7_scheme *sc;
                    sc = o->sc;

                    o1 = sc->opts[sc->pc + 1];
                    o2 = sc->opts[sc->pc + 3];
                    o3 = sc->opts[sc->pc += 5];
                    amp_env = o1->v[2].d_v_f(o1->v[1].obj);
                    vib = real(slot_value(o2->v[2].p));
                    index_env = o3->v[5].d_v_f(o3->v[1].obj);

                    oo_rc(o->sc, o, 6, 2);
                    return(o->v[4].d_vid_f(o->v[5].obj,
                                integer(slot_value(o->v[2].p)),
                                amp_env * o2->v[3].d_vd_f(o2->v[5].obj,
                                    vib + (index_env * o3->v[6].d_vd_f(o3->v[2].obj, vib)))));
                }

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movq 0x80(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x48(%rsp), %rcx
movl 0x2258(%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x78(%rsp)
movq 0x48(%rsp), %rax
movq 0x48(%rsp), %rcx
movl 0x2258(%rcx), %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq 0x48(%rsp), %rax
movq 0x48(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x5, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x68(%rsp)
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x78(%rsp), %rcx
movq 0x8(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x60(%rsp)
movq 0x70(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, 0x50(%rsp)
movq 0x68(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x68(%rsp), %rcx
movq 0x8(%rcx), %rdi
callq *%rax
movsd %xmm0, 0x58(%rsp)
movq 0x80(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x80(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x80(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x30(%rsp)
movsd 0x60(%rsp), %xmm0
movsd %xmm0, 0x40(%rsp)
movq 0x70(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x70(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x10(%rsp)
movsd 0x50(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x58(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
movq 0x68(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x68(%rsp), %rcx
movq 0x10(%rcx), %rdi
movsd 0x50(%rsp), %xmm0
callq *%rax
movsd 0x8(%rsp), %xmm1
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movaps %xmm0, %xmm2
movsd 0x20(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq *%rax
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rax
movaps %xmm0, %xmm1
movsd 0x40(%rsp), %xmm0
mulsd %xmm1, %xmm0
callq *%rax
addq $0x88, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_vdd_ff
static s7_double opt_d_vdd_ff(opt_info *o)
                {
                    opt_info *o1, *o2;
                    s7_double x1;
                    o1 = o->sc->opts[++o->sc->pc];
                    x1 = o1->v[0].fd(o1);
                    o2 = o->sc->opts[++o->sc->pc];
                    oo_rc(o->sc, o, 6, 1);
                    return(o->v[4].d_vdd_f(o->v[5].obj, x1, o2->v[0].fd(o2)));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x68(%rcx), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rdi
callq *%rax
movsd %xmm0, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x68(%rcx), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, (%rsp)
movsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rsp), %rdi
callq *%rax
movq (%rsp), %rdi
movq 0x8(%rsp), %rax
movaps %xmm0, %xmm1
movsd 0x10(%rsp), %xmm0
callq *%rax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_dddd_ffff
static s7_double opt_d_dddd_ffff(opt_info *o)
                {
                    opt_info *o1, *o2, *o3, *o4;
                    s7_double x1, x2, x3;
                    s7_scheme *sc;
                    sc = o->sc;
                    o1 = sc->opts[++sc->pc];
                    x1 = o1->v[0].fd(o1);
                    o2 = sc->opts[++sc->pc];
                    x2 = o2->v[0].fd(o2);
                    o3 = sc->opts[++sc->pc];
                    x3 = o3->v[0].fd(o3);
                    o4 = sc->opts[++sc->pc];
                    oo_rc(o->sc, o, 1, 0);
                    return(o->v[1].d_dddd_f(x1, x2, x3, o4->v[0].fd(o4)));
                }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq (%rax), %rax
movq 0x58(%rsp), %rdi
callq *%rax
movsd %xmm0, 0x38(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x50(%rsp), %rdi
callq *%rax
movsd %xmm0, 0x30(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x48(%rsp), %rdi
callq *%rax
movsd %xmm0, 0x28(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x40(%rsp)
movq 0x60(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movsd 0x38(%rsp), %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0x30(%rsp), %xmm0
movsd %xmm0, (%rsp)
movsd 0x28(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq 0x40(%rsp), %rdi
callq *%rax
movsd (%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
movq 0x10(%rsp), %rax
movaps %xmm0, %xmm3
movsd 0x18(%rsp), %xmm0
callq *%rax
addq $0x68, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_add_any_f
static s7_double opt_d_add_any_f(opt_info *o)
                {
                    s7_double sum = 0.0;
                    int32_t i;
                    oo_rc(o->sc, o, 2, 0);
                    for (i = 0; i < o->v[1].i; i++)
                    {
                        opt_info *o1;
                        o1 = o->sc->opts[++o->sc->pc];
                        sum += o1->v[0].fd(o1);
                    }
                    return(sum);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movslq 0x14(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jge 0x1174b3
movq 0x20(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x68(%rcx), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rdi
callq *%rax
addsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x18(%rsp)
movl 0x14(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0x11744a
movsd 0x18(%rsp), %xmm0
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_multiply_any_f
static s7_double opt_d_multiply_any_f(opt_info *o)
                {
                    s7_double sum = 1.0;
                    int32_t i;
                    oo_rc(o->sc, o, 2, 0);
                    for (i = 0; i < o->v[1].i; i++)
                    {
                        opt_info *o1;
                        o1 = o->sc->opts[++o->sc->pc];
                        sum *= o1->v[0].fd(o1);
                    }
                    return(sum);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movsd 0xca497(%rip), %xmm0    # 0x1e1968
movsd %xmm0, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movslq 0x14(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jge 0x117548
movq 0x20(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x68(%rcx), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rdi
callq *%rax
mulsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x18(%rsp)
movl 0x14(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0x1174df
movsd 0x18(%rsp), %xmm0
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_subtract_any_f
static s7_double opt_d_subtract_any_f(opt_info *o)
                {
                    opt_info *o1;
                    s7_double sum;
                    int32_t i;
                    s7_scheme *sc;
                    sc = o->sc;
                    oo_rc(o->sc, o, 2, 0);
                    o1 = sc->opts[++sc->pc];
                    sum = o1->v[0].fd(o1);
                    for (i = 1; i < o->v[1].i; i++)
                    {
                        o1 = sc->opts[++sc->pc];
                        sum -= o1->v[0].fd(o1);
                    }
                    return(sum);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq (%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rdi
callq *%rax
movsd %xmm0, 0x10(%rsp)
movl $0x1, 0xc(%rsp)
movslq 0xc(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jge 0x117620
movq (%rsp), %rax
movq (%rsp), %rdx
movl 0x2258(%rdx), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rdx)
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rdi
callq *%rax
movaps %xmm0, %xmm1
movsd 0x10(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x1175ba
movsd 0x10(%rsp), %xmm0
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: c_function_is_ok
static bool c_function_is_ok(s7_scheme *sc, s7_pointer x)
                {
                    /* macro version of this (below) is much slower! Since this is almost never false,
                     *   I tried __builtin_expect throughout eval below.  The result was not faster.
                     */
                    s7_pointer p;

                    p = car(x);               /* function name (symbol) */
                    if (is_global(p))
                        p = slot_value(global_slot(p));
                    else p = lookup_checked(sc, p);

                    /* this is nearly always global and p == opt1_cfunc(x)
                     * p can be null if we evaluate some code, optimizing it, then eval it again in a context
                     *   where the incoming p was undefined(!) -- explicit use of eval and so on.
                     *   I guess ideally eval would ignore optimization info -- copy :readable or something.
                     */
                    return((p == opt1_any(x)) ||
                            ((is_any_c_function(p)) &&
                             (c_function_class(p) == c_function_class(opt1_cfunc(x)))));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
andq $0x10000, %rax          # imm = 0x10000
cmpq $0x0, %rax
je 0x117db4
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0x117e04
movq 0x30(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xde990
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x117ddc
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x117df0
movq 0x30(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rdx
movb $0x1, %al
cmpq 0x18(%rdx), %rcx
movb %al, 0x7(%rsp)
je 0x117e58
movq 0x20(%rsp), %rax
movzbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x2f, %ecx
movb %al, 0x6(%rsp)
jl 0x117e50
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movl 0xc(%rax), %eax
movq 0x28(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq 0x8(%rcx), %rcx
cmpl 0xc(%rcx), %eax
sete %al
movb %al, 0x6(%rsp)
movb 0x6(%rsp), %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_check_safe_c_s
static bool op_check_safe_c_s(s7_scheme *sc)
                {
                    /* hop_safe_c_t (if set in fx_tree) is uncommon: ca 20 hits in t103.scm */
                    if (!c_function_is_ok(sc, sc->code)) /* {set_optimize_op(sc->code, OP_S_S); goto EVAL;} */
                    {
                        if (op_unknown_g(sc, lookup(sc, car(sc->code))) != goto_eval)
                            set_optimize_op(sc->code, OP_S_S);
                        return(true);
                    }
                    return(false);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq (%rax), %rsi
callq 0x117d70
testb $0x1, %al
jne 0x117ed4
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x120d50
cmpl $0x5, %eax
je 0x117ecd
movq 0x8(%rsp), %rax
movq (%rax), %rax
movw $0x16b, 0x4(%rax)       # imm = 0x16B
movb $0x1, 0x17(%rsp)
jmp 0x117ed9
movb $0x0, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: fx_c_all_s
static s7_pointer fx_c_all_s(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer args, p, lst;
                    lst = safe_list_if_possible(sc, integer(opt3_arglen(arg)));
                    if (in_heap(lst))
                        gc_protect_direct(sc, lst);
                    for (args = cdr(arg), p = lst; is_pair(args); args = cdr(args), p = cdr(p))
                        set_car(p, lookup(sc, car(args)));
                    p = c_call(arg)(sc, lst);
                    if (in_heap(lst))
                        sc->stack_end -= 4;
                    else clear_list_in_use(lst);
                    return(p);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x101200
movq %rax, (%rsp)
movq (%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x4000, %eax           # imm = 0x4000
cmpl $0x0, %eax
jne 0x11802d
movq 0x20(%rsp), %rdi
movq (%rsp), %rsi
callq 0xfd720
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq (%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x11808e
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x118044
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x20(%rsp), %rdi
movq (%rsp), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq (%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x4000, %eax           # imm = 0x4000
cmpl $0x0, %eax
jne 0x1180cc
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x50(%rax)
jmp 0x1180f0
jmp 0x1180ce
movq (%rsp), %rax
movq (%rax), %rcx
andq $-0x401, %rcx           # imm = 0xFBFF
movq %rcx, (%rax)
movq 0x20(%rsp), %rax
movl $0x0, 0x2138(%rax)
jmp 0x1180f0
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_safe_c_ssp_1
static void op_safe_c_ssp_1(s7_scheme *sc)
                {
                    set_car(sc->t3_3, sc->value);
                    set_car(sc->t3_1, lookup(sc, cadr(sc->code)));
                    set_car(sc->t3_2, lookup(sc, caddr(sc->code)));
                    sc->value = c_call(sc->code)(sc, sc->t3_1);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rax
movq 0x20(%rax), %rcx
movq (%rsp), %rax
movq 0x590(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, %rcx
movq (%rsp), %rax
movq 0x580(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, %rcx
movq (%rsp), %rax
movq 0x588(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq (%rsp), %rdi
movq (%rsp), %rcx
movq 0x580(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
popq %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_check_safe_c_a
static goto_t op_check_safe_c_a(s7_scheme *sc)
                {
                    if (!c_function_is_ok(sc, sc->code))
                    {
                        if (op_unknown_a(sc, lookup_checked(sc, car(sc->code))) == goto_eval) /* for lt?? (matters at least in lt: 12!) */
                        {
                            if (op_no_hop(sc->code) == OP_SAFE_C_A)
                            {
                                set_car(sc->t1_1, c_call(cdr(sc->code))(sc, cadr(sc->code)));
                                sc->value = c_call(sc->code)(sc, sc->t1_1);
                                return(goto_start);
                            }
                        }
                        else set_optimize_op(sc->code, OP_S_A);
                        return(goto_eval);
                    }
                    return(fall_through);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rsi
callq 0x117d70
testb $0x1, %al
jne 0x1191c8
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x1190ec
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x119107
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rsi
callq 0x122720
cmpl $0x5, %eax
jne 0x1191b0
movq 0x28(%rsp), %rax
movq (%rax), %rax
movzwl 0x4(%rax), %eax
andl $0xfffe, %eax           # imm = 0xFFFE
cmpl $0x6c, %eax
jne 0x1191ae
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq (%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq 0x568(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x568(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movl $0x0, 0x34(%rsp)
jmp 0x1191d0
jmp 0x1191be
movq 0x28(%rsp), %rax
movq (%rax), %rax
movw $0x16d, 0x4(%rax)       # imm = 0x16D
movl $0x5, 0x34(%rsp)
jmp 0x1191d0
movl $0x2, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: fx_c_opaq
static s7_pointer fx_c_opaq(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer p;
                    p = cadr(arg);
                    set_car(sc->t1_1, fx_call(sc, cdr(p)));
                    set_car(sc->t1_1, c_call(p)(sc, sc->t1_1));
                    return(c_call(arg)(sc, sc->t1_1));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %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 0x568(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x568(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq 0x568(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x568(%rcx), %rsi
callq *%rax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: fx_c_opaaaq
static s7_pointer fx_c_opaaaq(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer arg;
                    arg = cadr(code);
#if S7_DEBUGGING
                    if (sc->stack_end >= sc->stack_resize_trigger) fprintf(stderr, "%s[%d]: skipped stack resize\n", __func__, __LINE__);
#endif
                    gc_protect_direct(sc, fx_call(sc, cdr(arg)));
                    sc->stack_end[-4] = fx_call(sc, cddr(arg));
                    set_car(sc->t3_3, fx_call(sc, cdddr(arg)));
                    set_car(sc->t3_1, sc->stack_end[-2]);
                    set_car(sc->t3_2, sc->stack_end[-4]);
                    sc->stack_end -= 4;
                    set_car(sc->t1_1, c_call(arg)(sc, sc->t3_1));
                    return(c_call(code)(sc, sc->t1_1));
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rsi
callq 0xfd720
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, -0x20(%rax)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x50(%rsp), %rax
movq 0x590(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rax
movq -0x10(%rax), %rcx
movq 0x50(%rsp), %rax
movq 0x580(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rax
movq -0x20(%rax), %rcx
movq 0x50(%rsp), %rax
movq 0x588(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x40(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x50(%rsp), %rcx
movq 0x580(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x50(%rsp), %rax
movq 0x568(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x48(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x50(%rsp), %rcx
movq 0x568(%rcx), %rsi
callq *%rax
addq $0x58, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: fx_c_s_opaq
static s7_pointer fx_c_s_opaq(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer arg2;
                    arg2 = cdaddr(arg);
                    set_car(sc->t1_1, fx_call(sc, arg2));
                    set_car(sc->t2_2, c_call(caddr(arg))(sc, sc->t1_1));
                    set_car(sc->t2_1, lookup_checked(sc, cadr(arg)));
                    return(c_call(arg)(sc, sc->t2_1));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x568(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rcx
movq 0x568(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x1194f0
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x11950c
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: fx_c_opaq_s
static s7_pointer fx_c_opaq_s(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer arg2;
                    arg2 = cdadr(arg);
                    set_car(sc->t1_1, fx_call(sc, arg2));
                    set_car(sc->t2_1, c_call(cadr(arg))(sc, sc->t1_1));
                    set_car(sc->t2_2, lookup_checked(sc, caddr(arg)));
                    return(c_call(arg)(sc, sc->t2_1));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x568(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rcx
movq 0x568(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x11961c
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x11963c
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x40(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: fx_c_s_opaaq
static s7_pointer fx_c_s_opaaq(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer arg;
                    arg = caddr(code);
#if S7_DEBUGGING
                    if (sc->stack_end >= sc->stack_resize_trigger) fprintf(stderr, "%s[%d]: skipped stack resize\n", __func__, __LINE__);
#endif
                    gc_protect_direct(sc, fx_call(sc, cdr(arg)));
                    set_car(sc->t2_2, fx_call(sc, cddr(arg)));
                    set_car(sc->t2_1, sc->stack_end[-2]);
                    set_car(sc->t2_2, c_call(arg)(sc, sc->t2_1));
                    set_car(sc->t2_1, lookup(sc, cadr(code)));
                    sc->stack_end -= 4;
                    return(c_call(code)(sc, sc->t2_1));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rsi
callq 0xfd720
movq 0x30(%rsp), %rax
movq 0x10(%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), %rcx
movq 0x40(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x40(%rsp), %rax
movq 0x50(%rax), %rax
movq -0x10(%rax), %rcx
movq 0x40(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x40(%rsp), %rax
movq 0x50(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x40(%rsp), %rdi
movq 0x40(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: fx_c_s_opaaaq
static s7_pointer fx_c_s_opaaaq(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer arg;
                    arg = caddr(code);
#if S7_DEBUGGING
                    if (sc->stack_end >= sc->stack_resize_trigger) fprintf(stderr, "%s[%d]: skipped stack resize\n", __func__, __LINE__);
#endif
                    gc_protect_direct(sc, fx_call(sc, cdr(arg)));
                    sc->stack_end[-4] = fx_call(sc, cddr(arg));
                    set_car(sc->t3_3, fx_call(sc, cdddr(arg)));
                    set_car(sc->t3_1, sc->stack_end[-2]);
                    set_car(sc->t3_2, sc->stack_end[-4]);
                    sc->stack_end -= 4;
                    set_car(sc->t2_2, c_call(arg)(sc, sc->t3_1));
                    set_car(sc->t2_1, lookup(sc, cadr(code)));
                    return(c_call(code)(sc, sc->t2_1));
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x38(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rsi
callq 0xfd720
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x28(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, -0x20(%rax)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x50(%rsp), %rax
movq 0x590(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rax
movq -0x10(%rax), %rcx
movq 0x50(%rsp), %rax
movq 0x580(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rax
movq -0x20(%rax), %rcx
movq 0x50(%rsp), %rax
movq 0x588(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rax
movq 0x50(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x40(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x50(%rsp), %rcx
movq 0x580(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x50(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, %rcx
movq 0x50(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x48(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rdi
movq 0x50(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: fx_c_ca
static s7_pointer fx_c_ca(s7_scheme *sc, s7_pointer arg)
                {
                    check_stack_size(sc);
                    set_car(sc->t2_2, fx_call(sc, cddr(arg)));
                    set_car(sc->t2_1, opt3_any(arg));
                    return(c_call(arg)(sc, sc->t2_1));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movq 0x20(%rsp), %rcx
cmpq 0x58(%rcx), %rax
jb 0x1199cc
movq 0x20(%rsp), %rdi
callq 0x10fdc0
jmp 0x1199ce
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 0x20(%rsp), %rdi
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x20(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x28(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: fx_c_cac
static s7_pointer fx_c_cac(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer p;
                    p = cddr(arg);
                    set_car(sc->t3_2, fx_call(sc, p));
                    set_car(sc->t3_1, cadr(arg));
                    set_car(sc->t3_3, cadr(p));
                    return(c_call(arg)(sc, sc->t3_1));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%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 0x588(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x580(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x590(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x20(%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x580(%rcx), %rsi
callq *%rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)