// File: /workspace/github_c_makefile_star2_O2/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_a_lopl3a_l3a_l3aq
static s7_pointer oprec_if_a_a_lopl3a_l3a_l3aq(s7_scheme *sc)
                {
                    if (sc->rec_testf(sc, sc->rec_testp) != sc->F)
                        return(sc->rec_resf(sc, sc->rec_resp));

                    recur_push(sc, sc->rec_f1f(sc, sc->rec_f1p));
                    recur_push(sc, sc->rec_f2f(sc, sc->rec_f2p));
                    recur_push(sc, sc->rec_f3f(sc, sc->rec_f3p));
                    recur_push(sc, sc->rec_f4f(sc, sc->rec_f4p));
                    recur_push(sc, sc->rec_f5f(sc, sc->rec_f5p));
                    recur_push(sc, sc->rec_f6f(sc, sc->rec_f6p));
                    recur_push(sc, sc->rec_f7f(sc, sc->rec_f7p));
                    recur_push(sc, sc->rec_f8f(sc, sc->rec_f8p));
                    slot_set_value(sc->rec_slot3, sc->rec_f9f(sc, sc->rec_f9p));
                    slot_set_value(sc->rec_slot2, recur_pop(sc));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    recur_push(sc, oprec_if_a_a_lopl3a_l3a_l3aq(sc));
                    slot_set_value(sc->rec_slot3, recur_ref(sc, 2));
                    slot_set_value(sc->rec_slot2, recur_ref(sc, 3));
                    slot_set_value(sc->rec_slot1, recur_ref(sc, 4));
                    recur_push(sc, oprec_if_a_a_lopl3a_l3a_l3aq(sc));
                    slot_set_value(sc->rec_slot3, recur_ref(sc, 6));
                    slot_set_value(sc->rec_slot2, recur_ref(sc, 7));
                    slot_set_value(sc->rec_slot1, recur_ref(sc, 8));
                    slot_set_value(sc->rec_slot1, oprec_if_a_a_lopl3a_l3a_l3aq(sc));
                    slot_set_value(sc->rec_slot2, recur_pop(sc));
                    slot_set_value(sc->rec_slot3, recur_pop(sc));
                    sc->rec_loc -= 6;
                    return(oprec_if_a_a_lopl3a_l3a_l3aq(sc));
                }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x2f0(%rbx), %rsi
movq %rbx, %rdi
callq *0x360(%rbx)
cmpq 0x120(%rbx), %rax
jne 0xa7275
movq 0x2f8(%rbx), %rsi
movq %rbx, %rdi
callq *0x368(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x300(%rbx), %rsi
movq %rbx, %rdi
callq *0x370(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x308(%rbx), %rsi
movq %rbx, %rdi
callq *0x378(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x310(%rbx), %rsi
movq %rbx, %rdi
callq *0x380(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x318(%rbx), %rsi
movq %rbx, %rdi
callq *0x388(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x320(%rbx), %rsi
movq %rbx, %rdi
callq *0x390(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x328(%rbx), %rsi
movq %rbx, %rdi
callq *0x398(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x330(%rbx), %rsi
movq %rbx, %rdi
callq *0x3a0(%rbx)
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x338(%rbx), %rsi
movq %rbx, %rdi
callq *0x3a8(%rbx)
movq 0x358(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
leaq -0x1(%rax), %rdx
movq %rdx, 0x2d0(%rbx)
movq 0x10(%rcx), %rcx
movq -0x8(%rcx,%rax,8), %rax
movq 0x350(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
leaq -0x1(%rax), %rdx
movq %rdx, 0x2d0(%rbx)
movq 0x10(%rcx), %rcx
movq -0x8(%rcx,%rax,8), %rax
movq 0x348(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq %rbx, %rdi
callq 0xa6f9b
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
movq 0x10(%rcx), %rcx
movq -0x10(%rcx,%rax,8), %rax
movq 0x358(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
movq 0x10(%rcx), %rcx
movq -0x18(%rcx,%rax,8), %rax
movq 0x350(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
movq 0x10(%rcx), %rcx
movq -0x20(%rcx,%rax,8), %rax
movq 0x348(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq %rbx, %rdi
callq 0xa6f9b
movq %rbx, %rdi
movq %rax, %rsi
callq 0xa619e
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
movq 0x10(%rcx), %rcx
movq -0x30(%rcx,%rax,8), %rax
movq 0x358(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
movq 0x10(%rcx), %rcx
movq -0x38(%rcx,%rax,8), %rax
movq 0x350(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
movq 0x10(%rcx), %rcx
movq -0x40(%rcx,%rax,8), %rax
movq 0x348(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq %rbx, %rdi
callq 0xa6f9b
movq 0x348(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
leaq -0x1(%rax), %rdx
movq %rdx, 0x2d0(%rbx)
movq 0x10(%rcx), %rcx
movq -0x8(%rcx,%rax,8), %rax
movq 0x350(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
leaq -0x1(%rax), %rdx
movq %rdx, 0x2d0(%rbx)
movq 0x10(%rcx), %rcx
movq -0x8(%rcx,%rax,8), %rax
movq 0x358(%rbx), %rcx
movq %rax, 0x10(%rcx)
addq $-0x6, 0x2d0(%rbx)
jmp 0xa6f9f
movq 0x340(%rbx), %rsi
movq 0x3b0(%rbx), %rax
movq %rbx, %rdi
popq %rbx
jmpq *%rax