LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: g_leq_xi
static s7_pointer g_leq_xi(s7_scheme *sc, s7_pointer args)
    {
        s7_int y;
        s7_pointer x;

        x = car(args);
        y = integer(cadr(args));

        if (type(x) == T_INTEGER)
            return(make_boolean(sc, integer(x) <= y));
        if (type(x) == T_REAL)
            return(make_boolean(sc, real(x) <= y));
        if (type(x) == T_RATIO)
            return(make_boolean(sc, ratio_leq_pi(x, y)));
        return(method_or_bust(sc, x, sc->leq_symbol, args, T_REAL, 1));
    }

// Assembly:
pushq %rbx
movq %rsi, %rcx
movq %rdi, %rbx
movq 0x8(%rsi), %rax
movq 0x10(%rsi), %rdx
movq 0x8(%rdx), %rdx
movq 0x8(%rdx), %rsi
movzbl (%rax), %edx
cmpl $0xd, %edx
je 0xd7262
cmpl $0xc, %edx
je 0xd724b
cmpl $0xb, %edx
jne 0xd727b
xorl %ecx, %ecx
cmpq %rsi, 0x8(%rax)
setg %cl
jmp 0xd7271
movq %rax, %rdi
callq 0xd9c44
xorb $0x1, %al
movzbl %al, %eax
movq 0x118(%rbx,%rax,8), %rax
jmp 0xd7279
cvtsi2sd %rsi, %xmm0
xorl %ecx, %ecx
ucomisd 0x8(%rax), %xmm0
setb %cl
movq 0x118(%rbx,%rcx,8), %rax
popq %rbx
retq
movq 0x1220(%rbx), %rdx
movq %rbx, %rdi
movq %rax, %rsi
movl $0xd, %r8d
movl $0x1, %r9d
popq %rbx
jmp 0xf1ae
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_leq_ti
static s7_pointer fx_leq_ti(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    x = slot_value(let_slots(sc->envir));
                    if (is_t_integer(x))
                        return(make_boolean(sc, integer(x) <= integer(opt2_con(cdr(arg)))));
                    set_car(sc->t2_1, x);
                    set_car(sc->t2_2, opt2_con(cdr(arg)));
                    return(g_leq_xi(sc, sc->t2_1));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0xb, (%rax)
jne 0xd72c9
movq 0x8(%rax), %rax
movq 0x10(%rsi), %rcx
movq 0x20(%rcx), %rcx
xorl %edx, %edx
cmpq 0x8(%rcx), %rax
setg %dl
movq 0x118(%rdi,%rdx,8), %rax
retq
movq 0x570(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%rsi), %rax
movq 0x20(%rax), %rax
movq 0x578(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x570(%rdi), %rsi
jmp 0xd7217
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: g_greater_xi
static s7_pointer g_greater_xi(s7_scheme *sc, s7_pointer args)
    {
        s7_int y;
        s7_pointer x;

        x = car(args);
        y = integer(cadr(args));

        if (type(x) == T_INTEGER)
            return(make_boolean(sc, integer(x) > y));
        if (type(x) == T_REAL)
            return(make_boolean(sc, real(x) > y));
        if (type(x) == T_RATIO)
            return(make_boolean(sc, !ratio_leq_pi(x, y)));
        return(method_or_bust_with_type(sc, x, sc->gt_symbol, args, a_number_string, 1));
    }

// Assembly:
pushq %rbx
movq %rsi, %rcx
movq %rdi, %rbx
movq 0x8(%rsi), %rax
movq 0x10(%rsi), %rdx
movq 0x8(%rdx), %rdx
movq 0x8(%rdx), %rsi
movzbl (%rax), %edx
cmpl $0xd, %edx
je 0xd733c
cmpl $0xc, %edx
je 0xd732f
cmpl $0xb, %edx
jne 0xd7359
xorl %ecx, %ecx
cmpq %rsi, 0x8(%rax)
setle %cl
movq 0x118(%rbx,%rcx,8), %rax
jmp 0xd7357
movq %rax, %rdi
callq 0xd9c44
movzbl %al, %eax
jmp 0xd734f
cvtsi2sd %rsi, %xmm0
movsd 0x8(%rax), %xmm1
xorl %eax, %eax
ucomisd %xmm0, %xmm1
setbe %al
movq 0x118(%rbx,%rax,8), %rax
popq %rbx
retq
movq 0xf58(%rbx), %rdx
movq 0x86039(%rip), %r8      # 0x15d3a0
movq %rbx, %rdi
movq %rax, %rsi
movl $0x1, %r9d
popq %rbx
jmp 0xf3da
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_gt_ti
static s7_pointer fx_gt_ti(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    x = slot_value(let_slots(sc->envir));
                    if (is_t_integer(x))
                        return(make_boolean(sc, integer(x) > integer(opt2_con(cdr(arg)))));
                    set_car(sc->t2_1, x);
                    set_car(sc->t2_2, opt2_con(cdr(arg)));
                    return(g_greater_xi(sc, sc->t2_1));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0xb, (%rax)
jne 0xd73a8
movq 0x8(%rax), %rax
movq 0x10(%rsi), %rcx
movq 0x20(%rcx), %rcx
xorl %edx, %edx
cmpq 0x8(%rcx), %rax
setle %dl
movq 0x118(%rdi,%rdx,8), %rax
retq
movq 0x570(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%rsi), %rax
movq 0x20(%rax), %rax
movq 0x578(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x570(%rdi), %rsi
jmp 0xd72f3
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_car_t
static s7_pointer fx_car_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer val;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    val = slot_value(let_slots(sc->envir));
                    return((is_pair(val)) ? car(val) : g_car(sc, set_plist_1(sc, val)));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd7422
movq 0x8(%rax), %rax
retq
movq 0x700(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rdi), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd7442
movq 0x8(%rsi), %rax
retq
movq 0xd20(%rdi), %rdx
movl $0x1, %r8d
jmp 0x9b739
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_cdr_t
static s7_pointer fx_cdr_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer val;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    val = slot_value(let_slots(sc->envir));
                    return((is_pair(val)) ? cdr(val) : g_cdr(sc, set_plist_1(sc, val)));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd746a
movq 0x10(%rax), %rax
retq
movq 0x700(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rdi), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd748a
movq 0x10(%rsi), %rax
retq
movq 0xda0(%rdi), %rdx
movl $0x1, %r8d
jmp 0x9b739
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_cadr_t
static s7_pointer fx_cadr_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer val;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    val = slot_value(let_slots(sc->envir));
                    return(((is_pair(val)) && (is_pair(cdr(val)))) ? cadr(val) : g_cadr(sc, set_plist_1(sc, val)));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd74bb
movq 0x10(%rax), %rcx
cmpb $0x1, (%rcx)
jne 0xd74bb
movq 0x8(%rcx), %rax
retq
movq 0x700(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rdi), %rsi
jmp 0x7a047
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_eq_tu
static s7_pointer fx_is_eq_tu(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x, y;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    check_next_let_slot(sc, __func__, arg, caddr(arg));
                    x = slot_value(let_slots(sc->envir));
                    y = slot_value(next_slot(let_slots(sc->envir)));
                    return(make_boolean(sc, (x == y) || ((is_unspecified(x)) && (is_unspecified(y)))));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdx
movq 0x18(%rax), %rax
movq 0x10(%rax), %rcx
movl $0x118, %eax            # imm = 0x118
cmpq %rcx, %rdx
je 0xd75de
cmpb $0x5, (%rdx)
jne 0xd75d9
cmpb $0x5, (%rcx)
je 0xd75de
movl $0x120, %eax            # imm = 0x120
movq (%rdi,%rax), %rax
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_eq_ts
static s7_pointer fx_is_eq_ts(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x, y;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    x = slot_value(let_slots(sc->envir));
                    y = lookup(sc, opt2_sym(cdr(arg)));
                    return(make_boolean(sc, (x == y) || ((is_unspecified(x)) && (is_unspecified(y)))));
                }

// Assembly:
movq 0x8(%rdi), %rcx
movq 0x8(%rcx), %rax
movq 0x18(%rcx), %r8
movq 0x10(%rax), %rax
movq 0x10(%rsi), %rdx
movq 0x20(%rdx), %rdx
movq 0x20(%rdx), %rsi
cmpq %rsi, %r8
je 0xd7618
jle 0xd7613
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %r8
cmpq %r8, %rsi
jl 0xd7606
cmpq %rsi, %r8
jne 0xd763e
movq 0x18(%rdx), %rcx
movq 0x10(%rcx), %rsi
movl $0x118, %ecx            # imm = 0x118
cmpq %rsi, %rax
je 0xd7639
cmpb $0x5, (%rax)
jne 0xd7634
cmpb $0x5, (%rsi)
je 0xd7639
movl $0x120, %ecx            # imm = 0x120
movq (%rdi,%rcx), %rax
retq
cmpb $0x1c, (%rcx)
jne 0xd766e
movq 0x8(%rcx), %r9
testq %r9, %r9
sete %r8b
je 0xd7660
cmpq %rdx, 0x8(%r9)
je 0xd765c
movq 0x18(%r9), %r9
jmp 0xd7647
movq 0x10(%r9), %rsi
testb %r8b, %r8b
je 0xd7620
movq 0x10(%rcx), %rcx
cmpb $0x1c, (%rcx)
je 0xd7643
movq 0x10(%rdx), %rcx
cmpb $0x20, (%rcx)
je 0xd761c
xorl %esi, %esi
jmp 0xd7620
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_add_ti
static s7_pointer fx_add_ti(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    x = slot_value(let_slots(sc->envir));
                    if (is_t_integer(x))
                        return(make_integer(sc, integer(x) + integer(opt2_con(cdr(arg)))));
                    return(add_p_pp(sc, x, caddr(arg)));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rcx
movq 0x8(%rcx), %rcx
movq 0x10(%rcx), %rsi
cmpb $0xb, (%rsi)
jne 0xd7780
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq 0x8(%rax), %r14
addq 0x8(%rsi), %r14
cmpq $0x7ff, %r14            # imm = 0x7FF
ja 0xd779b
leaq 0x771d6(%rip), %rax     # 0x14e950
movq (%rax,%r14,8), %rax
jmp 0xd77d4
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x8d0a7
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd77b3
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0xb, (%rax)
movq %r14, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_add_t1
static s7_pointer fx_add_t1(s7_scheme *sc, s7_pointer arg) /* sub_t1 was not useful */
                {
                    s7_pointer x;
                    x = slot_value(let_slots(sc->envir));
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    if (is_t_integer(x))
                        return(make_integer(sc, integer(x) + 1));
                    return(g_add_x1_1(sc, x, cdr(arg)));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0xb, (%rax)
jne 0xd7813
movq 0x8(%rax), %rax
leaq 0x1(%rax), %r14
cmpq $0x7ff, %r14            # imm = 0x7FF
ja 0xd7829
leaq 0x77144(%rip), %rcx     # 0x14e950
movq 0x8(%rcx,%rax,8), %rax
jmp 0xd7862
movq 0x10(%rsi), %rdx
movq %rbx, %rdi
movq %rax, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc1b57
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd7841
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0xb, (%rax)
movq %r14, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_subtract_t1
static s7_pointer fx_subtract_t1(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    x = slot_value(let_slots(sc->envir));
                    if (is_t_integer(x))
                        return(make_integer(sc, integer(x) - 1));
                    return(minus_c1(sc, x));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
cmpb $0xb, (%rsi)
jne 0xd78a1
movq 0x8(%rsi), %rax
leaq -0x1(%rax), %r14
cmpq $0x7ff, %r14            # imm = 0x7FF
ja 0xd78b0
leaq 0x770b6(%rip), %rcx     # 0x14e950
movq -0x8(%rcx,%rax,8), %rax
jmp 0xd78e9
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc1efe
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd78c8
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0xb, (%rax)
movq %r14, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_subtract_ti
static s7_pointer fx_subtract_ti(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    x = slot_value(let_slots(sc->envir));
                    if (is_t_integer(x))
                        return(make_integer(sc, integer(x) - integer(opt2_con(cdr(arg)))));
                    return(subtract_p_pp(sc, x, caddr(arg)));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0xb, (%rax)
jne 0xd792f
movq 0x8(%rax), %r14
movq 0x10(%rsi), %rax
movq 0x20(%rax), %rax
subq 0x8(%rax), %r14
cmpq $0x7ff, %r14            # imm = 0x7FF
ja 0xd794d
leaq 0x77027(%rip), %rax     # 0x14e950
movq (%rax,%r14,8), %rax
jmp 0xd7986
movq 0x10(%rsi), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rdx
movq %rbx, %rdi
movq %rax, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x8d4de
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd7965
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0xb, (%rax)
movq %r14, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_safe_closure_t_a
static s7_pointer fx_safe_closure_t_a(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer result;
                    check_let_slots(sc, __func__, code, opt2_sym(code));
                    gc_protect_direct(sc, sc->envir);
                    sc->envir = old_frame_with_slot(sc, closure_let(opt1_lambda(code)), slot_value(let_slots(sc->envir)));
                    result = fx_call(sc, closure_body(opt1_lambda(code)));
                    sc->envir = sc->stack_end[-2];
                    sc->stack_end -= 4;
                    return(result);
                }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x50(%rdi), %rcx
movq $0x1, 0x18(%rcx)
movq 0x50(%rdi), %rcx
leaq 0x20(%rcx), %rdx
movq %rdx, 0x50(%rdi)
movq %rax, 0x10(%rcx)
movq 0x18(%rsi), %rax
movq 0x18(%rax), %rax
movq 0x8(%rdi), %rcx
movq 0x8(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x250(%rdi), %rdx
incq %rdx
movq %rdx, 0x250(%rdi)
movq %rdx, 0x18(%rax)
movq 0x8(%rax), %rdi
movq %rcx, 0x10(%rdi)
movq 0x8(%rdi), %rcx
movq %rdi, 0x18(%rcx)
movq %rdx, 0x20(%rcx)
incl 0x28(%rcx)
movq %rax, 0x8(%rbx)
movq 0x18(%rsi), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq *0x20(%rax)
movq 0x50(%rbx), %rcx
movq -0x10(%rcx), %rdx
movq %rdx, 0x8(%rbx)
addq $-0x20, %rcx
movq %rcx, 0x50(%rbx)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_num_eq_tu
static s7_pointer fx_num_eq_tu(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x, y;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    check_next_let_slot(sc, __func__, arg, caddr(arg));
                    x = slot_value(let_slots(sc->envir));
                    y = slot_value(next_slot(let_slots(sc->envir)));
                    if ((is_t_integer(x)) && (is_t_integer(y)))
                        return(make_boolean(sc, integer(x) == integer(y)));
                    return(num_eq_p_pp(sc, x, y));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rax
movq 0x10(%rax), %rdx
cmpb $0xb, (%rsi)
jne 0x8fcc9
cmpb $0xb, (%rdx)
jne 0x8fcc9
movq 0x8(%rsi), %rax
xorl %ecx, %ecx
cmpq 0x8(%rdx), %rax
setne %cl
movq 0x118(%rdi,%rcx,8), %rax
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_num_eq_tg
static s7_pointer fx_num_eq_tg(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x, y;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    x = slot_value(let_slots(sc->envir));
                    y = slot_value(global_slot(opt2_sym(cdr(arg))));
                    if ((is_t_integer(x)) && (is_t_integer(y)))
                        return(make_boolean(sc, integer(x) == integer(y)));
                    return(num_eq_p_pp(sc, x, y));
                }

// Assembly:
movq %rsi, %rax
movq 0x8(%rdi), %rcx
movq 0x8(%rcx), %rcx
movq 0x10(%rcx), %rsi
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rdx
cmpb $0xb, (%rsi)
jne 0x8fcc9
cmpb $0xb, (%rdx)
jne 0x8fcc9
movq 0x8(%rsi), %rax
xorl %ecx, %ecx
cmpq 0x8(%rdx), %rax
setne %cl
movq 0x118(%rdi,%rcx,8), %rax
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_num_eq_ts
static s7_pointer fx_num_eq_ts(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x, y;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    x = slot_value(let_slots(sc->envir));
                    y = lookup(sc, opt2_sym(cdr(arg)));
                    if ((is_t_integer(x)) && (is_t_integer(y)))
                        return(make_boolean(sc, integer(x) == integer(y)));
                    return(num_eq_p_pp(sc, x, y));
                }

// Assembly:
movq %rsi, %rax
movq 0x8(%rdi), %rcx
movq 0x8(%rcx), %rdx
movq 0x18(%rcx), %r8
movq 0x10(%rdx), %rsi
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq 0x20(%rax), %rdx
cmpq %rdx, %r8
je 0xd7bc3
jle 0xd7bbe
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %r8
cmpq %r8, %rdx
jl 0xd7bb1
cmpq %rdx, %r8
jne 0xd7bf3
movq 0x18(%rax), %rax
movq 0x10(%rax), %rdx
cmpb $0xb, (%rsi)
jne 0x8fcc9
cmpb $0xb, (%rdx)
jne 0x8fcc9
movq 0x8(%rsi), %rax
xorl %ecx, %ecx
cmpq 0x8(%rdx), %rax
setne %cl
movq 0x118(%rdi,%rcx,8), %rax
retq
cmpb $0x1c, (%rcx)
jne 0xd7c23
movq 0x8(%rcx), %r9
testq %r9, %r9
sete %r8b
je 0xd7c15
cmpq %rax, 0x8(%r9)
je 0xd7c11
movq 0x18(%r9), %r9
jmp 0xd7bfc
movq 0x10(%r9), %rdx
testb %r8b, %r8b
je 0xd7bcb
movq 0x10(%rcx), %rcx
cmpb $0x1c, (%rcx)
je 0xd7bf8
movq 0x10(%rax), %rax
cmpb $0x20, (%rax)
je 0xd7bc7
xorl %edx, %edx
jmp 0xd7bcb
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_num_eq_ti
static s7_pointer fx_num_eq_ti(s7_scheme *sc, s7_pointer arg)
                {
                    s7_int y;
                    s7_pointer val, args;
                    args = cdr(arg);
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    val = slot_value(let_slots(sc->envir));
                    y = integer(cadr(args));
                    if (is_t_integer(val))
                        return(make_boolean(sc, integer(val) == y));
                    return(fx_num_eq_xi_1(sc, args, val, y));
                }

// Assembly:
movq 0x10(%rsi), %rsi
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdx
movq 0x10(%rsi), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
cmpb $0xb, (%rdx)
jne 0xc23be
xorl %eax, %eax
cmpq %rcx, 0x8(%rdx)
setne %al
movq 0x118(%rdi,%rax,8), %rax
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_sqr_tt
static s7_pointer fx_sqr_tt(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    x = slot_value(let_slots(sc->envir));
                    if (is_float(x)) return(make_real(sc, real(x) * real(x)));
                    return(fx_sqr_1(sc, x));
                }

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
cmpb $0xd, (%rsi)
jne 0xd7f84
movsd 0x8(%rsi), %xmm0
mulsd %xmm0, %xmm0
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd7f5c
movq %rbx, %rdi
movsd %xmm0, 0x8(%rsp)
callq 0xb389
movsd 0x8(%rsp), %xmm0
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0xd, (%rax)
movsd %xmm0, 0x8(%rax)
addq $0x10, %rsp
popq %rbx
retq
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0xc1386
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_c_t_car_u
static s7_pointer fx_c_t_car_u(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer val;
                    check_let_slots(sc, __func__, arg, cadr(arg));
                    check_next_let_slot(sc, __func__, arg, cadr(caddr(arg)));
                    val = slot_value(next_slot(let_slots(sc->envir)));
                    set_car(sc->t2_2, (is_pair(val)) ? car(val) : g_car(sc, set_plist_1(sc, val)));
                    set_car(sc->t2_1, slot_value(let_slots(sc->envir)));
                    return(c_call(arg)(sc, sc->t2_1));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8083
movq 0x8(%rax), %rax
jmp 0xd80b9
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd80a4
movq 0x8(%rsi), %rax
jmp 0xd80b9
movq 0xd20(%rbx), %rdx
movq %rbx, %rdi
movl $0x1, %r8d
callq 0x9b739
movq 0x578(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x570(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x20(%r14), %rax
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_lint_let_ref_t
static s7_pointer fx_lint_let_ref_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer lt, sym, y;
                    check_let_slots(sc, __func__, arg, opt2_sym(arg));
                    lt = cdr(slot_value(let_slots(sc->envir)));
                    if (!is_let(lt))
                        return(wrong_type_argument_with_type(sc, sc->let_ref_symbol, 1, lt, a_let_string));
                    sym = opt2_sym(cdr(arg));
                    for (y = let_slots(lt); tis_slot(y); y = next_slot(y))
                        if (slot_symbol(y) == sym)
                            return(slot_value(y));
                    return(lint_let_ref_1(sc, outlet(lt), sym));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
cmpb $0x1c, (%rcx)
jne 0xd8124
movq 0x10(%rsi), %rax
movq 0x20(%rax), %rdx
movq 0x8(%rcx), %rax
testq %rax, %rax
je 0xd8149
cmpq %rdx, 0x8(%rax)
je 0xd8152
movq 0x18(%rax), %rax
jmp 0xd8113
movq 0x1230(%rdi), %rax
movq 0x8(%rax), %rsi
movq 0x76822(%rip), %rdx     # 0x14e958
movq 0x140(%rdi), %r8
movq 0x7a814(%rip), %r9      # 0x152958
jmp 0xb31d
movq 0x10(%rcx), %rsi
jmp 0xc24a7
movq 0x10(%rax), %rax
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_cdr_u
static s7_pointer fx_cdr_u(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer val;
                    check_next_let_slot(sc, __func__, arg, cadr(arg));
                    val = slot_value(next_slot(let_slots(sc->envir)));
                    return((is_pair(val)) ? cdr(val) : g_cdr(sc, set_plist_1(sc, val)));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd81cd
movq 0x10(%rax), %rax
retq
movq 0x700(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rdi), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd81ed
movq 0x10(%rsi), %rax
retq
movq 0xda0(%rdi), %rdx
movl $0x1, %r8d
jmp 0x9b739
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_car_u
static s7_pointer fx_car_u(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer val;
                    check_next_let_slot(sc, __func__, arg, cadr(arg));
                    val = slot_value(next_slot(let_slots(sc->envir)));
                    return((is_pair(val)) ? car(val) : g_car(sc, set_plist_1(sc, val)));
                }

// Assembly:
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8219
movq 0x8(%rax), %rax
retq
movq 0x700(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rdi), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd8239
movq 0x8(%rsi), %rax
retq
movq 0xd20(%rdi), %rdx
movl $0x1, %r8d
jmp 0x9b739
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_num_eq_us
static s7_pointer fx_num_eq_us(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x, y;
                    check_next_let_slot(sc, __func__, arg, cadr(arg));
                    x = slot_value(next_slot(let_slots(sc->envir)));
                    y = lookup(sc, opt2_sym(cdr(arg)));
                    if ((is_t_integer(x)) && (is_t_integer(y)))
                        return(make_boolean(sc, integer(x) == integer(y)));
                    return(num_eq_p_pp(sc, x, y));
                }

// Assembly:
movq %rsi, %rax
movq 0x8(%rdi), %rcx
movq 0x8(%rcx), %rdx
movq 0x18(%rcx), %r8
movq 0x18(%rdx), %rdx
movq 0x10(%rdx), %rsi
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq 0x20(%rax), %rdx
cmpq %rdx, %r8
je 0xd82ac
jle 0xd82a7
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %r8
cmpq %r8, %rdx
jl 0xd829a
cmpq %rdx, %r8
jne 0xd82dc
movq 0x18(%rax), %rax
movq 0x10(%rax), %rdx
cmpb $0xb, (%rsi)
jne 0x8fcc9
cmpb $0xb, (%rdx)
jne 0x8fcc9
movq 0x8(%rsi), %rax
xorl %ecx, %ecx
cmpq 0x8(%rdx), %rax
setne %cl
movq 0x118(%rdi,%rcx,8), %rax
retq
cmpb $0x1c, (%rcx)
jne 0xd830c
movq 0x8(%rcx), %r9
testq %r9, %r9
sete %r8b
je 0xd82fe
cmpq %rax, 0x8(%r9)
je 0xd82fa
movq 0x18(%r9), %r9
jmp 0xd82e5
movq 0x10(%r9), %rdx
testb %r8b, %r8b
je 0xd82b4
movq 0x10(%rcx), %rcx
cmpb $0x1c, (%rcx)
je 0xd82e1
movq 0x10(%rax), %rax
cmpb $0x20, (%rax)
je 0xd82b0
xorl %edx, %edx
jmp 0xd82b4
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_add_u_car_t
static s7_pointer fx_add_u_car_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer val1, val2;
                    check_let_slots(sc, __func__, arg, opt2_sym(cdr(arg)));
                    check_next_let_slot(sc, __func__, arg, cadr(arg));
                    val2 = slot_value(let_slots(sc->envir));
                    val2 = (is_pair(val2)) ? car(val2) : g_car(sc, set_plist_1(sc, val2));
                    val1 = slot_value(next_slot(let_slots(sc->envir)));
                    if ((is_t_integer(val1)) && (is_t_integer(val2)))
                        return(make_integer(sc, integer(val1) + integer(val2)));
                    return(add_p_pp(sc, val1, val2));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8372
movq 0x8(%rax), %rdx
jmp 0xd83ab
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd8393
movq 0x8(%rsi), %rdx
jmp 0xd83ab
movq 0xd20(%rbx), %rdx
movq %rbx, %rdi
movl $0x1, %r8d
callq 0x9b739
movq %rax, %rdx
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rsi
cmpb $0xb, (%rsi)
jne 0xd83e3
cmpb $0xb, (%rdx)
jne 0xd83e3
movq 0x8(%rdx), %r14
addq 0x8(%rsi), %r14
cmpq $0x7ff, %r14            # imm = 0x7FF
ja 0xd83f2
leaq 0x76573(%rip), %rax     # 0x14e950
movq (%rax,%r14,8), %rax
jmp 0xd842b
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x8d0a7
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd840a
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0xb, (%rax)
movq %r14, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_add_u1
static s7_pointer fx_add_u1(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x;
                    check_next_let_slot(sc, __func__, arg, cadr(arg));
                    x = slot_value(next_slot(let_slots(sc->envir)));
                    if (is_t_integer(x))
                        return(make_integer(sc, integer(x) + 1));
                    return(g_add_x1_1(sc, x, cdr(arg)));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0xb, (%rax)
jne 0xd8514
movq 0x8(%rax), %rax
leaq 0x1(%rax), %r14
cmpq $0x7ff, %r14            # imm = 0x7FF
ja 0xd852a
leaq 0x76443(%rip), %rcx     # 0x14e950
movq 0x8(%rcx,%rax,8), %rax
jmp 0xd8563
movq 0x10(%rsi), %rdx
movq %rbx, %rdi
movq %rax, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc1b57
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd8542
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0xb, (%rax)
movq %r14, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_subtract_u1
static s7_pointer fx_subtract_u1(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer x;
                    check_next_let_slot(sc, __func__, arg, cadr(arg));
                    x = slot_value(next_slot(let_slots(sc->envir)));
                    if (is_t_integer(x))
                        return(make_integer(sc, integer(x) - 1));
                    return(minus_c1(sc, x));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rsi
cmpb $0xb, (%rsi)
jne 0xd85a6
movq 0x8(%rsi), %rax
leaq -0x1(%rax), %r14
cmpq $0x7ff, %r14            # imm = 0x7FF
ja 0xd85b5
leaq 0x763b1(%rip), %rcx     # 0x14e950
movq -0x8(%rcx,%rax,8), %rax
jmp 0xd85ee
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc1efe
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd85cd
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0xb, (%rax)
movq %r14, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_c_opstq
static s7_pointer fx_c_opstq(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer largs;
                    largs = cadr(arg);
                    set_car(sc->t2_1, lookup(sc, cadr(largs)));
                    check_let_slots(sc, __func__, arg, caddr(largs));
                    set_car(sc->t2_2, slot_value(let_slots(sc->envir)));
                    set_car(sc->t1_1, c_call(largs)(sc, sc->t2_1));
                    return(c_call(arg)(sc, sc->t1_1));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x10(%rsi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rcx), %rcx
movq 0x8(%rdi), %rdx
movq 0x18(%rdx), %rdi
movq 0x20(%rcx), %rsi
cmpq %rsi, %rdi
je 0xd874a
jle 0xd8745
movq 0x10(%rdx), %rdx
movq 0x18(%rdx), %rdi
cmpq %rdi, %rsi
jl 0xd8738
cmpq %rsi, %rdi
jne 0xd87a3
movq 0x18(%rcx), %rcx
movq 0x10(%rcx), %rsi
movq 0x570(%rbx), %rcx
movq %rsi, 0x8(%rcx)
movq 0x8(%rbx), %rcx
movq 0x8(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x578(%rbx), %rdx
movq %rcx, 0x8(%rdx)
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
callq *0x20(%rax)
movq 0x568(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x20(%r14), %rax
movq 0x568(%rbx), %rsi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
cmpb $0x1c, (%rdx)
jne 0xd87d3
movq 0x8(%rdx), %r8
testq %r8, %r8
sete %dil
je 0xd87c5
cmpq %rcx, 0x8(%r8)
je 0xd87c1
movq 0x18(%r8), %r8
jmp 0xd87ac
movq 0x10(%r8), %rsi
testb %dil, %dil
je 0xd8752
movq 0x10(%rdx), %rdx
cmpb $0x1c, (%rdx)
je 0xd87a8
movq 0x10(%rcx), %rcx
cmpb $0x20, (%rcx)
je 0xd874e
xorl %esi, %esi
jmp 0xd8752
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_c_optuq
static s7_pointer fx_c_optuq(s7_scheme *sc, s7_pointer arg)
                {
                    check_let_slots(sc, __func__, arg, cadr(cadr(arg)));
                    check_next_let_slot(sc, __func__, arg, caddr(cadr(arg)));
                    set_car(sc->t2_1, slot_value(let_slots(sc->envir)));
                    set_car(sc->t2_2, slot_value(next_slot(let_slots(sc->envir))));
                    set_car(sc->t1_1, c_call(cadr(arg))(sc, sc->t2_1));
                    return(c_call(arg)(sc, sc->t1_1));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x570(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
movq 0x578(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%rsi), %rax
movq 0x8(%rax), %rax
movq 0x570(%rdi), %rsi
callq *0x20(%rax)
movq 0x568(%r14), %rcx
movq %rax, 0x8(%rcx)
movq 0x20(%rbx), %rax
movq 0x568(%r14), %rsi
movq %r14, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_c_opstq_c
static s7_pointer fx_c_opstq_c(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer largs;
                    largs = cadr(arg);
                    check_let_slots(sc, __func__, arg, caddr(largs));
                    set_car(sc->t2_1, lookup(sc, cadr(largs)));
                    set_car(sc->t2_2, slot_value(let_slots(sc->envir)));
                    set_car(sc->t2_1, c_call(largs)(sc, sc->t2_1));
                    set_car(sc->t2_2, caddr(arg));
                    return(c_call(arg)(sc, sc->t2_1));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x10(%rsi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rcx), %rcx
movq 0x8(%rdi), %rdx
movq 0x18(%rdx), %rdi
movq 0x20(%rcx), %rsi
cmpq %rsi, %rdi
je 0xd8896
jle 0xd8891
movq 0x10(%rdx), %rdx
movq 0x18(%rdx), %rdi
cmpq %rdi, %rsi
jl 0xd8884
cmpq %rsi, %rdi
jne 0xd8906
movq 0x18(%rcx), %rcx
movq 0x10(%rcx), %rsi
movq 0x570(%rbx), %rcx
movq %rsi, 0x8(%rcx)
movq 0x8(%rbx), %rcx
movq 0x8(%rcx), %rcx
movq 0x10(%rcx), %rcx
movq 0x578(%rbx), %rdx
movq %rcx, 0x8(%rdx)
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
callq *0x20(%rax)
movq 0x570(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%r14), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x578(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x20(%r14), %rax
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
cmpb $0x1c, (%rdx)
jne 0xd893a
movq 0x8(%rdx), %r8
testq %r8, %r8
sete %dil
je 0xd8928
cmpq %rcx, 0x8(%r8)
je 0xd8924
movq 0x18(%r8), %r8
jmp 0xd890f
movq 0x10(%r8), %rsi
testb %dil, %dil
je 0xd889e
movq 0x10(%rdx), %rdx
cmpb $0x1c, (%rdx)
je 0xd890b
movq 0x10(%rcx), %rcx
cmpb $0x20, (%rcx)
je 0xd889a
xorl %esi, %esi
jmp 0xd889e
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_c_optq_c
static s7_pointer fx_c_optq_c(s7_scheme *sc, s7_pointer arg)
                {
                    check_let_slots(sc, __func__, arg, opt1_con(cdr(arg)));
                    set_car(sc->t1_1, slot_value(let_slots(sc->envir)));
                    set_car(sc->t2_1, c_call(cadr(arg))(sc, sc->t1_1));
                    set_car(sc->t2_2, opt2_con(cdr(arg)));
                    return(c_call(arg)(sc, sc->t2_1));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x568(%rdi), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%rsi), %rax
movq 0x8(%rax), %rax
movq 0x568(%rdi), %rsi
callq *0x20(%rax)
movq 0x570(%r14), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%rbx), %rax
movq 0x20(%rax), %rax
movq 0x578(%r14), %rcx
movq %rax, 0x8(%rcx)
movq 0x20(%rbx), %rax
movq 0x570(%r14), %rsi
movq %r14, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_pair_car_t
static s7_pointer fx_is_pair_car_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer p;
                    check_let_slots(sc, __func__, arg, cadadr(arg));
                    p = slot_value(let_slots(sc->envir));
                    if (is_pair(p))
                        return(make_boolean(sc, is_pair(car(p))));
                    return(g_is_pair(sc, set_plist_1(sc, g_car(sc, set_plist_1(sc, p)))));
                }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8a36
movq 0x8(%rax), %rax
xorl %ecx, %ecx
cmpb $0x1, (%rax)
setne %cl
movq 0x118(%rbx,%rcx,8), %rax
popq %rbx
retq
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd8a57
movq 0x8(%rsi), %rax
jmp 0xd8a6c
movq 0xd20(%rbx), %rdx
movq %rbx, %rdi
movl $0x1, %r8d
callq 0x9b739
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
popq %rbx
jmp 0x62f5b
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_pair_cdr_t
static s7_pointer fx_is_pair_cdr_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer p;
                    check_let_slots(sc, __func__, arg, cadadr(arg));
                    p = slot_value(let_slots(sc->envir));
                    if (is_pair(p))
                        return(make_boolean(sc, is_pair(cdr(p))));
                    return(g_is_pair(sc, set_plist_1(sc, g_cdr(sc, set_plist_1(sc, p)))));
                }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8ab2
movq 0x10(%rax), %rax
xorl %ecx, %ecx
cmpb $0x1, (%rax)
setne %cl
movq 0x118(%rbx,%rcx,8), %rax
popq %rbx
retq
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd8ad3
movq 0x10(%rsi), %rax
jmp 0xd8ae8
movq 0xda0(%rbx), %rdx
movq %rbx, %rdi
movl $0x1, %r8d
callq 0x9b739
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
popq %rbx
jmp 0x62f5b
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_pair_cadr_t
static s7_pointer fx_is_pair_cadr_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer p;
                    check_let_slots(sc, __func__, arg, cadadr(arg));
                    p = slot_value(let_slots(sc->envir));
                    if (is_pair(p))
                        return(make_boolean(sc, is_pair(cadr(p))));
                    return(g_is_pair(sc, set_plist_1(sc, g_cadr(sc, set_plist_1(sc, p)))));
                }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8b32
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
xorl %ecx, %ecx
cmpb $0x1, (%rax)
setne %cl
movq 0x118(%rbx,%rcx,8), %rax
popq %rbx
retq
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
callq 0x7a047
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
popq %rbx
jmp 0x62f5b
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_symbol_cadr_t
static s7_pointer fx_is_symbol_cadr_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer p;
                    check_let_slots(sc, __func__, arg, cadadr(arg));
                    p = slot_value(let_slots(sc->envir));
                    if ((is_pair(p)) && (is_pair(cdr(p))))
                        return(make_boolean(sc, is_symbol(cadr(p))));
                    return(g_is_symbol(sc, set_plist_1(sc, g_cadr(sc, set_plist_1(sc, p)))));
                }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8b9b
movq 0x10(%rax), %rcx
cmpb $0x1, (%rcx)
jne 0xd8b9b
movq 0x8(%rcx), %rax
xorl %ecx, %ecx
cmpb $0xa, (%rax)
setne %cl
movq 0x118(%rbx,%rcx,8), %rax
popq %rbx
retq
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
callq 0x7a047
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
popq %rbx
jmp 0x615f1
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_pair_cddr_t
static s7_pointer fx_is_pair_cddr_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer p;
                    check_let_slots(sc, __func__, arg, cadadr(arg));
                    p = slot_value(let_slots(sc->envir));
                    if (is_pair(p))
                        return(make_boolean(sc, is_pair(cddr(p))));
                    return(g_is_pair(sc, set_plist_1(sc, g_cddr(sc, set_plist_1(sc, p)))));
                }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8bff
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
xorl %ecx, %ecx
cmpb $0x1, (%rax)
setne %cl
movq 0x118(%rbx,%rcx,8), %rax
popq %rbx
retq
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
callq 0x7a0e7
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
popq %rbx
jmp 0x62f5b
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_null_cdr_t
static s7_pointer fx_is_null_cdr_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer p;
                    check_let_slots(sc, __func__, arg, cadadr(arg));
                    p = slot_value(let_slots(sc->envir));
                    if (is_pair(p))
                        return(make_boolean(sc, is_null(cdr(p))));
                    return(g_is_null(sc, set_plist_1(sc, g_cdr(sc, set_plist_1(sc, p)))));
                }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8c63
movq 0x10(%rax), %rax
xorl %ecx, %ecx
cmpq 0x110(%rbx), %rax
setne %cl
movq 0x118(%rbx,%rcx,8), %rax
popq %rbx
retq
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd8c84
movq 0x10(%rsi), %rax
jmp 0xd8c99
movq 0xda0(%rbx), %rdx
movq %rbx, %rdi
movl $0x1, %r8d
callq 0x9b739
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
popq %rbx
jmp 0x63b24
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_null_cddr_t
static s7_pointer fx_is_null_cddr_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer p;
                    check_let_slots(sc, __func__, arg, cadadr(arg));
                    p = slot_value(let_slots(sc->envir));
                    if ((is_pair(p)) && (is_pair(cdr(p))))
                        return(make_boolean(sc, is_null(cddr(p))));
                    return(g_is_null(sc, set_plist_1(sc, g_cddr(sc, set_plist_1(sc, p)))));
                }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8cec
movq 0x10(%rax), %rcx
cmpb $0x1, (%rcx)
jne 0xd8cec
movq 0x10(%rcx), %rax
xorl %ecx, %ecx
cmpq 0x110(%rbx), %rax
setne %cl
movq 0x118(%rbx,%rcx,8), %rax
popq %rbx
retq
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
callq 0x7a0e7
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
popq %rbx
jmp 0x63b24
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_is_type_car_t
static s7_pointer fx_is_type_car_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer val;
                    check_let_slots(sc, __func__, arg, cadadr(arg));
                    val = slot_value(let_slots(sc->envir));
                    if (is_pair(val))
                        return(make_boolean(sc, (uint8_t)(opt3_byte(cdr(arg))) == type(car(val))));

                    if (has_active_methods(sc, val))
                    {
                        s7_pointer func;
                        func = find_method(sc, val, sc->car_symbol);
                        if (func != sc->undefined)
                            return(make_boolean(sc, type(s7_apply_function(sc, func, list_1(sc, val))) == (uint8_t)opt3_byte(cdr(arg))));
                    }
                    return(wrong_type_argument(sc, sc->car_symbol, 1, val, T_PAIR));
                }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r15
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %r14
cmpb $0x1, (%r14)
jne 0xd8dc8
movq 0x10(%r15), %rax
movb 0x28(%rax), %al
movq 0x8(%r14), %rcx
xorl %edx, %edx
cmpb (%rcx), %al
setne %dl
movq 0x118(%rbx,%rdx,8), %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testb $0x40, 0x3(%r14)
je 0xd8e71
cmpb $0x1, 0x24c(%rbx)
jne 0xd8e71
movq 0xd20(%rbx), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x99ef
movq %rax, %r12
movq 0x128(%rbx), %r13
cmpq %r13, %rax
je 0xd8e68
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %rbp
cmpq 0x98(%rbx), %rax
ja 0xd8e20
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rdx
movq $0x200001, (%rdx)       # imm = 0x200001
movq %r14, 0x8(%rdx)
movq %rbp, 0x10(%rdx)
movq %rbx, %rdi
movq %r12, %rsi
callq 0xbd41
movb (%rax), %al
movq 0x10(%r15), %rcx
xorl %edx, %edx
cmpb 0x28(%rcx), %al
setne %dl
movq 0x118(%rbx,%rdx,8), %rax
jmp 0xd8e68
cmpq %r13, %r12
jne 0xd8db9
movq 0xd20(%rbx), %rax
movq 0x8(%rax), %rsi
movq 0x75ad5(%rip), %rdx     # 0x14e958
movq 0x140(%rbx), %r8
movq 0x79bd7(%rip), %r9      # 0x152a68
movq %rbx, %rdi
movq %r14, %rcx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xb31d
// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_c_car_t
static s7_pointer fx_c_car_t(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer val;
                    check_let_slots(sc, __func__, arg, opt2_sym(cdr(arg)));
                    val = slot_value(let_slots(sc->envir));
                    set_car(sc->t1_1, (is_pair(val)) ? car(val) : g_car(sc, set_plist_1(sc, val)));
                    return(c_call(arg)(sc, sc->t1_1));
                }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xd8f9a
movq 0x8(%rax), %rax
jmp 0xd8fd0
movq 0x700(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x700(%rbx), %rcx
movq 0x8(%rcx), %rsi
cmpb $0x1, (%rsi)
jne 0xd8fbb
movq 0x8(%rsi), %rax
jmp 0xd8fd0
movq 0xd20(%rbx), %rdx
movq %rbx, %rdi
movl $0x1, %r8d
callq 0x9b739
movq 0x568(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x20(%r14), %rax
movq 0x568(%rbx), %rsi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax