LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: find_autoload_name
static const char *find_autoload_name(s7_scheme *sc, s7_pointer symbol, bool *already_loaded, bool loading)
    {
        s7_int l = 0, lib, libs;
        const char *name;

        name = symbol_name(symbol);
        libs = sc->autoload_names_loc;

        for (lib = 0; lib < libs; lib++)
        {
            const char **names;
            s7_int u;
            u = sc->autoload_names_sizes[lib] - 1;
            names = sc->autoload_names[lib];

            while (true)
            {
                s7_int comp, pos;
                const char *this_name;
                if (u < l) break;
                pos = (l + u) / 2;
                this_name = names[pos * 2];
                comp = strcmp(this_name, name);
                if (comp == 0)
                {
                    *already_loaded = sc->autoloaded_already[lib][pos];
                    if (loading) sc->autoloaded_already[lib][pos] = true;
                    return(names[pos * 2 + 1]);             /* file name given func name */
                }
                if (comp < 0)
                    l = pos + 1;
                else u = pos - 1;
            }
        }
        return(NULL);
    }

// Assembly:
subq $0x78, %rsp
movb %cl, %al
movq %rdi, 0x68(%rsp)
movq %rsi, 0x60(%rsp)
movq %rdx, 0x58(%rsp)
andb $0x1, %al
movb %al, 0x57(%rsp)
movq $0x0, 0x48(%rsp)
movq 0x60(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x68(%rsp), %rax
movq 0x2178(%rax), %rax
movq %rax, 0x38(%rsp)
movq $0x0, 0x40(%rsp)
movq 0x40(%rsp), %rax
cmpq 0x38(%rsp), %rax
jge 0xe003b
movq 0x68(%rsp), %rax
movq 0x2168(%rax), %rax
movq 0x40(%rsp), %rcx
movq (%rax,%rcx,8), %rax
subq $0x1, %rax
movq %rax, 0x20(%rsp)
movq 0x68(%rsp), %rax
movq 0x2160(%rax), %rax
movq 0x40(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x28(%rsp)
movq 0x20(%rsp), %rax
cmpq 0x48(%rsp), %rax
jge 0xdff49
jmp 0xe0026
movq 0x48(%rsp), %rax
addq 0x20(%rsp), %rax
movl $0x2, %ecx
cqto
idivq %rcx
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
shlq %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x9370
cltq
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0xdfffb
movq 0x68(%rsp), %rax
movq 0x2170(%rax), %rax
movq 0x40(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rsp), %rcx
movb (%rax,%rcx), %cl
movq 0x58(%rsp), %rax
andb $0x1, %cl
movb %cl, (%rax)
testb $0x1, 0x57(%rsp)
je 0xdffe2
movq 0x68(%rsp), %rax
movq 0x2170(%rax), %rax
movq 0x40(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rsp), %rcx
movb $0x1, (%rax,%rcx)
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
shlq %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, 0x70(%rsp)
jmp 0xe0044
cmpq $0x0, 0x18(%rsp)
jge 0xe0013
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0xe0021
movq 0x10(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0xdff38
jmp 0xe0028
movq 0x40(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x40(%rsp)
jmp 0xdfef0
movq $0x0, 0x70(%rsp)
movq 0x70(%rsp), %rax
addq $0x78, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: loaded_library
static s7_pointer loaded_library(s7_scheme *sc, const char *file)
                {
                    s7_pointer p;
                    for (p = slot_value(global_slot(sc->libraries_symbol)); is_pair(p); p = cdr(p))
                        if (local_strcmp(file, string_value(caar(p))))
                            return(cdar(p));
                    return(sc->nil);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x1250(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0xe00cb
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
callq 0xc0a00
testb $0x1, %al
jne 0xe00a5
jmp 0xe00b9
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0xe00dc
jmp 0xe00bb
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0xe0077
movq 0x18(%rsp), %rax
movq 0x110(%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_float_not_pair
static bool opt_float_not_pair(s7_scheme *sc, s7_pointer car_x)
                {
                    opt_info *opc;
                    s7_pointer p;
                    if (is_real(car_x))
                    {
                        if ((s7_is_ratio(car_x)) ||
                                (!is_real(car_x)))
                            return(return_false(sc, car_x, __func__, __LINE__));
                        opc = alloc_opo(sc, car_x);
                        opc->v[1].x = s7_number_to_real(sc, car_x);
                        opc->v[0].fd = opt_d_c;
                        return(oo_set_type_0(opc, 2));
                    }
                    p = opt_real_symbol(sc, car_x);
                    if (p)
                    {
                        if (s7_is_ratio(slot_value(p)))
                            return(return_false(sc, car_x, __func__, __LINE__));
                        opc = alloc_opo(sc, car_x);
                        opc->v[1].p = p;
                        opc->v[0].fd = (is_float(slot_value(p))) ? opt_d_s : opt_D_s;
                        return(oo_set_type_1(opc, 2, 1, OO_R));
                    }
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x1398f1(%rip), %rax    # 0x21a4e0
testb $0x1, (%rax,%rcx)
je 0xe0c85
movq 0x10(%rsp), %rdi
callq 0x113a0
testb $0x1, %al
jne 0xe0c1e
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x1398c8(%rip), %rax    # 0x21a4e0
testb $0x1, (%rax,%rcx)
jne 0xe0c28
movb $0x0, 0x27(%rsp)
jmp 0xe0d34
movq 0x18(%rsp), %rdi
callq 0xe15e0
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x12760
movq 0x8(%rsp), %rax
movsd %xmm0, 0x8(%rax)
movq 0x8(%rsp), %rax
leaq 0x3bb4(%rip), %rcx      # 0xe4810
movq %rcx, (%rax)
movq 0x8(%rsp), %rdi
movl $0x2, %esi
leaq 0x10e560(%rip), %rdx    # 0x1ef1d0
movl $0xde1d, %ecx           # imm = 0xDE1D
callq 0xe4820
andb $0x1, %al
movb %al, 0x27(%rsp)
jmp 0xe0d34
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xe4850
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0xe0d2f
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x113a0
testb $0x1, %al
jne 0xe0cb6
jmp 0xe0cbd
movb $0x0, 0x27(%rsp)
jmp 0xe0d34
movq 0x18(%rsp), %rdi
callq 0xe15e0
movq %rax, 0x8(%rsp)
movq (%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %edx
leaq 0x3c05(%rip), %rcx      # 0xe48f0
leaq 0x3bde(%rip), %rax      # 0xe48d0
cmpl $0xd, %edx
cmoveq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x1, %edx
movl $0x7, %ecx
leaq 0x10e4b4(%rip), %r8     # 0x1ef1d0
movl $0xde27, %r9d           # imm = 0xDE27
callq 0xe4950
andb $0x1, %al
movb %al, 0x27(%rsp)
jmp 0xe0d34
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: d_ok
static bool d_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func)
                {
                    s7_d_t func;                   /* (f): (mus-srate) */
                    func = s7_d_function(s_func);
                    if (func)
                    {
                        opc->v[0].fd = opt_d_f;
                        opc->v[1].d_f = func;
                        oo_check(sc, opc);
                        return(true);
                    }
                    return(return_false(sc, NULL, __func__, __LINE__));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x46c90
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0xe16ab
movq 0x10(%rsp), %rax
leaq 0x3202c(%rip), %rcx     # 0x1136c0
movq %rcx, (%rax)
movq (%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x8(%rax)
movb $0x1, 0x27(%rsp)
jmp 0xe16b0
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: d_v_ok
static bool d_v_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x)
                {
                    s7_d_v_t flt_func;
                    flt_func = s7_d_v_function(s_func);
                    if (flt_func)
                    {
                        s7_pointer sig;
                        sig = c_function_signature(s_func);
                        if ((is_pair(sig)) &&
                                (is_symbol(cadr(sig))) &&
                                (is_symbol(cadr(car_x))))           /* look for (oscil g) */
                        {
                            s7_pointer slot;
                            slot = opt_types_match(sc, cadr(sig), cadr(car_x));
                            if (slot)
                            {
                                opc->v[1].p = slot;
                                opc->v[5].obj = (void *)c_object_value(slot_value(slot));
                                opc->v[3].d_v_f = flt_func;
                                opc->v[0].fd = opt_d_v;
                                return(oo_set_type_1(opc, 6, 1 + (5 << 4), OO_V));
                            }}}
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movq 0x28(%rsp), %rdi
callq 0x46df0
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0xe1a9c
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x38(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0xe1a9a
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe1a9a
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe1a9a
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x112c50
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0xe1a98
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x18(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x30(%rsp), %rax
leaq 0x4699(%rip), %rcx      # 0xe6100
movq %rcx, (%rax)
movq 0x30(%rsp), %rdi
movl $0x6, %esi
movl $0x51, %edx
movl $0x3, %ecx
leaq 0x10dbad(%rip), %r8     # 0x1ef632
movl $0xdeb3, %r9d           # imm = 0xDEB3
callq 0xe4950
andb $0x1, %al
movb %al, 0x47(%rsp)
jmp 0xe1aa1
jmp 0xe1a9a
jmp 0xe1a9c
movb $0x0, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: d_p_ok
static bool d_p_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x)
                {
                    s7_d_p_t dpf;
                    int32_t start;
                    start = sc->pc;
                    dpf = s7_d_p_function(s_func);
                    if (dpf)
                    {
                        opc->v[3].d_p_f = dpf;
                        if (is_symbol(cadr(car_x)))
                        {
                            s7_pointer slot;
                            slot = opt_simple_symbol(sc, cadr(car_x));
                            if (slot)
                            {
                                opc->v[1].p = slot;
                                opc->v[0].fd = opt_d_p_s;
                                return(oo_set_type_1(opc, 4, 1, OO_P));
                            }
                            return(return_false(sc, car_x, __func__, __LINE__));
                        }
                        if (cell_optimize(sc, cdr(car_x)))
                        {
                            opc->v[0].fd = opt_d_p_f;
                            return(oo_set_type_0(opc, 4));
                        }
                        pc_fallback(sc, start);
                    }
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movq 0x38(%rsp), %rax
movl 0x2258(%rax), %eax
movl %eax, 0x14(%rsp)
movq 0x28(%rsp), %rdi
callq 0x47070
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0xe1be1
movq 0x18(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe1b88
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xefdf0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0xe1b81
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
leaq 0x31d1d(%rip), %rcx     # 0x113870
movq %rcx, (%rax)
movq 0x30(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %edx
xorl %ecx, %ecx
leaq 0x10dacb(%rip), %r8     # 0x1ef639
movl $0xded8, %r9d           # imm = 0xDED8
callq 0xe4950
andb $0x1, %al
movb %al, 0x47(%rsp)
jmp 0xe1be6
movb $0x0, 0x47(%rsp)
jmp 0xe1be6
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xe9db0
testb $0x1, %al
jne 0xe1ba1
jmp 0xe1bd3
movq 0x30(%rsp), %rax
leaq 0x31ce3(%rip), %rcx     # 0x113890
movq %rcx, (%rax)
movq 0x30(%rsp), %rdi
movl $0x4, %esi
leaq 0x10da78(%rip), %rdx    # 0x1ef639
movl $0xdedf, %ecx           # imm = 0xDEDF
callq 0xe4820
andb $0x1, %al
movb %al, 0x47(%rsp)
jmp 0xe1be6
movq 0x38(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0xe59a0
movb $0x0, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: d_ip_ok
static bool d_ip_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x)
                {
                    s7_d_ip_t pfunc;
                    pfunc = s7_d_ip_function(s_func);
                    if ((pfunc) &&
                            (is_symbol(caddr(car_x))))
                    {
                        s7_pointer p;
                        p = opt_integer_symbol(sc, cadr(car_x));
                        if (p)
                        {
                            opc->v[3].d_ip_f = pfunc;
                            opc->v[1].p = p;
                            opc->v[2].p = symbol_to_slot(sc, caddr(car_x));
                            if (is_slot(opc->v[2].p))
                            {
                                /* (with-sound (:reverb jc-reverb) (fm-violin 0 .1 440 .4 :reverb-amount .5)) */
                                opc->v[0].fd = opt_d_ip_ss;
                                return(oo_set_type_2(opc, 4, 1, 2, OO_I, OO_P));
                            }}}
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movq 0x28(%rsp), %rdi
callq 0x46fd0
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0xe301a
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe301a
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xe5260
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0xe3018
movq 0x18(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xfc80
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0xe3016
movq 0x30(%rsp), %rax
leaq 0x337a8(%rip), %rcx     # 0x116780
movq %rcx, (%rax)
movq 0x30(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %r8d
movl $0x2, %ecx
xorl %r9d, %r9d
leaq 0x10c6d9(%rip), %rax    # 0x1ef6d3
movl %r8d, %edx
movq %rax, (%rsp)
movl $0xdf80, 0x8(%rsp)      # imm = 0xDF80
callq 0xe54b0
andb $0x1, %al
movb %al, 0x47(%rsp)
jmp 0xe301f
jmp 0xe3018
jmp 0xe301a
movb $0x0, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: d_dddd_ok
static bool d_dddd_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x)
                {
                    s7_d_dddd_t f;
                    f = s7_d_dddd_function(s_func);
                    if (f)
                    {
                        if ((float_optimize(sc, cdr(car_x))) &&
                                (float_optimize(sc, cddr(car_x))) &&
                                (float_optimize(sc, cdddr(car_x))) &&
                                (float_optimize(sc, cddddr(car_x))))
                        {
                            opc->v[1].d_dddd_f = f;
                            opc->v[0].fd = opt_d_dddd_ffff;
                            return(oo_set_type_0(opc, 2));
                        }
                    }
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
movq 0x18(%rsp), %rdi
callq 0x47200
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0xe43b7
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x473f0
testb $0x1, %al
jne 0xe430f
jmp 0xe43b5
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x473f0
testb $0x1, %al
jne 0xe432f
jmp 0xe43b5
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x473f0
testb $0x1, %al
jne 0xe4350
jmp 0xe43b5
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x473f0
testb $0x1, %al
jne 0xe4375
jmp 0xe43b5
movq 0x8(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rax
leaq 0x32f21(%rip), %rcx     # 0x1172b0
movq %rcx, (%rax)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x10b385(%rip), %rdx    # 0x1ef728
movl $0xe6e8, %ecx           # imm = 0xE6E8
callq 0xe4820
andb $0x1, %al
movb %al, 0x37(%rsp)
jmp 0xe43bc
jmp 0xe43b7
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: d_7piid_ok
static bool d_7piid_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x)
                {
                    s7_d_7piid_t f;
                    f = s7_d_7piid_function(s_func);
                    if ((f) &&
                            (is_symbol(cadr(car_x))))
                    {
                        opc->v[4].d_7piid_f = f;
                        if (car(car_x) == sc->float_vector_set_symbol)
                            return(opt_float_vector_set(sc, opc, cadr(car_x), cddr(car_x), cdddr(car_x), cddddr(car_x)));
                    }
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
movq 0x18(%rsp), %rdi
callq 0x117410
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0xe4496
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe4496
movq 0x8(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x28(%rsp), %rcx
cmpq 0xef8(%rcx), %rax
jne 0xe4494
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %r8
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %r9
callq 0xe4b50
andb $0x1, %al
movb %al, 0x37(%rsp)
jmp 0xe449b
jmp 0xe4496
movb $0x0, 0x37(%rsp)
movb 0x37(%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: s7_macroexpand
static s7_pointer s7_macroexpand(s7_scheme *sc, s7_pointer mac, s7_pointer args)
                {
                    push_stack(sc, OP_EVAL_DONE, sc->args, sc->code);
                    sc->code = mac;
                    sc->args = copy_list_with_arglist_error(sc, args);
                    new_frame(sc, closure_let(sc->code), sc->envir);
                    eval(sc, OP_APPLY_LAMBDA);
                    return(sc->value);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1df, %ecx            # imm = 0x1DF
movq %rcx, 0x18(%rax)
movq 0x20(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x117630
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0xe4750
movq 0x20(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x20(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0xe4774
movq 0x20(%rsp), %rdi
callq 0xc670
movq 0x20(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq $0x20001c, (%rax)       # imm = 0x20001C
movq 0x20(%rsp), %rax
movq 0x250(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x250(%rax)
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0x8(%rax)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rdi
movl $0x311, %esi            # imm = 0x311
callq 0x163d0
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_real_symbol
static s7_pointer opt_real_symbol(s7_scheme *sc, s7_pointer sym)
                {
                    if (is_symbol(sym))
                    {
                        s7_pointer p;
                        p = symbol_to_slot(sc, sym);
                        if ((is_slot(p)) &&
                                (is_real(slot_value(p))))
                            return(p);
                    }
                    return(NULL);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe48b5
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xfc80
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0xe48b3
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x135c3f(%rip), %rax    # 0x21a4e0
testb $0x1, (%rax,%rcx)
je 0xe48b3
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0xe48be
jmp 0xe48b5
movq $0x0, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oo_set_type_1_1
static bool oo_set_type_1_1(opt_info *p, int size, int slot1, opt_type_t type1, const char *func, int line)
                {
                    check_oo_type(type1, slot1, 1, func, line);
                    oo_slots(p) = 1;
                    oo_size(p) = size;
                    oo_store_slot(p, 0, slot1, type1);
                    oo_save_func(p, func, line);
                    return(true);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movl %esi, 0x1c(%rsp)
movl %edx, 0x18(%rsp)
movl %ecx, 0x14(%rsp)
movq %r8, 0x8(%rsp)
movl %r9d, 0x4(%rsp)
movq 0x20(%rsp), %rax
movl $0x1, 0x64(%rax)
movl 0x1c(%rsp), %ecx
movq 0x20(%rsp), %rax
movl %ecx, 0x60(%rax)
movq 0x20(%rsp), %rdi
movl 0x18(%rsp), %edx
movl 0x14(%rsp), %ecx
xorl %esi, %esi
callq 0xe49b0
movb $0x1, %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_set_d_d_fm
static s7_double opt_set_d_d_fm(opt_info *o)
                {
                    opt_info *o1;
                    s7_double x;
                    o1 = o->sc->opts[++o->sc->pc];
                    x = o1->v[0].fd(o1);
                    oo_rc(o->sc, o, 2, 1);
                    real(slot_value(o->v[1].p)) = x;
                    return(x);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
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
movsd %xmm0, (%rsp)
movsd (%rsp), %xmm0
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movsd %xmm0, 0x8(%rax)
movsd (%rsp), %xmm0
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_set_d_d_f
static s7_double opt_set_d_d_f(opt_info *o)
                {
                    opt_info *o1;
                    s7_double x;
                    o1 = o->sc->opts[++o->sc->pc];
                    x = o1->v[0].fd(o1);
                    oo_rc(o->sc, o, 2, 1);
                    slot_set_value(o->v[1].p, make_real(o->sc, x));
                    return(x);
                }

// 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, 0x20(%rsp)
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x90(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x68(%rcx), %rcx
cmpq 0x98(%rcx), %rax
ja 0xe4adb
movq 0x30(%rsp), %rax
movq 0x68(%rax), %rdi
callq 0xc670
movq 0x30(%rsp), %rax
movq 0x68(%rax), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq $0xd, (%rax)
movsd 0x10(%rsp), %xmm0
movq 0x18(%rsp), %rax
movsd %xmm0, 0x8(%rax)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x10(%rax)
movsd 0x20(%rsp), %xmm0
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_integer_symbol
static s7_pointer opt_integer_symbol(s7_scheme *sc, s7_pointer sym)
                {
                    if (is_symbol(sym))
                    {
                        s7_pointer p;
                        p = symbol_to_slot(sc, sym);
                        if ((is_slot(p)) &&
                                (is_opt_int(slot_value(p))))
                            return(p);
                    }
                    return(NULL);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe52bb
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xfc80
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0xe52b9
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0xe52b9
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0xe52c4
jmp 0xe52bb
movq $0x0, 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_float_symbol
static s7_pointer opt_float_symbol(s7_scheme *sc, s7_pointer sym)
                {
                    if (is_symbol(sym))
                    {
                        s7_pointer p;
                        p = symbol_to_slot(sc, sym);
                        if ((is_slot(p)) &&
                                (is_float(slot_value(p))))
                            return(p);
                    }
                    return(NULL);
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xe536b
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xfc80
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0xe5369
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0xd, %eax
jne 0xe5369
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0xe5374
jmp 0xe536b
movq $0x0, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oo_set_type_3_1
static bool oo_set_type_3_1(opt_info *p, int size, int slot1, int slot2, int slot3, opt_type_t type1, opt_type_t type2, opt_type_t type3, const char *func, int line)
                {
                    oo_set_type_2(p, size, slot1, slot2, type1, type2);
                    check_oo_type(type3, slot3, 3, func, line);
                    oo_slots(p) = 3;
                    oo_size(p) = size;
                    oo_store_slot(p, 2, slot3, type3);
                    oo_save_func(p, func, line);
                    return(true);
                }

// Assembly:
subq $0x38, %rsp
movl 0x58(%rsp), %eax
movq 0x50(%rsp), %rax
movl 0x48(%rsp), %eax
movl 0x40(%rsp), %eax
movq %rdi, 0x30(%rsp)
movl %esi, 0x2c(%rsp)
movl %edx, 0x28(%rsp)
movl %ecx, 0x24(%rsp)
movl %r8d, 0x20(%rsp)
movl %r9d, 0x1c(%rsp)
movq 0x30(%rsp), %rdi
movl 0x2c(%rsp), %esi
movl 0x28(%rsp), %edx
movl 0x24(%rsp), %ecx
movl 0x1c(%rsp), %r8d
movl 0x40(%rsp), %r9d
leaq 0x109de2(%rip), %rax    # 0x1ef204
movq %rax, (%rsp)
movl $0xd84f, 0x8(%rsp)      # imm = 0xD84F
callq 0xe54b0
movq 0x30(%rsp), %rax
movl $0x3, 0x64(%rax)
movl 0x2c(%rsp), %ecx
movq 0x30(%rsp), %rax
movl %ecx, 0x60(%rax)
movq 0x30(%rsp), %rdi
movl 0x20(%rsp), %edx
movl 0x48(%rsp), %ecx
movl $0x2, %esi
callq 0xe49b0
movb $0x1, %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oo_set_type_2_2
static bool oo_set_type_2_2(opt_info *p, int size, int slot1, int slot2, opt_type_t type1, opt_type_t type2, const char *func, int line)
                {
                    check_oo_type(type1, slot1, 1, func, line);
                    check_oo_type(type2, slot2, 2, func, line);
                    oo_slots(p) = 2;
                    oo_size(p) = size;
                    oo_store_slot(p, 0, slot1, type1);
                    oo_store_slot(p, 1, slot2, type2);
                    oo_save_func(p, func, line);
                    return(true);
                }

// Assembly:
subq $0x28, %rsp
movl 0x38(%rsp), %eax
movq 0x30(%rsp), %rax
movq %rdi, 0x20(%rsp)
movl %esi, 0x1c(%rsp)
movl %edx, 0x18(%rsp)
movl %ecx, 0x14(%rsp)
movl %r8d, 0x10(%rsp)
movl %r9d, 0xc(%rsp)
movq 0x20(%rsp), %rax
movl $0x2, 0x64(%rax)
movl 0x1c(%rsp), %ecx
movq 0x20(%rsp), %rax
movl %ecx, 0x60(%rax)
movq 0x20(%rsp), %rdi
movl 0x18(%rsp), %edx
movl 0x10(%rsp), %ecx
xorl %esi, %esi
callq 0xe49b0
movq 0x20(%rsp), %rdi
movl 0x14(%rsp), %edx
movl 0xc(%rsp), %ecx
movl $0x1, %esi
callq 0xe49b0
movb $0x1, %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_d_7pid_sff
static s7_double opt_d_7pid_sff(opt_info *o)
                {
                    opt_info *o1;
                    s7_int pos;
                    s7_scheme *sc;
                    sc = o->sc;
                    o1 = sc->opts[++sc->pc];
                    pos = o1->v[0].fi(o1);
                    o1 = sc->opts[++sc->pc];
                    oo_rc(sc, o, 5, 1);
                    return(o->v[4].d_7pid_f(sc, slot_value(o->v[1].p), pos, o1->v[0].fd(o1)));
                }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%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, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x38(%rsp), %rdi
callq *%rax
movq %rax, 0x30(%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, 0x38(%rsp)
movq 0x40(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq 0x38(%rsp), %rdi
callq *%rax
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x20(%rsp), %rax
callq *%rax
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_7piid_sfff
static s7_double opt_d_7piid_sfff(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);
                    o1 = sc->opts[++sc->pc];
                    oo_rc(sc, o, 6, 1);
                    return(o->v[5].d_7piid_f(sc, slot_value(o->v[1].p), i1, i2, o1->v[0].fd(o1)));
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x30(%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
movq %rax, 0x40(%rsp)
movq 0x30(%rsp), %rax
movq 0x30(%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
movq %rax, 0x38(%rsp)
movq 0x30(%rsp), %rax
movq 0x30(%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 0x50(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x50(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x48(%rsp), %rax
movq (%rax), %rax
movq 0x48(%rsp), %rdi
callq *%rax
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rax
callq *%rax
addq $0x58, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_7pid_ss_ss
static s7_double opt_d_7pid_ss_ss(opt_info *o)
                {
                    oo_rc(o->sc, o, 7, 4);
                    return(o->v[4].d_7pid_f(o->sc, slot_value(o->v[1].p),
                                integer(slot_value(o->v[2].p)),
                                o->v[3].d_7pi_f(o->sc, slot_value(o->v[5].p),
                                    integer(slot_value(o->v[6].p)))));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x20(%rsp), %rcx
movq 0x68(%rcx), %rdi
movq 0x20(%rsp), %rcx
movq 0x28(%rcx), %rcx
movq 0x10(%rcx), %rsi
movq 0x20(%rsp), %rcx
movq 0x30(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rdx
callq *%rax
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rax
callq *%rax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oo_set_type_4_1
static bool oo_set_type_4_1(opt_info *p, int size, int slot1, int slot2, int slot3, int slot4,
                        opt_type_t type1, opt_type_t type2, opt_type_t type3, opt_type_t type4, const char *func, int line)
                {
                    oo_set_type_3(p, size, slot1, slot2, slot3, type1, type2, type3);
                    check_oo_type(type4, slot4, 4, func, line);
                    oo_slots(p) = 4;
                    oo_size(p) = size;
                    oo_store_slot(p, 3, slot4, type4);
                    oo_save_func(p, func, line);
                    return(true);
                }

// Assembly:
subq $0x48, %rsp
movl 0x78(%rsp), %eax
movq 0x70(%rsp), %rax
movl 0x68(%rsp), %eax
movl 0x60(%rsp), %eax
movl 0x58(%rsp), %eax
movl 0x50(%rsp), %eax
movq %rdi, 0x40(%rsp)
movl %esi, 0x3c(%rsp)
movl %edx, 0x38(%rsp)
movl %ecx, 0x34(%rsp)
movl %r8d, 0x30(%rsp)
movl %r9d, 0x2c(%rsp)
movq 0x40(%rsp), %rdi
movl 0x3c(%rsp), %esi
movl 0x38(%rsp), %edx
movl 0x34(%rsp), %ecx
movl 0x30(%rsp), %r8d
movl 0x50(%rsp), %r9d
movl 0x58(%rsp), %r11d
movl 0x60(%rsp), %r10d
leaq 0x108f46(%rip), %rax    # 0x1ef22a
movl %r11d, (%rsp)
movl %r10d, 0x8(%rsp)
movq %rax, 0x10(%rsp)
movl $0xd85d, 0x18(%rsp)     # imm = 0xD85D
callq 0xe53d0
movq 0x40(%rsp), %rax
movl $0x4, 0x64(%rax)
movl 0x3c(%rsp), %ecx
movq 0x40(%rsp), %rax
movl %ecx, 0x60(%rax)
movq 0x40(%rsp), %rdi
movl 0x2c(%rsp), %edx
movl 0x68(%rsp), %ecx
movl $0x3, %esi
callq 0xe49b0
movb $0x1, %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_7pid_ssfo
static s7_double opt_d_7pid_ssfo(opt_info *o)
                {
                    s7_pointer fv;
                    fv = slot_value(o->v[1].p);
                    oo_rc(o->sc, o, 9, 4);
                    return(o->v[4].d_7pid_f(o->sc, fv, integer(slot_value(o->v[2].p)),
                                o->v[6].d_dd_f(o->v[5].d_7pi_f(o->sc, fv, integer(slot_value(o->v[3].p))), real(slot_value(o->v[8].p)))));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, (%rsp)
movq 0x30(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x68(%rcx), %rdi
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rdx
callq *%rax
movq (%rsp), %rax
movq 0x30(%rsp), %rcx
movq 0x40(%rcx), %rcx
movq 0x10(%rcx), %rcx
movsd 0x8(%rcx), %xmm1
callq *%rax
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x20(%rsp), %rax
callq *%rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_d_7pid_ssfo_fv
static s7_double opt_d_7pid_ssfo_fv(opt_info *o)
                {
                    s7_double val;
                    s7_double *els;
                    els = float_vector_floats(slot_value(o->v[1].p));
                    val = o->v[6].d_dd_f(els[integer(slot_value(o->v[3].p))], real(slot_value(o->v[8].p)));
                    els[integer(slot_value(o->v[2].p))] = val;
                    oo_rc(o->sc, o, 7, 4);
                    return(val);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rax
movq (%rsp), %rcx
movq 0x10(%rsp), %rdx
movq 0x18(%rdx), %rdx
movq 0x10(%rdx), %rdx
movq 0x8(%rdx), %rdx
movsd (%rcx,%rdx,8), %xmm0
movq 0x10(%rsp), %rcx
movq 0x40(%rcx), %rcx
movq 0x10(%rcx), %rcx
movsd 0x8(%rcx), %xmm1
callq *%rax
movsd %xmm0, 0x8(%rsp)
movsd 0x8(%rsp), %xmm0
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x8(%rsp), %xmm0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: opt_int_not_pair
static bool opt_int_not_pair(s7_scheme *sc, s7_pointer car_x)
                {
                    opt_info *opc;
                    s7_pointer p;
                    if (is_opt_int(car_x))
                    {
                        opc = alloc_opo(sc, car_x);
                        opc->v[1].i = integer(car_x);
                        opc->v[0].fi = opt_i_c;
                        return(oo_set_type_0(opc, 2));
                    }
                    p = opt_integer_symbol(sc, car_x);
                    if (p)
                    {
                        opc = alloc_opo(sc, car_x);
                        opc->v[1].p = p;
                        opc->v[0].fi = opt_i_s;
                        return(oo_set_type_1(opc, 2, 1, OO_I));
                    }
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0xe65ae
movq 0x18(%rsp), %rdi
callq 0xe15e0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
leaq 0x23b8(%rip), %rcx      # 0xe8940
movq %rcx, (%rax)
movq 0x8(%rsp), %rdi
movl $0x2, %esi
leaq 0x108c9e(%rip), %rdx    # 0x1ef23a
movl $0xd925, %ecx           # imm = 0xD925
callq 0xe4820
andb $0x1, %al
movb %al, 0x27(%rsp)
jmp 0xe6623
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xe5260
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0xe661e
movq 0x18(%rsp), %rdi
callq 0xe15e0
movq %rax, 0x8(%rsp)
movq (%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
leaq 0x2360(%rip), %rcx      # 0xe8950
movq %rcx, (%rax)
movq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x1, %ecx
leaq 0x108c31(%rip), %r8     # 0x1ef23a
movl $0xd92d, %r9d           # imm = 0xD92D
movl %ecx, %edx
callq 0xe4950
andb $0x1, %al
movb %al, 0x27(%rsp)
jmp 0xe6623
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: i_iii_ok
static bool i_iii_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x)
                {
                    s7_i_iii_t ifunc;
                    ifunc = s7_i_iii_function(s_func);
                    if (ifunc)
                    {
                        int32_t start;
                        start = sc->pc;
                        if ((int_optimize(sc, cdr(car_x))) &&
                                (int_optimize(sc, cddr(car_x))) &&
                                (int_optimize(sc, cdddr(car_x))))
                        {
                            opc->v[3].i_iii_f = ifunc;
                            opc->v[0].fi = opt_i_iii_fff;
                            return(oo_set_type_0(opc, 4));
                        }
                        pc_fallback(sc, start);
                        return(return_false(sc, car_x, __func__, __LINE__));
                    }
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
movq 0x18(%rsp), %rdi
callq 0x47360
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0xe80fe
movq 0x28(%rsp), %rax
movl 0x2258(%rax), %eax
movl %eax, 0x4(%rsp)
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xe59c0
testb $0x1, %al
jne 0xe806b
jmp 0xe80e9
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0xe59c0
testb $0x1, %al
jne 0xe8088
jmp 0xe80e9
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0xe59c0
testb $0x1, %al
jne 0xe80a9
jmp 0xe80e9
movq 0x8(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x20(%rsp), %rax
leaq 0x2ac4d(%rip), %rcx     # 0x112d10
movq %rcx, (%rax)
movq 0x20(%rsp), %rdi
movl $0x4, %esi
leaq 0x107526(%rip), %rdx    # 0x1ef5fd
movl $0xdbaa, %ecx           # imm = 0xDBAA
callq 0xe4820
andb $0x1, %al
movb %al, 0x37(%rsp)
jmp 0xe8103
movq 0x28(%rsp), %rdi
movl 0x4(%rsp), %esi
callq 0xe59a0
movb $0x0, 0x37(%rsp)
jmp 0xe8103
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: set_i_i_f_combinable
static bool set_i_i_f_combinable(s7_scheme *sc, opt_info *opc)
                {
                    if ((sc->pc > 1) &&
                            (opc == sc->opts[sc->pc - 2]))
                    {
                        opt_info *o1;
                        o1 = sc->opts[sc->pc - 1];
                        if (o1->v[0].fi == opt_i_ii_sc_add)
                        {
                            /* opc->v[4].i_ii_f = o1->v[3].i_ii_f; */
                            opc->v[3].p = o1->v[1].p;
                            opc->v[2].i = o1->v[2].i;
                            opc->v[0].fi = opt_set_i_i_fo;
                            backup_pc(sc);
                            return(oo_set_type_2(opc, 5, 1, 3, OO_I, OO_I)); /* ii_sc v[1].p is a slot */
                        }
                    }
                    return(return_false(sc, NULL, __func__, __LINE__));
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq 0x28(%rsp), %rax
cmpl $0x1, 0x2258(%rax)
jle 0xe8a75
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
movq 0x28(%rsp), %rdx
movl 0x2258(%rdx), %edx
subl $0x2, %edx
movslq %edx, %rdx
cmpq 0x2260(%rcx,%rdx,8), %rax
jne 0xe8a75
movq 0x28(%rsp), %rax
movq 0x28(%rsp), %rcx
movl 0x2258(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
leaq 0x6d8(%rip), %rcx       # 0xe90c0
cmpq %rcx, (%rax)
jne 0xe8a73
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
leaq 0x6bf(%rip), %rcx       # 0xe90e0
movq %rcx, (%rax)
movq 0x28(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x2258(%rax)
movq 0x20(%rsp), %rdi
movl $0x5, %esi
movl $0x1, %r9d
movl $0x3, %ecx
leaq 0x106803(%rip), %rax    # 0x1ef257
movl %r9d, %edx
movl %r9d, %r8d
movq %rax, (%rsp)
movl $0xdd82, 0x8(%rsp)      # imm = 0xDD82
callq 0xe54b0
andb $0x1, %al
movb %al, 0x37(%rsp)
jmp 0xe8a7a
jmp 0xe8a75
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)