// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: wrap_recur_if_a_a_opla_laq
static void wrap_recur_if_a_a_opla_laq(s7_scheme *sc, bool a_op)
                {
                    opt_pid_t choice;
                    tick_tc_rec(sc);
                    choice = opinit_if_a_a_opla_laq(sc, a_op);
                    if ((choice == OPT_INT) || (choice == OPT_INT_0))
                    {
                        if (choice == OPT_INT_0)
                            sc->value = make_integer(sc, (a_op) ? oprec_i_if_a_a_opla_laq_0(sc) : oprec_i_if_a_opla_laq_a_0(sc));
                        else sc->value = make_integer(sc, (a_op) ? oprec_i_if_a_a_opla_laq(sc) : oprec_i_if_a_opla_laq_a(sc));
                    }
                    else
                    {
                        if (choice == OPT_PTR)
                        {
                            sc->rec_stack = recur_make_stack(sc);
                            sc->value = (a_op) ? oprec_if_a_a_opla_laq(sc) : oprec_if_a_opla_laq_a(sc);
                            sc->rec_loc = 0;
                        }
                        else sc->value = make_real(sc, (a_op) ? oprec_d_if_a_a_opla_laq(sc) : oprec_d_if_a_opla_laq_a(sc));
                    }
                }

// Assembly:
subq $0x98, %rsp
movb %sil, %al
movq %rdi, 0x90(%rsp)
andb $0x1, %al
movb %al, 0x8f(%rsp)
movq 0x90(%rsp), %rdi
movb 0x8f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x165800
movl %eax, 0x88(%rsp)
cmpl $0x1, 0x88(%rsp)
je 0x12d803
cmpl $0x3, 0x88(%rsp)
jne 0x12da2d
cmpl $0x3, 0x88(%rsp)
jne 0x12d925
testb $0x1, 0x8f(%rsp)
je 0x12d82f
movq 0x90(%rsp), %rdi
callq 0x165de0
movq %rax, 0x28(%rsp)
jmp 0x12d841
movq 0x90(%rsp), %rdi
callq 0x165fb0
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rax
andq $-0x800, %rax           # imm = 0xF800
cmpq $0x0, %rax
jne 0x12d87f
movq 0x80(%rsp), %rcx
leaq 0xe8c0f(%rip), %rax     # 0x216480
movq (%rax,%rcx,8), %rax
movq %rax, 0x20(%rsp)
jmp 0x12d905
jmp 0x12d881
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x90(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x12d8ae
movq 0x90(%rsp), %rdi
callq 0xc670
movq 0x90(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
movq $0xb, (%rax)
movq 0x80(%rsp), %rcx
movq 0x70(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x70(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rcx
movq 0x90(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x12da28
testb $0x1, 0x8f(%rsp)
je 0x12d943
movq 0x90(%rsp), %rdi
callq 0x166180
movq %rax, 0x18(%rsp)
jmp 0x12d955
movq 0x90(%rsp), %rdi
callq 0x1662d0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
andq $-0x800, %rax           # imm = 0xF800
cmpq $0x0, %rax
jne 0x12d98a
movq 0x60(%rsp), %rcx
leaq 0xe8b04(%rip), %rax     # 0x216480
movq (%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
jmp 0x12da0d
jmp 0x12d98c
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x90(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x12d9b9
movq 0x90(%rsp), %rdi
callq 0xc670
movq 0x90(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq $0xb, (%rax)
movq 0x60(%rsp), %rcx
movq 0x50(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x50(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rcx
movq 0x90(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x12db76
cmpl $0x0, 0x88(%rsp)
jne 0x12daaf
movq 0x90(%rsp), %rdi
callq 0x164cd0
movq %rax, %rcx
movq 0x90(%rsp), %rax
movq %rcx, 0x2e8(%rax)
testb $0x1, 0x8f(%rsp)
je 0x12da74
movq 0x90(%rsp), %rdi
callq 0x166420
movq %rax, 0x8(%rsp)
jmp 0x12da86
movq 0x90(%rsp), %rdi
callq 0x166590
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x90(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x90(%rsp), %rax
movq $0x0, 0x2d0(%rax)
jmp 0x12db74
testb $0x1, 0x8f(%rsp)
je 0x12dacd
movq 0x90(%rsp), %rdi
callq 0x166700
movsd %xmm0, (%rsp)
jmp 0x12dadf
movq 0x90(%rsp), %rdi
callq 0x166840
movsd %xmm0, (%rsp)
movsd (%rsp), %xmm0
movsd %xmm0, 0x38(%rsp)
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x90(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x12db17
movq 0x90(%rsp), %rdi
callq 0xc670
movq 0x90(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq $0xd, (%rax)
movsd 0x38(%rsp), %xmm0
movq 0x40(%rsp), %rax
movsd %xmm0, 0x8(%rax)
movq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rcx
movq 0x90(%rsp), %rax
movq %rcx, 0x20(%rax)
jmp 0x12db76
addq $0x98, %rsp
retq
nop