// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: oprec_if_a_a_and_a_laa_laa
static s7_pointer oprec_if_a_a_and_a_laa_laa(s7_scheme *sc)
                {
                    if (sc->rec_testf(sc, sc->rec_testp) != sc->F)
                        return(sc->rec_resf(sc, sc->rec_resp));
                    if (sc->rec_f1f(sc, sc->rec_f1p) == sc->F)
                        return(sc->F);
                    recur_push(sc, slot_value(sc->rec_slot1));
                    recur_push(sc, slot_value(sc->rec_slot2));
                    recur_push(sc, sc->rec_f2f(sc, sc->rec_f2p));
                    slot_set_value(sc->rec_slot2, sc->rec_f3f(sc, sc->rec_f3p));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    if (oprec_if_a_a_and_a_laa_laa(sc) == sc->F)
                    {
                        sc->rec_loc -= 2;
                        return(sc->F);
                    }
                    slot_set_value(sc->rec_slot2, recur_pop(sc));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    recur_push(sc, sc->rec_f4f(sc, sc->rec_f4p));
                    slot_set_value(sc->rec_slot2, sc->rec_f5f(sc, sc->rec_f5p));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    return(oprec_if_a_a_and_a_laa_laa(sc));
                }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0x2f0(%rbx), %rsi
movq %rbx, %rdi
callq *0x360(%rbx)
cmpq 0x120(%rbx), %rax
jne 0xdbf6c
movq 0x2f8(%rbx), %rsi
movq %rbx, %rdi
callq *0x368(%rbx)
movq %rax, %rcx
movq 0x120(%rbx), %rax
cmpq %rax, %rcx
je 0xdbf8f
movq 0x348(%rbx), %rax
movq 0x10(%rax), %r14
movq 0x2d8(%rbx), %rdx
cmpq %rdx, 0x2d0(%rbx)
jne 0xdbcce
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 0x2d8(%rbx), %rdx
movq 0x350(%rbx), %rcx
movq 0x10(%rcx), %r14
cmpq %rdx, %rax
jne 0xdbd42
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 0xdbdc2
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 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 0xdbc2e
movq %rax, %rcx
movq 0x120(%rbx), %rax
movq 0x2d0(%rbx), %rdx
cmpq %rax, %rcx
je 0xdbf84
leaq -0x1(%rdx), %rax
movq %rax, 0x2d0(%rbx)
movq 0x2e8(%rbx), %rax
movq 0x350(%rbx), %rcx
movq 0x10(%rax), %rax
movq -0x8(%rax,%rdx,8), %rax
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 0x310(%rbx), %rsi
movq %rbx, %rdi
callq *0x380(%rbx)
movq %rax, %r14
movq 0x2d8(%rbx), %rdx
cmpq %rdx, 0x2d0(%rbx)
jne 0xdbeff
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 0x318(%rbx), %rsi
movq %rbx, %rdi
callq *0x388(%rbx)
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)
jmp 0xdbc36
movq 0x340(%rbx), %rsi
movq 0x3b0(%rbx), %rax
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmpq *%rax
addq $-0x2, %rdx
movq %rdx, 0x2d0(%rbx)
popq %rbx
popq %r14
popq %r15
retq