// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: b_ii_ok
static bool b_ii_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x, s7_pointer arg1, s7_pointer arg2)
                {
                    s7_b_ii_t bif;
                    bif = s7_b_ii_function(s_func);
                    if (bif)
                    {
                        opc->v[3].b_ii_f = bif;
                        if (is_symbol(arg1))
                        {
                            opc->v[1].p = symbol_to_slot(sc, arg1);
                            if (is_symbol(arg2))
                            {
                                opc->v[2].p = symbol_to_slot(sc, arg2);
                                opc->v[0].fb = opt_b_ii_ss;
                                if (bif == lt_b_ii)
                                    opc->v[0].fb = opt_b_ii_ss_lt;
                                else
                                {
                                    if (bif == gt_b_ii)
                                        opc->v[0].fb = opt_b_ii_ss_gt;
                                    else
                                    {
                                        if (bif == geq_b_ii)
                                            opc->v[0].fb = opt_b_ii_ss_geq;
                                        else
                                        {
                                            if (bif == leq_b_ii)
                                                opc->v[0].fb = opt_b_ii_ss_leq;
                                            else
                                            {
                                                if (bif == num_eq_b_ii)
                                                    opc->v[0].fb = opt_b_ii_ss_eq;
                                            }
                                        }
                                    }
                                }
                                return(oo_set_type_2(opc, 4, 1, 2, OO_I, OO_I));
                            }
                            if (is_opt_int(arg2))
                            {
                                opc->v[2].i = integer(arg2);
                                opc->v[0].fb = (bif == lt_b_ii) ? opt_b_ii_sc_lt : ((bif == geq_b_ii) ? opt_b_ii_sc_geq : ((bif == num_eq_b_ii) ? opt_b_ii_sc_eq : opt_b_ii_sc));
                                return(oo_set_type_1(opc, 4, 1, OO_I));
                            }
                            if (int_optimize(sc, cddr(car_x)))
                            {
                                opc->v[0].fb = opt_b_ii_sf;
                                return(oo_set_type_1(opc, 4, 1, OO_I));
                            }
                            return(return_false(sc, car_x, __func__, __LINE__));
                        }
                        if (is_symbol(arg2))
                        {
                            if (int_optimize(sc, cdr(car_x)))
                            {
                                opc->v[2].p = symbol_to_slot(sc, arg2);
                                opc->v[0].fb = opt_b_ii_fs;
                                return(oo_set_type_1(opc, 4, 2, OO_I));
                            }
                            return(return_false(sc, car_x, __func__, __LINE__));
                        }
                        if ((is_opt_int(arg2)) &&
                                (int_optimize(sc, cdr(car_x))))
                        {
                            opc->v[2].i = integer(arg2);
                            opc->v[0].fb = opt_b_ii_fc;
                            return(oo_set_type_0(opc, 4));
                        }
                        if ((int_optimize(sc, cdr(car_x))) &&
                                (int_optimize(sc, cddr(car_x))))
                        {
                            opc->v[0].fb = opt_b_ii_ff;
                            return(oo_set_type_0(opc, 4));
                        }
                    }
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %r9, %r14
movq %rcx, %r12
movq %rsi, %rbx
movq %rdi, %r15
cmpb $0x30, (%rdx)
jb 0xb1492
movq 0x8(%rdx), %rax
movq 0x20(%rax), %rcx
testq %rcx, %rcx
sete %dl
je 0xb148e
cmpl $0x21, (%rcx)
je 0xb1486
movq 0x10(%rcx), %rcx
testq %rcx, %rcx
sete %dl
je 0xb148e
cmpl $0x21, (%rcx)
jne 0xb1475
movq 0x8(%rcx), %rax
xorl %edx, %edx
jmp 0xb148e
testb %dl, %dl
je 0xb1494
xorl %eax, %eax
testq %rax, %rax
je 0xb175f
movq %rax, 0x18(%rbx)
cmpb $0xa, (%r8)
jne 0xb15f9
movq 0x8(%r15), %rdx
movq 0x18(%rdx), %rdi
movq 0x20(%r8), %rsi
movl $0x18, %ecx
cmpq %rsi, %rdi
je 0xb150c
jle 0xb14d0
movq 0x10(%rdx), %rdx
movq 0x18(%rdx), %rdi
cmpq %rdi, %rsi
jl 0xb14c3
cmpq %rsi, %rdi
je 0xb150c
movl $0x10, %ecx
cmpb $0x1c, (%rdx)
jne 0xb150c
movq 0x8(%rdx), %rsi
testq %rsi, %rsi
sete %r9b
je 0xb14f8
cmpq %r8, 0x8(%rsi)
je 0xb14fb
movq 0x18(%rsi), %rsi
jmp 0xb14e3
movq %rdi, %rsi
testb %r9b, %r9b
je 0xb1510
movq 0x10(%rdx), %rdx
cmpb $0x1c, (%rdx)
movq %rsi, %rdi
je 0xb14df
movq (%r8,%rcx), %rsi
movq %rsi, 0x8(%rbx)
movzbl (%r14), %ecx
cmpl $0xb, %ecx
je 0xb1699
cmpl $0xa, %ecx
jne 0xb1741
movq 0x8(%r15), %rdx
movq 0x18(%rdx), %rdi
movq 0x20(%r14), %rsi
movl $0x18, %ecx
cmpq %rsi, %rdi
je 0xb158b
jle 0xb154f
movq 0x10(%rdx), %rdx
movq 0x18(%rdx), %rdi
cmpq %rdi, %rsi
jl 0xb1542
cmpq %rsi, %rdi
je 0xb158b
movl $0x10, %ecx
cmpb $0x1c, (%rdx)
jne 0xb158b
movq 0x8(%rdx), %rsi
testq %rsi, %rsi
sete %r8b
je 0xb1577
cmpq %r14, 0x8(%rsi)
je 0xb157a
movq 0x18(%rsi), %rsi
jmp 0xb1562
movq %rdi, %rsi
testb %r8b, %r8b
je 0xb158f
movq 0x10(%rdx), %rdx
cmpb $0x1c, (%rdx)
movq %rsi, %rdi
je 0xb155e
movq (%r14,%rcx), %rsi
movq %rsi, 0x10(%rbx)
leaq 0xcb3(%rip), %rcx       # 0xb224d
movq %rcx, (%rbx)
leaq -0x21a0d(%rip), %rcx    # 0x8fb97
cmpq %rcx, %rax
je 0xb1763
leaq -0x21a0f(%rip), %rcx    # 0x8fba5
cmpq %rcx, %rax
je 0xb1775
leaq -0x21a18(%rip), %rcx    # 0x8fbac
cmpq %rcx, %rax
je 0xb179f
leaq -0x21a36(%rip), %rcx    # 0x8fb9e
cmpq %rcx, %rax
je 0xb17a8
leaq -0x21a54(%rip), %rcx    # 0x8fb90
cmpq %rcx, %rax
jne 0xb17b2
leaq 0x10c6(%rip), %rax      # 0xb26ba
jmp 0xb17af
movzbl (%r14), %eax
cmpl $0xb, %eax
je 0xb16e2
cmpl $0xa, %eax
jne 0xb1704
movq 0x10(%r12), %rsi
movq %r15, %rdi
callq 0xa66f0
testb %al, %al
je 0xb175f
movq 0x8(%r15), %rcx
movq 0x18(%rcx), %rsi
movq 0x20(%r14), %rdx
movl $0x18, %eax
cmpq %rdx, %rsi
je 0xb1685
jle 0xb1649
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %rsi
cmpq %rsi, %rdx
jl 0xb163c
cmpq %rdx, %rsi
je 0xb1685
movl $0x10, %eax
cmpb $0x1c, (%rcx)
jne 0xb1685
movq 0x8(%rcx), %rdx
testq %rdx, %rdx
sete %dil
je 0xb1671
cmpq %r14, 0x8(%rdx)
je 0xb1674
movq 0x18(%rdx), %rdx
jmp 0xb165c
movq %rsi, %rdx
testb %dil, %dil
je 0xb1689
movq 0x10(%rcx), %rcx
cmpb $0x1c, (%rcx)
movq %rdx, %rsi
je 0xb1658
movq (%r14,%rax), %rdx
movq %rdx, 0x10(%rbx)
leaq 0x10dc(%rip), %rax      # 0xb2770
jmp 0xb1785
movq 0x8(%r14), %rcx
movq %rcx, 0x10(%rbx)
leaq -0x21b11(%rip), %rcx    # 0x8fb97
cmpq %rcx, %rax
je 0xb176c
leaq -0x21b0c(%rip), %rcx    # 0x8fbac
cmpq %rcx, %rax
je 0xb177e
leaq -0x21b38(%rip), %rcx    # 0x8fb90
cmpq %rcx, %rax
leaq 0x102c(%rip), %rcx      # 0xb26fe
leaq 0x1039(%rip), %rax      # 0xb2712
cmoveq %rcx, %rax
jmp 0xb1785
movq 0x10(%r12), %rsi
movq %r15, %rdi
callq 0xa66f0
testb %al, %al
je 0xb1704
movq 0x8(%r14), %rax
movq %rax, 0x10(%rbx)
leaq 0x10b3(%rip), %rax      # 0xb27b5
jmp 0xb1731
movq 0x10(%r12), %rsi
movq %r15, %rdi
callq 0xa66f0
testb %al, %al
je 0xb175f
movq 0x10(%r12), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
callq 0xa66f0
testb %al, %al
je 0xb175f
leaq 0x10c1(%rip), %rax      # 0xb27f2
movq %rax, (%rbx)
movq $0x4, 0x60(%rbx)
jmp 0xb17ce
movq 0x10(%r12), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
callq 0xa66f0
testb %al, %al
je 0xb175f
leaq 0xfcb(%rip), %rax       # 0xb2728
jmp 0xb1785
xorl %eax, %eax
jmp 0xb17d0
leaq 0xb01(%rip), %rax       # 0xb226b
jmp 0xb17af
leaq 0xf63(%rip), %rax       # 0xb26d6
jmp 0xb1785
leaq 0xb0b(%rip), %rax       # 0xb2287
jmp 0xb17af
leaq 0xf65(%rip), %rax       # 0xb26ea
movq %rax, (%rbx)
movabsq $0x100000004, %rax      # imm = 0x100000004
movq %rax, 0x60(%rbx)
movl $0x1, 0x70(%rbx)
jmp 0xb17ce
leaq 0xb19(%rip), %rax       # 0xb22bf
jmp 0xb17af
leaq 0xaf4(%rip), %rax       # 0xb22a3
movq %rax, (%rbx)
movabsq $0x200000004, %rax      # imm = 0x200000004
movq %rax, 0x60(%rbx)
movabsq $0x100000001, %rax      # imm = 0x100000001
movq %rax, 0x70(%rbx)
movb $0x1, %al
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq