LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: geq_chooser
static s7_pointer geq_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if (args == 2)
                    {
                        if (ops)
                        {
                            s7_pointer arg2;
                            arg2 = caddr(expr);
                            if ((is_t_integer(arg2)) &&
                                    (integer(arg2) < s7_int32_max) &&
                                    (integer(arg2) > s7_int32_min))
                                return(sc->geq_xi);
                            if ((is_t_real(arg2)) &&
                                    (real(arg2) < s7_int32_max) &&
                                    (real(arg2) > s7_int32_min))
                                return(sc->geq_xf);
                        }
                        return(sc->geq_2);
                    }
                    return(f);
                }

// Assembly:
movb %r8b, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq %rcx, -0x28(%rsp)
andb $0x1, %al
movb %al, -0x29(%rsp)
cmpl $0x2, -0x1c(%rsp)
jne 0x1d30b7
testb $0x1, -0x29(%rsp)
je 0x1d30a4
movq -0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rsp)
movq -0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0x1d3052
movq -0x38(%rsp), %rax
movq 0x8(%rax), %rax
movslq 0x51f0f(%rip), %rcx     # 0x224f34
cmpq %rcx, %rax
jge 0x1d3052
movq -0x38(%rsp), %rax
movq 0x8(%rax), %rax
movslq 0x51fce(%rip), %rcx     # 0x225008
cmpq %rcx, %rax
jle 0x1d3052
movq -0x10(%rsp), %rax
movq 0x1cb8(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d30c1
movq -0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xd, %eax
jne 0x1d30a2
movq -0x38(%rsp), %rax
movsd 0x8(%rax), %xmm1
cvtsi2sdl 0x51ec3(%rip), %xmm0 # 0x224f34
ucomisd %xmm1, %xmm0
jbe 0x1d30a2
movq -0x38(%rsp), %rax
movsd 0x8(%rax), %xmm0
cvtsi2sdl 0x51f7f(%rip), %xmm1 # 0x225008
ucomisd %xmm1, %xmm0
jbe 0x1d30a2
movq -0x10(%rsp), %rax
movq 0x1cc0(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d30c1
jmp 0x1d30a4
movq -0x10(%rsp), %rax
movq 0x1c18(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d30c1
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: random_chooser
static s7_pointer random_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
    {
        if (!ops) return(f);
        if (args == 1)
        {
            s7_pointer arg1;
            arg1 = cadr(expr);
            if (is_t_integer(arg1))
                return(sc->random_i);
            if (is_float(arg1))
                return(sc->random_f);
            return(sc->random_1);
        }
        return(f);
    }

// Assembly:
movb %r8b, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq %rcx, -0x28(%rsp)
andb $0x1, %al
movb %al, -0x29(%rsp)
testb $0x1, -0x29(%rsp)
jne 0x1d30ff
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d3175
cmpl $0x1, -0x1c(%rsp)
jne 0x1d316b
movq -0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rsp)
movq -0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0x1d3138
movq -0x10(%rsp), %rax
movq 0x1cc8(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d3175
movq -0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xd, %eax
jne 0x1d3158
movq -0x10(%rsp), %rax
movq 0x1cd0(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d3175
movq -0x10(%rsp), %rax
movq 0x1cd8(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d3175
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_random_1
static s7_pointer g_random_1(s7_scheme *sc, s7_pointer args)
    {
        s7_pointer r, num;
        num = car(args);
        r = sc->default_rng;
        if (is_t_integer(num))
            return(make_integer(sc, (s7_int)(integer(num) * next_random(r))));
        if (is_t_real(num))
            return(make_real(sc, real(num) * next_random(r)));
        return(g_random(sc, args));
    }

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x68(%rsp)
movq %rsi, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x68(%rsp), %rax
movq 0xaa0(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0x50(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0x1d32a8
movq 0x50(%rsp), %rax
cvtsi2sdq 0x8(%rax), %xmm0
movsd %xmm0, 0x10(%rsp)
movq 0x58(%rsp), %rdi
callq 0x143a0
movaps %xmm0, %xmm1
movsd 0x10(%rsp), %xmm0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
andq $-0x800, %rax           # imm = 0xF800
cmpq $0x0, %rax
jne 0x1d3218
movq 0x48(%rsp), %rcx
leaq 0x43273(%rip), %rax     # 0x216480
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
jmp 0x1d328f
jmp 0x1d321a
movq 0x68(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x68(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x1d323e
movq 0x68(%rsp), %rdi
callq 0xc670
movq 0x68(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq $0xb, (%rax)
movq 0x48(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x70(%rsp)
jmp 0x1d3371
movq 0x50(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xd, %eax
jne 0x1d335d
movq 0x50(%rsp), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, (%rsp)
movq 0x58(%rsp), %rdi
callq 0x143a0
movaps %xmm0, %xmm1
movsd (%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rsp)
movq 0x68(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x68(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x1d3308
movq 0x68(%rsp), %rdi
callq 0xc670
movq 0x68(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq $0xd, (%rax)
movsd 0x20(%rsp), %xmm0
movq 0x28(%rsp), %rax
movsd %xmm0, 0x8(%rax)
movq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x70(%rsp)
jmp 0x1d3371
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x88230
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
addq $0x78, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: is_defined_chooser
static s7_pointer is_defined_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
    {
        if (!ops) return(f);
        if ((args == 2) && (is_symbol(cadr(expr))))
        {
            s7_pointer e;
            e = caddr(expr);
            if ((is_pair(e)) && (is_null(cdr(e))) && (car(e) == sc->rootlet_symbol))
            {
                set_safe_optimize_op(expr, HOP_SAFE_C_D);
                return(sc->is_defined_in_rootlet);
            }
        }
        return(f);
    }

// Assembly:
movb %r8b, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq %rcx, -0x28(%rsp)
andb $0x1, %al
movb %al, -0x29(%rsp)
testb $0x1, -0x29(%rsp)
jne 0x1d3472
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d3524
cmpl $0x2, -0x1c(%rsp)
jne 0x1d351a
movq -0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x1d351a
movq -0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rsp)
movq -0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x1d3518
movq -0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x1d3518
movq -0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rsp), %rcx
cmpq 0x1490(%rcx), %rax
jne 0x1d3518
jmp 0x1d34e9
movq -0x28(%rsp), %rax
movzwl (%rax), %ecx
orl $0x800, %ecx            # imm = 0x800
movw %cx, (%rax)
movq -0x28(%rsp), %rax
movw $0x3, 0x4(%rax)
movq -0x10(%rsp), %rax
movq 0x1c28(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d3524
jmp 0x1d351a
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_is_defined_in_rootlet
static s7_pointer g_is_defined_in_rootlet(s7_scheme *sc, s7_pointer args)
    {
        /* here we know arg2=(rootlet), and no arg3, arg1 is a symbol that needs to be looked-up */
        s7_pointer sym;
        sym = lookup(sc, car(args));
        if (!is_symbol(sym))
            return(method_or_bust(sc, sym, sc->is_defined_symbol, args, T_SYMBOL, 1));
        return(make_boolean(sc, is_slot(global_slot(sym))));
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
je 0x1d3596
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rax
movq 0x1050(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0xa, %r8d
movl $0x1, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d35d2
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0x1d35b9
movq 0x18(%rsp), %rax
movq 0x118(%rax), %rax
movq %rax, (%rsp)
jmp 0x1d35c9
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: char_equal_chooser
static s7_pointer char_equal_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if (args == 2)
                    {
                        if (ops)
                        {
                            s7_pointer arg1, arg2;
                            arg1 = cadr(expr);
                            arg2 = caddr(expr);
                            if ((returns_char(sc, arg1)) && (returns_char(sc, arg2)))
                                return(sc->simple_char_eq);
                        }
                        return(sc->char_equal_2);
                    }
                    return(f);
                }

// Assembly:
subq $0x48, %rsp
movb %r8b, %al
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movl %edx, 0x2c(%rsp)
movq %rcx, 0x20(%rsp)
andb $0x1, %al
movb %al, 0x1f(%rsp)
cmpl $0x2, 0x2c(%rsp)
jne 0x1d368c
testb $0x1, 0x1f(%rsp)
je 0x1d3679
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1d9010
testb $0x1, %al
jne 0x1d364f
jmp 0x1d3677
movq 0x38(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x1d9010
testb $0x1, %al
jne 0x1d3664
jmp 0x1d3677
movq 0x38(%rsp), %rax
movq 0x1a98(%rax), %rax
movq %rax, 0x40(%rsp)
jmp 0x1d3696
jmp 0x1d3679
movq 0x38(%rsp), %rax
movq 0x1aa0(%rax), %rax
movq %rax, 0x40(%rsp)
jmp 0x1d3696
movq 0x30(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
addq $0x48, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_char_greater_2
static s7_pointer g_char_greater_2(s7_scheme *sc, s7_pointer args)
    {
        if (!s7_is_character(car(args)))
            return(method_or_bust(sc, car(args), sc->char_gt_symbol, args, T_CHARACTER, 1));
        if (!s7_is_character(cadr(args)))
            return(method_or_bust(sc, cadr(args), sc->char_gt_symbol, args, T_CHARACTER, 2));
        return(make_boolean(sc, character(car(args)) > character(cadr(args))));
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x14430
testb $0x1, %al
jne 0x1d37aa
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0xdc8(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x8, %r8d
movl $0x1, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d384b
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x14430
testb $0x1, %al
jne 0x1d37fb
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0xdc8(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x8, %r8d
movl $0x2, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d384b
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movzbl 0x8(%rax), %eax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rcx
movzbl 0x8(%rcx), %ecx
cmpl %ecx, %eax
jle 0x1d3830
movq 0x18(%rsp), %rax
movq 0x118(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x1d3841
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %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: g_char_less_2
static s7_pointer g_char_less_2(s7_scheme *sc, s7_pointer args)
    {
        if (!s7_is_character(car(args)))
            return(method_or_bust(sc, car(args), sc->char_lt_symbol, args, T_CHARACTER, 1));
        if (!s7_is_character(cadr(args)))
            return(method_or_bust(sc, cadr(args), sc->char_lt_symbol, args, T_CHARACTER, 2));
        return(make_boolean(sc, character(car(args)) < character(cadr(args))));
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x14430
testb $0x1, %al
jne 0x1d390a
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0xdd8(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x8, %r8d
movl $0x1, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d39ab
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x14430
testb $0x1, %al
jne 0x1d395b
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0xdd8(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x8, %r8d
movl $0x2, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d39ab
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movzbl 0x8(%rax), %eax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rcx
movzbl 0x8(%rcx), %ecx
cmpl %ecx, %eax
jge 0x1d3990
movq 0x18(%rsp), %rax
movq 0x118(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x1d39a1
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %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: g_read_char_1
static s7_pointer g_read_char_1(s7_scheme *sc, s7_pointer args)
    {
        s7_pointer port;
        port = car(args);
        if (!is_input_port(port))
            return(method_or_bust_with_type_one_arg(sc, port, sc->read_char_symbol, args, an_input_port_string));
        return(chars[port_read_character(port)(sc, port)]);
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x23, %eax
je 0x1d3a67
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rax
movq 0x1448(%rax), %rdx
movq 0x10(%rsp), %rcx
movq 0x46cd5(%rip), %r8      # 0x21a730
callq 0x1ba7e0
movq %rax, 0x20(%rsp)
jmp 0x1d3aa0
movq 0x46b1a(%rip), %rax     # 0x21a588
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq *%rax
movl %eax, %ecx
movq (%rsp), %rax
movslq %ecx, %rcx
movq (%rax,%rcx,8), %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: char_position_chooser
static s7_pointer char_position_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if (!ops) return(f);
                    if (((args == 2) || (args == 3)) &&
                            (s7_is_character(cadr(expr))))
                        return(sc->char_position_csi);
                    return(f);
                }

// Assembly:
subq $0x38, %rsp
movb %r8b, %al
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movq %rcx, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
testb $0x1, 0xf(%rsp)
jne 0x1d3ae3
movq 0x20(%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d3b26
cmpl $0x2, 0x1c(%rsp)
je 0x1d3af1
cmpl $0x3, 0x1c(%rsp)
jne 0x1d3b1c
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x14430
testb $0x1, %al
jne 0x1d3b09
jmp 0x1d3b1c
movq 0x28(%rsp), %rax
movq 0x1ab8(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d3b26
movq 0x20(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: string_equal_chooser
static s7_pointer string_equal_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    check_for_substring_temp(sc, expr);
                    if (args == 2)
                        return(sc->string_equal_2);
                    return(f);
                }

// Assembly:
subq $0x38, %rsp
movb %r8b, %al
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movq %rcx, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1d9050
cmpl $0x2, 0x1c(%rsp)
jne 0x1d3f49
movq 0x28(%rsp), %rax
movq 0x1ac0(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d3f53
movq 0x20(%rsp), %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: g_string_equal_2
static s7_pointer g_string_equal_2(s7_scheme *sc, s7_pointer args)
    {
        if (!is_string(car(args)))
            return(method_or_bust(sc, car(args), sc->string_eq_symbol, args, T_STRING, 1));
        if (!is_string(cadr(args)))
            return(method_or_bust(sc, cadr(args), sc->string_eq_symbol, args, T_STRING, 2));
        return(make_boolean(sc, scheme_strings_are_equal(car(args), cadr(args))));
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
je 0x1d3fb9
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0x1510(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x13, %r8d
movl $0x1, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d4058
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
je 0x1d4009
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0x1510(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x13, %r8d
movl $0x2, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d4058
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x1b64f0
testb $0x1, %al
jne 0x1d402a
jmp 0x1d403d
movq 0x18(%rsp), %rax
movq 0x118(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x1d404e
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %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: g_substring_to_temp
static s7_pointer g_substring_to_temp(s7_scheme *sc, s7_pointer args)
    {
        s7_pointer str;
        s7_int start = 0, end;

        str = car(args);
        if (!is_string(str))
            return(method_or_bust(sc, str, sc->substring_symbol, args, T_STRING, 1));

        end = string_length(str);
        if (!is_null(cdr(args)))
        {
            s7_pointer x;
            x = start_and_end(sc, sc->substring_symbol, args, 2, &start, &end);
            if (x != sc->unused) return(x);
        }
        return(wrap_string(sc, (char *)(string_value(str) + start), end - start));
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
je 0x1d40d8
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rax
movq 0x1580(%rax), %rdx
movq 0x20(%rsp), %rcx
movl $0x13, %r8d
movl $0x1, %r9d
callq 0x13c50
movq %rax, 0x30(%rsp)
jmp 0x1d4171
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x28(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x1d414a
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x1580(%rax), %rsi
movq 0x20(%rsp), %rdx
movl $0x2, %ecx
leaq 0x10(%rsp), %r8
leaq 0x8(%rsp), %r9
callq 0xda710
movq %rax, (%rsp)
movq (%rsp), %rax
movq 0x28(%rsp), %rcx
cmpq 0x140(%rcx), %rax
je 0x1d4148
movq (%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d4171
jmp 0x1d414a
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
addq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
subq 0x10(%rsp), %rdx
callq 0xb880
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: string_greater_chooser
static s7_pointer string_greater_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    check_for_substring_temp(sc, expr);
                    if (args == 2)
                        return(sc->string_greater_2);
                    return(f);
                }

// Assembly:
subq $0x38, %rsp
movb %r8b, %al
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movq %rcx, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1d9050
cmpl $0x2, 0x1c(%rsp)
jne 0x1d4209
movq 0x28(%rsp), %rax
movq 0x1ae0(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d4213
movq 0x20(%rsp), %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: g_string_greater_2
static s7_pointer g_string_greater_2(s7_scheme *sc, s7_pointer args)
    {
        if (!is_string(car(args)))
            return(method_or_bust(sc, car(args), sc->string_gt_symbol, args, T_STRING, 1));
        if (!is_string(cadr(args)))
            return(method_or_bust(sc, cadr(args), sc->string_gt_symbol, args, T_STRING, 2));
        return(make_boolean(sc, scheme_strcmp(car(args), cadr(args)) == 1));
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
je 0x1d4279
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0x1528(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x13, %r8d
movl $0x1, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d4317
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
je 0x1d42c9
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0x1528(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x13, %r8d
movl $0x2, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d4317
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x1c2ed0
cmpl $0x1, %eax
jne 0x1d42fc
movq 0x18(%rsp), %rax
movq 0x118(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x1d430d
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %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: string_less_chooser
static s7_pointer string_less_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    check_for_substring_temp(sc, expr);
                    if (args == 2)
                        return(sc->string_less_2);
                    return(f);
                }

// Assembly:
subq $0x38, %rsp
movb %r8b, %al
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movq %rcx, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1d9050
cmpl $0x2, 0x1c(%rsp)
jne 0x1d4379
movq 0x28(%rsp), %rax
movq 0x1ae8(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d4383
movq 0x20(%rsp), %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: g_string_less_2
static s7_pointer g_string_less_2(s7_scheme *sc, s7_pointer args)
    {
        if (!is_string(car(args)))
            return(method_or_bust(sc, car(args), sc->string_lt_symbol, args, T_STRING, 1));
        if (!is_string(cadr(args)))
            return(method_or_bust(sc, cadr(args), sc->string_lt_symbol, args, T_STRING, 2));
        return(make_boolean(sc, scheme_strcmp(car(args), cadr(args)) == -1));
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
je 0x1d43e9
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0x1538(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x13, %r8d
movl $0x1, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d4487
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
je 0x1d4439
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0x1538(%rax), %rdx
movq 0x10(%rsp), %rcx
movl $0x13, %r8d
movl $0x2, %r9d
callq 0x13c50
movq %rax, 0x20(%rsp)
jmp 0x1d4487
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x1c2ed0
cmpl $-0x1, %eax
jne 0x1d446c
movq 0x18(%rsp), %rax
movq 0x118(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x1d447d
movq 0x18(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %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: display_chooser
static s7_pointer display_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
    {
        if (args == 2)
        {
            if (caddr(expr) == sc->F) return(sc->display_f);
            return(sc->display_2);
        }
        return(f);
    }

// Assembly:
movb %r8b, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq %rcx, -0x28(%rsp)
andb $0x1, %al
movb %al, -0x29(%rsp)
cmpl $0x2, -0x1c(%rsp)
jne 0x1d4548
movq -0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq -0x10(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x1d4535
movq -0x10(%rsp), %rax
movq 0x1ad8(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d4552
movq -0x10(%rsp), %rax
movq 0x1ad0(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d4552
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_display_2
static s7_pointer g_display_2(s7_scheme *sc, s7_pointer args)
    {
        /* calling display_p_pp here is much slower */
        s7_pointer port;
        port = cadr(args);
        if (port == sc->F) return(car(args));
        if (!is_output_port(port))
            return(method_or_bust_with_type(sc, port, sc->display_symbol, args, an_output_port_string, 2));
        if (port_is_closed(port))
            return(s7_wrong_type_arg_error(sc, "display", 2, port, "an open output port"));
        check_method(sc, car(args), sc->display_symbol, args);
        return(object_out(sc, car(args), port, P_DISPLAY));
    }

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0x1d45c6
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
jmp 0x1d4717
movq 0x28(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x22, %eax
je 0x1d460a
movq 0x38(%rsp), %rdi
movq 0x28(%rsp), %rsi
movq 0x38(%rsp), %rax
movq 0xe80(%rax), %rdx
movq 0x30(%rsp), %rcx
movq 0x4d813(%rip), %r8      # 0x221e08
movl $0x2, %r9d
callq 0x14130
movq %rax, 0x40(%rsp)
jmp 0x1d4717
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
testb $0x1, 0x2(%rax)
je 0x1d4645
movq 0x38(%rsp), %rdi
movq 0x28(%rsp), %rcx
leaq 0xd67c(%rip), %rsi      # 0x1e1ca6
movl $0x2, %edx
leaq 0x1e8aa(%rip), %r8      # 0x1f2ee0
callq 0x12540
movq %rax, 0x40(%rsp)
jmp 0x1d4717
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
andq $0x40000000, %rax       # imm = 0x40000000
cmpq $0x0, %rax
je 0x1d46f8
movq 0x38(%rsp), %rax
testb $0x1, 0x24c(%rax)
je 0x1d46f8
movq 0x38(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x9a10
movq 0x18(%rsp), %rdi
movq %rax, %rsi
movq 0x38(%rsp), %rax
movq 0xe80(%rax), %rdx
callq 0x98d0
movq %rax, 0x20(%rsp)
movq 0x38(%rsp), %rcx
cmpq 0x128(%rcx), %rax
je 0x1d46f8
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x44270
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0xda50
movq %rax, 0x40(%rsp)
jmp 0x1d4717
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x28(%rsp), %rdx
xorl %ecx, %ecx
callq 0x2d120
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: vector_ref_chooser
static s7_pointer vector_ref_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    /* if (symbol_id(sc->vector_ref_symbol) != 0) return(f); */
                    if (args == 2)
                        return(sc->vector_ref_2);
                    if (args == 3)
                        return(sc->vector_ref_3);
                    return(f);
                }

// Assembly:
movb %r8b, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq %rcx, -0x28(%rsp)
andb $0x1, %al
movb %al, -0x29(%rsp)
cmpl $0x2, -0x1c(%rsp)
jne 0x1d4766
movq -0x10(%rsp), %rax
movq 0x1af8(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d478a
cmpl $0x3, -0x1c(%rsp)
jne 0x1d4780
movq -0x10(%rsp), %rax
movq 0x1b00(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d478a
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: float_vector_ref_chooser
static s7_pointer float_vector_ref_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if (args == 2)
                        return(sc->fv_ref_2);
                    if (args == 3)
                        return(sc->fv_ref_3);
                    return(f);
                }

// Assembly:
movb %r8b, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq %rcx, -0x28(%rsp)
andb $0x1, %al
movb %al, -0x29(%rsp)
cmpl $0x2, -0x1c(%rsp)
jne 0x1d4a56
movq -0x10(%rsp), %rax
movq 0x1b20(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d4a7a
cmpl $0x3, -0x1c(%rsp)
jne 0x1d4a70
movq -0x10(%rsp), %rax
movq 0x1b28(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d4a7a
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: float_vector_set_chooser
static s7_pointer float_vector_set_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if (args == 3)
                    {
                        if (find_matching_ref(sc, sc->float_vector_ref_symbol, expr))
                            return(sc->fv_set_unchecked);
                        return(sc->fv_set_3);
                    }
                    return(f);
                }

// Assembly:
subq $0x38, %rsp
movb %r8b, %al
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movq %rcx, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
cmpl $0x3, 0x1c(%rsp)
jne 0x1d4f0e
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0xef0(%rax), %rsi
movq 0x10(%rsp), %rdx
callq 0x1d9290
testb $0x1, %al
jne 0x1d4ee8
jmp 0x1d4efb
movq 0x28(%rsp), %rax
movq 0x1b38(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d4f18
movq 0x28(%rsp), %rax
movq 0x1b30(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d4f18
movq 0x20(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_fv_set_unchecked
static s7_pointer g_fv_set_unchecked(s7_scheme *sc, s7_pointer args)
                {
                    s7_pointer fv, value;
                    s7_int ind;
                    value = caddr(args);
                    if (!s7_is_real(value))
                        return(wrong_type_argument(sc, sc->float_vector_set_symbol, 3, value, T_REAL));
                    fv = car(args);
                    if (is_immutable_vector(fv))
                        return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, sc->float_vector_set_symbol, fv)));
                    ind = s7_integer(cadr(args));
                    float_vector(fv, ind) = s7_real(value);
                    return(value);
                }

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x68(%rsp)
movq %rsi, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rdi
callq 0x11360
testb $0x1, %al
jne 0x1d52fd
movq 0x68(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x68(%rsp), %rax
movq 0xef8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x20(%rsp)
movq $0x3, 0x40(%rsp)
movq 0x40(%rsp), %rax
andq $-0x800, %rax           # imm = 0xF800
cmpq $0x0, %rax
jne 0x1d5246
movq 0x40(%rsp), %rcx
leaq 0x41245(%rip), %rax     # 0x216480
movq (%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
jmp 0x1d52bd
jmp 0x1d5248
movq 0x68(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x68(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x1d526c
movq 0x68(%rsp), %rdi
callq 0xc670
movq 0x68(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq $0xb, (%rax)
movq 0x40(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rdx
movq 0x50(%rsp), %rcx
movq 0x68(%rsp), %rax
movq 0x140(%rax), %r8
movq 0x4530a(%rip), %r9      # 0x21a5f8
callq 0xc560
movq %rax, 0x70(%rsp)
jmp 0x1d539d
movq 0x60(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq (%rax), %rax
andq $0x1000000, %rax        # imm = 0x1000000
cmpq $0x0, %rax
je 0x1d535f
movq 0x68(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x68(%rsp), %rdi
movq 0x45163(%rip), %rsi     # 0x21a498
movq 0x68(%rsp), %rax
movq 0xef8(%rax), %rdx
movq 0x58(%rsp), %rcx
callq 0xf240
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0xb800
movq %rax, 0x70(%rsp)
jmp 0x1d539d
movq 0x60(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x10790
movq %rax, 0x48(%rsp)
movq 0x50(%rsp), %rdi
callq 0x128d0
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x48(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x50(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
addq $0x78, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: int_vector_ref_chooser
static s7_pointer int_vector_ref_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if (args == 2)
                        return(sc->iv_ref_2);
                    if (args == 3)
                        return(sc->iv_ref_3);
                    return(f);
                }

// Assembly:
movb %r8b, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq %rcx, -0x28(%rsp)
andb $0x1, %al
movb %al, -0x29(%rsp)
cmpl $0x2, -0x1c(%rsp)
jne 0x1d53e6
movq -0x10(%rsp), %rax
movq 0x1b40(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d540a
cmpl $0x3, -0x1c(%rsp)
jne 0x1d5400
movq -0x10(%rsp), %rax
movq 0x1b50(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d540a
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: byte_vector_ref_chooser
static s7_pointer byte_vector_ref_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if (args == 2)
                        return(sc->bv_ref_2);
                    if (args == 3)
                        return(sc->bv_ref_3);
                    return(f);
                }

// Assembly:
movb %r8b, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq %rcx, -0x28(%rsp)
andb $0x1, %al
movb %al, -0x29(%rsp)
cmpl $0x2, -0x1c(%rsp)
jne 0x1d5bc6
movq -0x10(%rsp), %rax
movq 0x1b60(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d5bea
cmpl $0x3, -0x1c(%rsp)
jne 0x1d5be0
movq -0x10(%rsp), %rax
movq 0x1b68(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d5bea
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: list_set_chooser
static s7_pointer list_set_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if ((args == 3) &&
                            (s7_is_integer(caddr(expr))) &&
                            (s7_integer(caddr(expr)) >= 0) &&
                            (s7_integer(caddr(expr)) < sc->max_list_length))
                        return(sc->list_set_i);
                    return(f);
                }

// Assembly:
subq $0x38, %rsp
movb %r8b, %al
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movq %rcx, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
cmpl $0x3, 0x1c(%rsp)
jne 0x1d67b6
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x11340
testb $0x1, %al
jne 0x1d6763
jmp 0x1d67b6
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x10790
cmpq $0x0, %rax
jl 0x1d67b6
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x10790
movq 0x28(%rsp), %rcx
cmpq 0x2b0(%rcx), %rax
jge 0x1d67b6
movq 0x28(%rsp), %rax
movq 0x1b98(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d67c0
movq 0x20(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_hash_table_2
static s7_pointer g_hash_table_2(s7_scheme *sc, s7_pointer args)
                {
                    s7_pointer ht;
                    ht = s7_make_hash_table(sc, sc->default_hash_table_length);
                    if (cadr(args) != sc->F)
                        hash_table_add(sc, ht, car(args), cadr(args));
                    return(ht);
                }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x10(%rsp), %rax
movq 0x270(%rax), %rsi
callq 0x2a440
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x1d6ef7
movq 0x10(%rsp), %rdi
movq (%rsp), %rsi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
callq 0x1cd150
movq (%rsp), %rax
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_format_f
static s7_pointer g_format_f(s7_scheme *sc, s7_pointer args)
    {
        /* port == #f, there are other args */
        s7_pointer str;
        sc->format_column = 0;
        str = cadr(args);
        if (!is_string(str))
            return(method_or_bust(sc, str, sc->format_symbol, args, T_STRING, 2));
        return(format_to_port_1(sc, sc->F, string_value(str), cddr(args), NULL, true, true, string_length(str), str));
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq 0x28(%rsp), %rax
movl $0x0, 0x238(%rax)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
je 0x1d71af
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rax
movq 0xf20(%rax), %rdx
movq 0x20(%rsp), %rcx
movl $0x13, %r8d
movl $0x2, %r9d
callq 0x13c50
movq %rax, 0x30(%rsp)
jmp 0x1d7208
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x120(%rax), %rsi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdx
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %r10
movq 0x18(%rsp), %rax
xorl %r8d, %r8d
movl $0x1, %r9d
movl $0x1, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0xd2940
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_format_as_objstr
static s7_pointer g_format_as_objstr(s7_scheme *sc, s7_pointer args)
                {
                    s7_pointer func, obj;

                    obj = caddr(args);
                    if ((!has_active_methods(sc, obj)) ||
                            ((func = find_method(sc, find_let(sc, obj), sc->format_symbol)) == sc->undefined))
                        return(s7_object_to_string(sc, obj, false));

                    return(s7_apply_function(sc, func, list_3(sc, sc->F, cadr(args), obj)));
                }

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x78(%rsp)
movq %rsi, 0x70(%rsp)
movq 0x70(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq (%rax), %rax
andq $0x40000000, %rax       # imm = 0x40000000
cmpq $0x0, %rax
je 0x1d764e
movq 0x78(%rsp), %rax
testb $0x1, 0x24c(%rax)
je 0x1d764e
movq 0x78(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x78(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x9a10
movq 0x38(%rsp), %rdi
movq %rax, %rsi
movq 0x78(%rsp), %rax
movq 0xf20(%rax), %rdx
callq 0x98d0
movq %rax, 0x68(%rsp)
movq 0x78(%rsp), %rcx
cmpq 0x128(%rcx), %rax
jne 0x1d766c
movq 0x78(%rsp), %rdi
movq 0x60(%rsp), %rsi
xorl %edx, %edx
callq 0x2cd00
movq %rax, 0x80(%rsp)
jmp 0x1d778b
movq 0x78(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x78(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x78(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x78(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x70(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x78(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x78(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x78(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x1d76f6
movq 0x78(%rsp), %rdi
callq 0xc670
movq 0x78(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x30(%rsp), %rsi
movq 0x28(%rsp), %rdi
movq 0x50(%rsp), %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x48(%rsp), %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x58(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdx
callq 0xd9f0
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq %rax, %rdx
callq 0xd9f0
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0xda50
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rax
addq $0x88, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: list_chooser
static s7_pointer list_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if (args == 0) return(sc->list_0);
                    if (args == 1) return(sc->list_1);
                    if (args == 2) return(sc->list_2);
                    if (args == 3) return(sc->list_3);
                    return(f);
                }

// Assembly:
movb %r8b, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq %rcx, -0x28(%rsp)
andb $0x1, %al
movb %al, -0x29(%rsp)
cmpl $0x0, -0x1c(%rsp)
jne 0x1d77d6
movq -0x10(%rsp), %rax
movq 0x1b78(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d782e
cmpl $0x1, -0x1c(%rsp)
jne 0x1d77f0
movq -0x10(%rsp), %rax
movq 0x1b80(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d782e
cmpl $0x2, -0x1c(%rsp)
jne 0x1d780a
movq -0x10(%rsp), %rax
movq 0x1b88(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d782e
cmpl $0x3, -0x1c(%rsp)
jne 0x1d7824
movq -0x10(%rsp), %rax
movq 0x1b90(%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x1d782e
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: member_chooser
static s7_pointer member_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
                {
                    if (!ops) return(f);
                    if ((args == 3) &&
                            (is_normal_symbol(cadddr(expr))) &&
                            (cadddr(expr) == sc->is_eq_symbol))
                        return(memq_chooser(sc, f, 2, expr, ops));
                    return(f);
                }

// Assembly:
subq $0x38, %rsp
movb %r8b, %al
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movq %rcx, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
testb $0x1, 0xf(%rsp)
jne 0x1d7b36
movq 0x20(%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0x1d7bd8
cmpl $0x3, 0x1c(%rsp)
jne 0x1d7bce
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x1d7bce
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzwl 0x6(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
jne 0x1d7bce
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x28(%rsp), %rcx
cmpq 0x1068(%rcx), %rax
jne 0x1d7bce
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x10(%rsp), %rcx
movb 0xf(%rsp), %al
movl $0x2, %edx
andb $0x1, %al
movzbl %al, %r8d
callq 0x1d7bf0
movq %rax, 0x30(%rsp)
jmp 0x1d7bd8
movq 0x20(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)