// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_cond_a_a_a_laa_opa_laaq
static s7_pointer oprec_cond_a_a_a_laa_opa_laaq(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)
                    {
                        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));
                        return(oprec_cond_a_a_a_laa_opa_laaq(sc));
                    }
                    recur_push(sc, sc->rec_f4f(sc, sc->rec_f4p));
                    recur_push(sc, sc->rec_f5f(sc, sc->rec_f5p));
                    slot_set_value(sc->rec_slot2, sc->rec_f6f(sc, sc->rec_f6p));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    set_car(sc->t2_2, oprec_cond_a_a_a_laa_opa_laaq(sc));
                    set_car(sc->t2_1, recur_pop(sc));
                    return(sc->rec_call(sc, sc->t2_1));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x360(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f0(%rcx), %rsi
callq *%rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x16801f
movq 0x18(%rsp), %rax
movq 0x3b0(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x340(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x168200
movq 0x18(%rsp), %rax
movq 0x368(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x2f8(%rcx), %rsi
callq *%rax
movq 0x18(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x1680e9
movq 0x18(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq 0x378(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x308(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x350(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
callq 0x167fc0
movq %rax, 0x20(%rsp)
jmp 0x168200
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x380(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x310(%rcx), %rsi
callq *%rax
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x388(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x318(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq 0x390(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x320(%rcx), %rsi
callq *%rax
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x350(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x348(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
callq 0x167fc0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x578(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rax
movq 0x3b8(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x570(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw (%rax,%rax)