// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_a_opla_la_laq
static s7_pointer oprec_if_a_a_opla_la_laq(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));
                    slot_set_value(sc->rec_slot1, sc->rec_f3f(sc, sc->rec_f3p));
                    slot_set_value(sc->rec_slot1, recur_swap(sc, oprec_if_a_a_opla_la_laq(sc)));
                    recur_push(sc, oprec_if_a_a_opla_la_laq(sc));
                    slot_set_value(sc->rec_slot1, recur_ref(sc, 3));
                    set_car(sc->t3_1, oprec_if_a_a_opla_la_laq(sc));
                    set_car(sc->t3_2, recur_pop(sc));
                    set_car(sc->t3_3, recur_pop2(sc));
                    return(sc->rec_call(sc, sc->t3_1));
                }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0x2f0(%rdi), %rsi
callq *0x360(%rdi)
cmpq 0x120(%rbx), %rax
je 0xdbfc6
leaq 0x3b0(%rbx), %rax
leaq 0x340(%rbx), %rcx
jmp 0xdc21f
movq 0x2f8(%rbx), %rsi
movq %rbx, %rdi
callq *0x368(%rbx)
movq %rax, %r14
movq 0x2d8(%rbx), %rdx
cmpq %rdx, 0x2d0(%rbx)
jne 0xdc026
movq 0x2e8(%rbx), %r15
leaq (%rdx,%rdx), %rax
movq %rax, 0x8(%r15)
movq 0x18(%r15), %rsi
shlq $0x4, %rdx
movq %rbx, %rdi
callq 0xae0f
movq $0x0, 0x20(%rax)
movq %rax, 0x18(%r15)
movq (%rax), %rax
movq %rax, 0x10(%r15)
movq 0x8(%r15), %rax
movq %rax, 0x2d8(%rbx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
movq 0x10(%rcx), %rcx
movq %r14, (%rcx,%rax,8)
incq %rax
movq %rax, 0x2d0(%rbx)
movq 0x300(%rbx), %rsi
movq %rbx, %rdi
callq *0x370(%rbx)
movq %rax, %r14
movq 0x2d8(%rbx), %rdx
cmpq %rdx, 0x2d0(%rbx)
jne 0xdc0a6
movq 0x2e8(%rbx), %r15
leaq (%rdx,%rdx), %rax
movq %rax, 0x8(%r15)
movq 0x18(%r15), %rsi
shlq $0x4, %rdx
movq %rbx, %rdi
callq 0xae0f
movq $0x0, 0x20(%rax)
movq %rax, 0x18(%r15)
movq (%rax), %rax
movq %rax, 0x10(%r15)
movq 0x8(%r15), %rax
movq %rax, 0x2d8(%rbx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
movq 0x10(%rcx), %rcx
movq %r14, (%rcx,%rax,8)
incq %rax
movq %rax, 0x2d0(%rbx)
movq 0x308(%rbx), %rsi
movq %rbx, %rdi
callq *0x378(%rbx)
movq 0x348(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq %rbx, %rdi
callq 0xdbf95
movq 0x2d0(%rbx), %rcx
movq 0x2e8(%rbx), %rdx
movq 0x10(%rdx), %rdx
movq -0x8(%rdx,%rcx,8), %rsi
movq %rax, -0x8(%rdx,%rcx,8)
movq 0x348(%rbx), %rax
movq %rsi, 0x10(%rax)
movq %rbx, %rdi
callq 0xdbf95
movq %rax, %r14
movq 0x2d8(%rbx), %rdx
cmpq %rdx, 0x2d0(%rbx)
jne 0xdc168
movq 0x2e8(%rbx), %r15
leaq (%rdx,%rdx), %rax
movq %rax, 0x8(%r15)
movq 0x18(%r15), %rsi
shlq $0x4, %rdx
movq %rbx, %rdi
callq 0xae0f
movq $0x0, 0x20(%rax)
movq %rax, 0x18(%r15)
movq (%rax), %rax
movq %rax, 0x10(%r15)
movq 0x8(%r15), %rax
movq %rax, 0x2d8(%rbx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rcx
movq 0x10(%rcx), %rcx
movq %r14, (%rcx,%rax,8)
leaq 0x1(%rax), %rcx
movq %rcx, 0x2d0(%rbx)
movq 0x2e8(%rbx), %rcx
movq 0x348(%rbx), %rdx
movq 0x10(%rcx), %rcx
movq -0x10(%rcx,%rax,8), %rax
movq %rax, 0x10(%rdx)
movq %rbx, %rdi
callq 0xdbf95
leaq 0x580(%rbx), %rcx
movq 0x580(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rdx
leaq -0x1(%rax), %rsi
movq %rsi, 0x2d0(%rbx)
movq 0x10(%rdx), %rdx
movq -0x8(%rdx,%rax,8), %rax
movq 0x588(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x2d0(%rbx), %rax
movq 0x2e8(%rbx), %rdx
leaq -0x2(%rax), %rsi
movq %rsi, 0x2d0(%rbx)
movq 0x10(%rdx), %rdx
movq -0x8(%rdx,%rax,8), %rax
movq 0x590(%rbx), %rdx
movq %rax, 0x8(%rdx)
leaq 0x3b8(%rbx), %rax
movq (%rax), %rax
movq (%rcx), %rsi
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmpq *%rax