// File: /workspace/github_c_makefile_star2_O0/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:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq %rdx, 0x48(%rsp)
movq %rcx, 0x40(%rsp)
movq %r8, 0x38(%rsp)
movq %r9, 0x30(%rsp)
movq 0x48(%rsp), %rdi
callq 0xfae20
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0xf97ed
movq 0x28(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xf968e
movq 0x58(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0xfc80
movq %rax, %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x30(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xf9564
movq 0x58(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0xfc80
movq %rax, %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x50(%rsp), %rax
leaq 0x1051(%rip), %rcx      # 0xfa4d0
movq %rcx, (%rax)
leaq -0x3f309(%rip), %rax    # 0xba180
cmpq %rax, 0x28(%rsp)
jne 0xf94a4
movq 0x50(%rsp), %rax
leaq 0x1074(%rip), %rcx      # 0xfa510
movq %rcx, (%rax)
jmp 0xf9526
leaq -0x3f2eb(%rip), %rax    # 0xba1c0
cmpq %rax, 0x28(%rsp)
jne 0xf94c3
movq 0x50(%rsp), %rax
leaq 0x1082(%rip), %rcx      # 0xfa540
movq %rcx, (%rax)
jmp 0xf9524
leaq -0x3f2ea(%rip), %rax    # 0xba1e0
cmpq %rax, 0x28(%rsp)
jne 0xf94e2
movq 0x50(%rsp), %rax
leaq 0x10c3(%rip), %rcx      # 0xfa5a0
movq %rcx, (%rax)
jmp 0xf9522
leaq -0x3f349(%rip), %rax    # 0xba1a0
cmpq %rax, 0x28(%rsp)
jne 0xf9501
movq 0x50(%rsp), %rax
leaq 0x1074(%rip), %rcx      # 0xfa570
movq %rcx, (%rax)
jmp 0xf9520
leaq -0x3f3a8(%rip), %rax    # 0xba160
cmpq %rax, 0x28(%rsp)
jne 0xf951e
movq 0x50(%rsp), %rax
leaq 0x1925(%rip), %rcx      # 0xfae40
movq %rcx, (%rax)
jmp 0xf9520
jmp 0xf9522
jmp 0xf9524
jmp 0xf9526
movq 0x50(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %r9d
movl $0x2, %ecx
leaq 0xf5e19(%rip), %rax     # 0x1ef35b
movl %r9d, %edx
movl %r9d, %r8d
movq %rax, (%rsp)
movl $0xead6, 0x8(%rsp)      # imm = 0xEAD6
callq 0xe54b0
andb $0x1, %al
movb %al, 0x67(%rsp)
jmp 0xf97f2
movq 0x30(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0xf962a
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x10(%rax)
leaq -0x3f40e(%rip), %rax    # 0xba180
cmpq %rax, 0x28(%rsp)
jne 0xf95a3
leaq 0x18d4(%rip), %rax      # 0xfae70
movq %rax, 0x20(%rsp)
jmp 0xf95ef
leaq -0x3f3ca(%rip), %rax    # 0xba1e0
cmpq %rax, 0x28(%rsp)
jne 0xf95bf
leaq 0x18e8(%rip), %rax      # 0xfaea0
movq %rax, 0x18(%rsp)
jmp 0xf95e5
movq 0x28(%rsp), %rdx
leaq -0x3f46b(%rip), %rsi    # 0xba160
leaq 0x192e(%rip), %rax      # 0xfaf00
leaq 0x18f7(%rip), %rcx      # 0xfaed0
cmpq %rsi, %rdx
cmoveq %rcx, %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, (%rax)
movq 0x50(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %ecx
leaq 0xf5d49(%rip), %r8      # 0x1ef35b
movl $0xeadc, %r9d           # imm = 0xEADC
movl %ecx, %edx
callq 0xe4950
andb $0x1, %al
movb %al, 0x67(%rsp)
jmp 0xf97f2
movq 0x58(%rsp), %rdi
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0xe59c0
testb $0x1, %al
jne 0xf9647
jmp 0xf9684
movq 0x50(%rsp), %rax
leaq 0x18dd(%rip), %rcx      # 0xfaf30
movq %rcx, (%rax)
movq 0x50(%rsp), %rdi
movl $0x4, %esi
movl $0x1, %ecx
leaq 0xf5cef(%rip), %r8      # 0x1ef35b
movl $0xeae1, %r9d           # imm = 0xEAE1
movl %ecx, %edx
callq 0xe4950
andb $0x1, %al
movb %al, 0x67(%rsp)
jmp 0xf97f2
movb $0x0, 0x67(%rsp)
jmp 0xf97f2
movq 0x30(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xf9719
movq 0x58(%rsp), %rdi
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xe59c0
testb $0x1, %al
jne 0xf96b4
jmp 0xf970f
movq 0x58(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0xfc80
movq %rax, %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x50(%rsp), %rax
leaq 0x18e5(%rip), %rcx      # 0xfafc0
movq %rcx, (%rax)
movq 0x50(%rsp), %rdi
movl $0x4, %esi
movl $0x2, %edx
movl $0x1, %ecx
leaq 0xf5c62(%rip), %r8      # 0x1ef35b
movl $0xeaeb, %r9d           # imm = 0xEAEB
callq 0xe4950
andb $0x1, %al
movb %al, 0x67(%rsp)
jmp 0xf97f2
movb $0x0, 0x67(%rsp)
jmp 0xf97f2
movq 0x30(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0xf9783
movq 0x58(%rsp), %rdi
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xe59c0
testb $0x1, %al
jne 0xf973f
jmp 0xf9783
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x50(%rsp), %rax
leaq 0x18e3(%rip), %rcx      # 0xfb040
movq %rcx, (%rax)
movq 0x50(%rsp), %rdi
movl $0x4, %esi
leaq 0xf5bea(%rip), %rdx     # 0x1ef35b
movl $0xeaf4, %ecx           # imm = 0xEAF4
callq 0xe4820
andb $0x1, %al
movb %al, 0x67(%rsp)
jmp 0xf97f2
movq 0x58(%rsp), %rdi
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xe59c0
testb $0x1, %al
jne 0xf979c
jmp 0xf97eb
movq 0x58(%rsp), %rdi
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
callq 0xe59c0
testb $0x1, %al
jne 0xf97b9
jmp 0xf97eb
movq 0x50(%rsp), %rax
leaq 0x18eb(%rip), %rcx      # 0xfb0b0
movq %rcx, (%rax)
movq 0x50(%rsp), %rdi
movl $0x4, %esi
leaq 0xf5b82(%rip), %rdx     # 0x1ef35b
movl $0xeafa, %ecx           # imm = 0xEAFA
callq 0xe4820
andb $0x1, %al
movb %al, 0x67(%rsp)
jmp 0xf97f2
jmp 0xf97ed
movb $0x0, 0x67(%rsp)
movb 0x67(%rsp), %al
andb $0x1, %al
addq $0x68, %rsp
retq
nopl (%rax)