LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_or_any_p
static s7_pointer opt_or_any_p(opt_info *o)
                {
                    int32_t i;
                    oo_rc(o->sc, o, 3, 0);
                    for (i = 0; i < o->v[1].i; i++)
                    {
                        s7_pointer val;
                        opt_info *o1;
                        o1 = o->sc->opts[++o->sc->pc];
                        val = o1->v[0].fp(o1);
                        if (val != o->sc->F)
                        {
                            o->sc->pc = o->v[2].i;
                            return(val);
                        }
                    }
                    return(o->sc->F);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movslq 0x14(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jge 0xfc496
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
movq 0x68(%rcx), %rcx
cmpq 0x120(%rcx), %rax
je 0xfc484
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movl %eax, %ecx
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0xfc4ab
jmp 0xfc486
movl 0x14(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0xfc3f1
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x120(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_and_any_p
static s7_pointer opt_and_any_p(opt_info *o)
                {
                    int32_t i;
                    s7_pointer val;
                    oo_rc(o->sc, o, 3, 0);
                    val = o->sc->T; /* (and) -> #t */
                    for (i = 0; i < o->v[1].i; i++)
                    {
                        opt_info *o1;
                        o1 = o->sc->opts[++o->sc->pc];
                        val = o1->v[0].fp(o1);
                        if (val == o->sc->F)
                        {
                            o->sc->pc = o->v[2].i;
                            return(o->sc->F);
                        }
                    }
                    return(val);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x118(%rax), %rax
movq %rax, 0x8(%rsp)
movl $0x0, 0x14(%rsp)
movslq 0x14(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jge 0xfc596
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
movq 0x68(%rcx), %rcx
cmpq 0x120(%rcx), %rax
jne 0xfc584
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movl %eax, %ecx
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x120(%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0xfc5a0
jmp 0xfc586
movl 0x14(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0xfc4e6
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_nbp
static s7_pointer opt_if_nbp(opt_info *o)
                {
                    opt_info *o1;
                    oo_rc(o->sc, o, 2, 0);
                    o1 = o->sc->opts[++o->sc->pc];
                    if (!o1->v[0].fb(o1))
                    {
                        o1 = o->sc->opts[++o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x8(%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, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rdi
callq *%rax
testb $0x1, %al
jne 0xfc63e
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x8(%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, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0xfc66d
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_nbp_f
static s7_pointer opt_if_nbp_f(opt_info *o)
                {
                    opt_info *o1;
                    oo_rc(o->sc, o, 3, 0);
                    o->sc->pc += 2;
                    o1 = o->sc->opts[o->sc->pc];
                    if (!(o->v[2].b_p_f(o1->v[0].fp(o1))))
                    {
                        o1 = o->sc->opts[++o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x68(%rcx), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
movq %rax, %rdi
movq 0x8(%rsp), %rax
callq *%rax
testb $0x1, %al
jne 0xfc739
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0xfc768
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_nbp_s
static s7_pointer opt_if_nbp_s(opt_info *o)
                {
                    oo_rc(o->sc, o, 4, 1);
                    if (!(o->v[2].b_p_f(slot_value(o->v[3].p))))
                    {
                        opt_info *o1;
                        o->sc->pc += 2;
                        o1 = o->sc->opts[o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq 0x10(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0xfc7f6
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x68(%rcx), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0xfc825
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_nbp_fs
static s7_pointer opt_if_nbp_fs(opt_info *o)
                {
                    opt_info *o1;
                    oo_rc(o->sc, o, 4, 1);
                    o->sc->pc += 2;
                    o1 = o->sc->opts[o->sc->pc];
                    if (!(o->v[2].b_pi_f(o->sc, o1->v[0].fp(o1), integer(slot_value(o->v[3].p))))) /* b_pi_fs */
                    {
                        o1 = o->sc->opts[++o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x68(%rcx), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rdx
callq *%rax
testb $0x1, %al
jne 0xfc90b
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0xfc93a
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_nbp_sf
static s7_pointer opt_if_nbp_sf(opt_info *o)
                {
                    opt_info *o1;
                    oo_rc(o->sc, o, 4, 1);
                    o->sc->pc += 2;
                    o1 = o->sc->opts[o->sc->pc];
                    if (!(o->v[2].b_pp_f(slot_value(o->v[3].p), o1->v[0].fp(o1))))   /* b_pp_sf */
                    {
                        o1 = o->sc->opts[++o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x68(%rcx), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x8(%rsp), %rax
callq *%rax
testb $0x1, %al
jne 0xfca1e
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0xfca4d
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_nbp_7sf
static s7_pointer opt_if_nbp_7sf(opt_info *o)
                {
                    opt_info *o1;
                    oo_rc(o->sc, o, 4, 1);
                    o->sc->pc += 2;
                    o1 = o->sc->opts[o->sc->pc];
                    if (!(o->v[2].b_7pp_f(o->sc, slot_value(o->v[3].p), o1->v[0].fp(o1))))   /* b_7pp_sf */
                    {
                        o1 = o->sc->opts[++o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x2258(%rax)
movq 0x28(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x68(%rcx), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rsp), %rdi
callq *%rax
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
movq 0x18(%rsp), %rax
callq *%rax
testb $0x1, %al
jne 0xfcb43
movq 0x28(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x28(%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 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rsp), %rdi
callq *%rax
movq %rax, 0x30(%rsp)
jmp 0xfcb72
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x28(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x28(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_nbp_sc
static s7_pointer opt_if_nbp_sc(opt_info *o) /* b_pp_sc */
                {
                    oo_rc(o->sc, o, 4, 1);
                    if (!(o->v[3].b_pp_f(slot_value(o->v[2].p), o->v[4].p)))
                    {
                        opt_info *o1;
                        o->sc->pc += 2;
                        o1 = o->sc->opts[o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x10(%rcx), %rdi
movq 0x8(%rsp), %rcx
movq 0x20(%rcx), %rsi
callq *%rax
testb $0x1, %al
jne 0xfcbff
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x68(%rcx), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0xfcc2e
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_nbp_7sc
static s7_pointer opt_if_nbp_7sc(opt_info *o) /* b_7pp_sc */
                {
                    oo_rc(o->sc, o, 4, 1);
                    if (!(o->v[3].b_7pp_f(o->sc, slot_value(o->v[2].p), o->v[4].p)))
                    {
                        opt_info *o1;
                        o->sc->pc += 2;
                        o1 = o->sc->opts[o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x68(%rcx), %rdi
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x10(%rcx), %rsi
movq 0x8(%rsp), %rcx
movq 0x20(%rcx), %rdx
callq *%rax
testb $0x1, %al
jne 0xfccc8
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x68(%rcx), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0xfccf7
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_nbp_ss
static s7_pointer opt_if_nbp_ss(opt_info *o) /* b_ii_ss */
                {
                    oo_rc(o->sc, o, 4, 2);
                    if (!(o->v[3].b_ii_f(integer(slot_value(o->v[2].p)), integer(slot_value(o->v[4].p)))))
                    {
                        opt_info *o1;
                        o->sc->pc += 2;
                        o1 = o->sc->opts[o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rdi
movq 0x8(%rsp), %rcx
movq 0x20(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
testb $0x1, %al
jne 0xfcd9b
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x68(%rcx), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0xfcdca
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_bp
static s7_pointer opt_if_bp(opt_info *o)
                {
                    oo_rc(o->sc, o, 6, 0);
                    o->sc->pc++;
                    if (o->v[3].fb(o->v[2].o1))
                    {
                        o->sc->pc++;
                        return(o->v[5].fp(o->v[4].o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0xfce1b
jmp 0xfce4e
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x20(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0xfce7d
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_bp_pb
static s7_pointer opt_if_bp_pb(opt_info *o)
                {
                    opt_info *o1;
                    oo_rc(o->sc, o, 2, 0);
                    o1 = o->sc->opts[++o->sc->pc];
                    if (o1->v[7].fp(o1) != o->sc->F)
                    {
                        o1 = o->sc->opts[++o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x8(%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, (%rsp)
movq (%rsp), %rax
movq 0x38(%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq 0x8(%rsp), %rcx
movq 0x68(%rcx), %rcx
cmpq 0x120(%rcx), %rax
je 0xfcf2d
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x8(%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, (%rsp)
movq (%rsp), %rax
movq (%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0xfcf5c
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_bp_ii_fc
static s7_pointer opt_if_bp_ii_fc(opt_info *o)
                {
                    opt_info *o1, *o2;
                    oo_rc(o->sc, o, 2, 0);
                    o1 = o->sc->opts[++o->sc->pc];
                    o2 = o->sc->opts[++o->sc->pc];
                    if (o1->v[3].b_ii_f(o2->v[0].fi(o2), o1->v[2].i))
                        /* if (o1->v[7].fp(o1) != o->sc->F) */
                    {
                        o1 = o->sc->opts[++o->sc->pc];
                        return(o1->v[0].fp(o1));
                    }
                    o->sc->pc = o->v[1].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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 0x10(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rdi
callq *%rax
movq %rax, %rdi
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rsi
callq *%rax
testb $0x1, %al
jne 0xfd10f
jmp 0xfd156
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0xfd185
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_bpp
static s7_pointer opt_if_bpp(opt_info *o)
                {
                    opt_info *o1;
                    oo_rc(o->sc, o, 4, 0);
                    o1 = o->sc->opts[++o->sc->pc];
                    if (o1->v[0].fb(o1))
                    {
                        s7_pointer val;
                        o1 = o->sc->opts[++o->sc->pc];
                        val = o1->v[0].fp(o1);
                        o->sc->pc = o->v[3].i;
                        return(val);
                    }
                    o->sc->pc = o->v[1].i;
                    o1 = o->sc->opts[++o->sc->pc];
                    return(o1->v[0].fp(o1));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
testb $0x1, %al
jne 0xfd1df
jmp 0xfd24a
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rax
movl %eax, %ecx
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0xfd2a9
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %ecx
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x18(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x18(%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, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rdi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_case_clause
static s7_pointer opt_case_clause(opt_info *o)
                {
                    /* top->v[2].p gets result, top->i1 is end index, top->v[4].p is selector, o->v[3].i is end of current clause, o->v[1].i = body len */
                    opt_info *top;
                    oo_rc(o->sc, o, 6, 0);
                    top = (opt_info *)(o->v[5].obj);
                    if ((o->v[2].p == o->sc->else_symbol) ||
                            (case_memv(o->sc, top->v[4].p, o->v[2].p)))
                        return(case_value(o));
                    o->sc->pc = o->v[3].i;
                    return(o->sc->unspecified);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x68(%rcx), %rcx
cmpq 0x1790(%rcx), %rax
je 0xfd316
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rdi
movq (%rsp), %rax
movq 0x20(%rax), %rsi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdx
callq 0xfd440
testb $0x1, %al
jne 0xfd316
jmp 0xfd327
movq 0x8(%rsp), %rdi
callq 0xfc0d0
movq %rax, 0x10(%rsp)
jmp 0xfd356
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_case
static s7_pointer opt_case(opt_info *o)
                {
                    opt_info *o1;
                    oo_rc(o->sc, o, 5, 0);
                    o->v[2].p = o->sc->unspecified;
                    o1 = o->sc->opts[++o->sc->pc];
                    o->v[4].p = o1->v[0].fp(o1);
                    while (o->sc->pc < o->v[1].i)
                    {
                        o1 = o->sc->opts[++o->sc->pc];
                        o1->v[0].fp(o1);
                    }
                    return(o->v[2].p);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x130(%rax), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x10(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x10(%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
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x10(%rsp), %rax
movq 0x68(%rax), %rax
movslq 0x2258(%rax), %rax
movq 0x10(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jge 0xfd42b
movq 0x10(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x10(%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
jmp 0xfd3ce
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: case_memv
static bool case_memv(s7_scheme *sc, s7_pointer x, s7_pointer y)
                {
                    s7_pointer z;
                    if (is_simple(x))
                    {
                        for (z = y; is_pair(z); z = cdr(z))
                            if (x == car(z))
                                return(true);
                        return(false);
                    }
                    for (z = y; is_pair(z); z = cdr(z))
                        if (s7_is_eqv(x, car(z))) return(true);
                    return(false);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x12578c(%rip), %rax    # 0x222bf0
testb $0x1, (%rax,%rcx)
je 0xfd4ac
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0xfd4a5
movq 0x10(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xfd495
movb $0x1, 0x27(%rsp)
jmp 0xfd4f5
jmp 0xfd497
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
jmp 0xfd473
movb $0x0, 0x27(%rsp)
jmp 0xfd4f5
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0xfd4f0
movq 0x10(%rsp), %rdi
movq (%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x3e6b0
testb $0x1, %al
jne 0xfd4d9
jmp 0xfd4e0
movb $0x1, 0x27(%rsp)
jmp 0xfd4f5
jmp 0xfd4e2
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
jmp 0xfd4b5
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: reverse_slots
static s7_pointer reverse_slots(s7_scheme *sc, s7_pointer list)
    {
        s7_pointer p = list, result, q;
        result = slot_end(sc);

        while (tis_slot(p))
        {
            q = next_slot(p);
            slot_set_next(p, result);
            result = p;
            p = q;
        }
        return(result);
    }

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq -0x10(%rsp), %rax
movq %rax, -0x18(%rsp)
movq $0x0, -0x20(%rsp)
cmpq $0x0, -0x18(%rsp)
je 0xfd7b7
movq -0x18(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rsp)
movq -0x20(%rsp), %rcx
movq -0x18(%rsp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rsp), %rax
movq %rax, -0x20(%rsp)
movq -0x28(%rsp), %rax
movq %rax, -0x18(%rsp)
jmp 0xfd77d
movq -0x20(%rsp), %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: stop_is_safe
static bool stop_is_safe(s7_scheme *sc, s7_pointer stop, s7_pointer body)
                {
                    /* this could be folded into the cell_optimize traveral */
                    s7_pointer p;
                    for (p = body; is_pair(p); p = cdr(p))
                        if ((is_pair(car(p))) &&
                                (caar(p) == sc->set_symbol) &&
                                (is_pair(cdar(p))) &&
                                (cadar(p) == stop))
                            return(!s7_tree_memq(sc, stop, cdr(p)));
                    return(true);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0xfd8f5
movq (%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0xfd8e2
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x18d8(%rcx), %rax
jne 0xfd8e2
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0xfd8e2
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpq 0x10(%rsp), %rax
jne 0xfd8e2
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq (%rsp), %rax
movq 0x10(%rax), %rdx
callq 0x2f7a0
xorb $-0x1, %al
andb $0x1, %al
movb %al, 0x27(%rsp)
jmp 0xfd8fa
jmp 0xfd8e4
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
jmp 0xfd85c
movb $0x1, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_do_prepackaged
static s7_pointer opt_do_prepackaged(opt_info *o)
                {
                    opt_info *o1;
                    s7_int end;
                    s7_pointer vp, old_e;
                    s7_scheme *sc;
                    sc = o->sc;

                    oo_rc(sc, o, 10, 0);
                    old_e = sc->envir;
                    push_stack_no_let_no_code(sc, OP_GC_PROTECT, old_e);
                    sc->envir = o->v[2].p;

                    vp = slot_value(let_dox_slot1(o->v[2].p));
                    if (is_slot(let_dox_slot2_unchecked(o->v[2].p)))
                        end = integer(slot_value(let_dox_slot2(o->v[2].p)));
                    else end = o->v[3].i;
                    o1 = sc->opts[++sc->pc];
                    integer(vp) = integer(o1->v[0].fp(o1));

                    o->v[6].p = vp;
                    o->v[1].i = end;
                    o->v[7].fp(o);

                    sc->pc = o->v[5].i;
                    unstack(sc);
                    sc->envir = old_e;
                    return(sc->T);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1, %ecx
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x28(%rax), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0xfffe3
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0xffff1
movq 0x30(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%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
movq 0x8(%rax), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x20(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movq 0x38(%rax), %rax
movq 0x30(%rsp), %rdi
callq *%rax
movq 0x30(%rsp), %rax
movq 0x28(%rax), %rax
movl %eax, %ecx
movq 0x8(%rsp), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
movq 0x118(%rax), %rax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_do_dpnr
static s7_pointer opt_do_dpnr(opt_info *o)
                {
                    opt_info *o1;
                    int32_t loop;
                    s7_pointer vp;
                    s7_int end;
                    s7_double (*f)(opt_info *o);
                    s7_scheme *sc;
                    sc = o->sc;

                    oo_rc(sc, o, 10, 0);
                    end = o->v[1].i;
                    vp = o->v[6].p;
                    loop = o->v[4].i;
                    o1 = sc->opts[loop]; /* the body */
                    f = o1->v[7].fd;
                    while (integer(vp) < end)
                    {
                        sc->pc = loop;
                        f(o1);
                        integer(vp)++;
                    }
                    return(NULL);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, (%rsp)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movl %eax, 0x24(%rsp)
movq (%rsp), %rax
movslq 0x24(%rsp), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x38(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
cmpq 0x10(%rsp), %rax
jge 0x100150
movl 0x24(%rsp), %ecx
movq (%rsp), %rax
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x28(%rsp), %rdi
callq *%rax
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x8(%rax)
jmp 0x100113
xorl %eax, %eax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_do_setpif
static s7_pointer opt_do_setpif(opt_info *o)
                {
                    opt_info *o1;
                    int32_t loop;
                    s7_pointer vp, val, slot;
                    s7_int end, arg2;
                    s7_scheme *sc;
                    sc = o->sc;

                    oo_rc(sc, o, 10, 2);
                    end = o->v[1].i;
                    vp = o->v[6].p;
                    loop = o->v[4].i;
                    o1 = sc->opts[loop];
                    arg2 = o->v[3].i;
                    slot = o1->v[2].p;

                    val = make_mutable_integer(sc, integer(slot_value(o1->v[1].p)));
                    slot_set_value(o1->v[1].p, val);
                    while (integer(vp) < end)
                    {
                        integer(val) = o1->v[4].i_ii_f(integer(slot_value(slot)), arg2);
                        integer(vp)++;
                    }
                    clear_mutable_integer(val);
                    return(NULL);
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, (%rsp)
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x40(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x40(%rsp), %rax
movq 0x20(%rax), %rax
movl %eax, 0x34(%rsp)
movq (%rsp), %rax
movslq 0x34(%rsp), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x38(%rsp)
movq 0x40(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq (%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xdd130
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
cmpq 0x10(%rsp), %rax
jge 0x1002fe
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rdi
movq 0x8(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x8(%rax)
jmp 0x1002b2
movq 0x20(%rsp), %rax
movq (%rax), %rcx
andq $-0x4000001, %rcx       # imm = 0xFBFFFFFF
movq %rcx, (%rax)
xorl %eax, %eax
addq $0x48, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: tree_match
static bool tree_match(s7_pointer tree)
                {
                    if (is_symbol(tree))
                        return(is_matched_symbol(tree));
                    if (is_pair(tree))
                        return((tree_match(car(tree))) || (tree_match(cdr(tree))));
                    return(false);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x1007c1
movq 0x8(%rsp), %rax
movzwl (%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, 0x17(%rsp)
jmp 0x10080c
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x100807
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x100790
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0x7(%rsp)
jne 0x1007fb
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x100790
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
andb $0x1, %al
movb %al, 0x17(%rsp)
jmp 0x10080c
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: safe_stepper_expr
static bool safe_stepper_expr(s7_pointer expr, s7_pointer vars)
                {
                    /* for now, just look for stepper as last element of any list
                     *    any embedded set is handled by do_is_safe, so we don't need to descend into the depths
                     */
                    s7_pointer p;
                    if (direct_memq(cadr(expr), vars))
                        return(false);

                    for (p = cdr(expr); is_pair(cdr(p)); p = cdr(p));

                    if (is_pair(p))
                    {
                        if ((is_optimized(p)) &&
                                ((optimize_op(p) & 1) != 0) &&
                                (is_safe_c_op(optimize_op(p))))
                            return(true);

                        if (direct_memq(car(p), vars))
                            return(false);
                    }
                    else
                    {
                        if (direct_memq(p, vars))
                            return(false);
                    }
                    return(true);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rsp), %rsi
callq 0xde1a0
testb $0x1, %al
jne 0x10084b
jmp 0x100855
movb $0x0, 0x27(%rsp)
jmp 0x10091d
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x100886
jmp 0x100876
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x100863
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x1008fa
movq 0x8(%rsp), %rax
movzwl (%rax), %eax
cmpl $0x801, %eax            # imm = 0x801
jne 0x1008d8
movq 0x8(%rsp), %rax
movzwl 0x4(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1008d8
movq 0x8(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x2, %eax
jl 0x1008d8
movq 0x8(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x9e, %eax
jge 0x1008d8
movb $0x1, 0x27(%rsp)
jmp 0x10091d
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rsp), %rsi
callq 0xde1a0
testb $0x1, %al
jne 0x1008f1
jmp 0x1008f8
movb $0x0, 0x27(%rsp)
jmp 0x10091d
jmp 0x100918
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xde1a0
testb $0x1, %al
jne 0x10090f
jmp 0x100916
movb $0x0, 0x27(%rsp)
jmp 0x10091d
jmp 0x100918
movb $0x1, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_if_bp_nr
static s7_pointer opt_if_bp_nr(opt_info *o)
                {
                    oo_rc(o->sc, o, 6, 0);
                    o->sc->pc++;
                    if (o->v[3].fb(o->v[2].o1))
                    {
                        o->sc->pc++;
                        return(o->v[5].fp(o->v[4].o1));
                    }
                    return(NULL);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
callq *%rax
testb $0x1, %al
jne 0x10096b
jmp 0x10099e
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x20(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0x1009a7
movq $0x0, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_p_pii_sff
static s7_pointer opt_p_pii_sff(opt_info *o)
                {
                    opt_info *o1;
                    s7_int i1, i2;
                    s7_scheme *sc;
                    sc = o->sc;
                    o1 = sc->opts[++sc->pc];
                    i1 = o1->v[0].fi(o1);
                    o1 = sc->opts[++sc->pc];
                    i2 = o1->v[0].fi(o1);
                    oo_rc(sc, o, 5, 1);
                    return(o->v[4].p_pii_f(sc, slot_value(o->v[1].p), i1, i2));
                }

// 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
movq %rax, 0x10(%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
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq (%rsp), %rdi
movq 0x20(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq 0x10(%rcx), %rsi
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rcx
callq *%rax
addq $0x28, %rsp
retq
nopw (%rax,%rax)