// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: oprec_cond_a_a_a_a_oplaa_laaq
static s7_pointer oprec_cond_a_a_a_a_oplaa_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)
                        return(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));
                    slot_set_value(sc->rec_slot2, sc->rec_f6f(sc, sc->rec_f6p));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    sc->value = oprec_cond_a_a_a_a_oplaa_laaq(sc);        /* second laa arg */
                    slot_set_value(sc->rec_slot2, recur_pop(sc));
                    slot_set_value(sc->rec_slot1, recur_pop(sc));
                    recur_push_unchecked(sc, sc->value);
                    set_car(sc->t2_1, oprec_cond_a_a_a_a_oplaa_laaq(sc)); /* first laa arg */
                    set_car(sc->t2_2, 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 0x168baf
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 0x168db5
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 0x168c05
movq 0x18(%rsp), %rax
movq 0x370(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x300(%rcx), %rsi
callq *%rax
movq %rax, 0x20(%rsp)
jmp 0x168db5
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x378(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x308(%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 0x380(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x310(%rcx), %rsi
callq *%rax
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x1650c0
movq 0x18(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x388(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x318(%rcx), %rsi
callq *%rax
movq 0x10(%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 0x168b50
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
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
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rsi
callq 0x168dc0
movq 0x18(%rsp), %rdi
callq 0x168b50
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x570(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x18(%rsp), %rdi
callq 0x165140
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq 0x578(%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
nop