// File: /workspace/github_c_makefile_star2_O3/BernardTatin[P]s7sh/s7.c
// Function: fx_c_opssq_opssq
static s7_pointer fx_c_opssq_opssq(s7_scheme *sc, s7_pointer arg)
                {
                    s7_pointer largs;
#if S7_DEBUGGING
                    if (sc->stack_end >= sc->stack_resize_trigger) fprintf(stderr, "%s[%d]: skipped stack resize\n", __func__, __LINE__);
#endif
                    largs = cdr(arg);
                    set_car(sc->t2_1, lookup(sc, cadar(largs)));
                    set_car(sc->t2_2, lookup(sc, opt2_sym(cdar(largs))));
                    gc_protect_direct(sc, c_call(car(largs))(sc, sc->t2_1));
                    largs = cadr(largs);
                    set_car(sc->t2_1, lookup(sc, cadr(largs)));
                    set_car(sc->t2_2, lookup(sc, opt2_sym(cdr(largs))));
                    set_car(sc->t2_2, c_call(largs)(sc, sc->t2_1));
                    set_car(sc->t2_1, sc->stack_end[-2]);
                    sc->stack_end -= 4;
                    return(c_call(arg)(sc, sc->t2_1));
                }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
movq 0x10(%rsi), %r15
movq 0x8(%r15), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rdi), %rcx
movq 0x18(%rcx), %rsi
movq 0x20(%rax), %rdx
cmpq %rdx, %rsi
je 0xb4846
jle 0xb483d
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %rsi
cmpq %rsi, %rdx
jl 0xb4830
cmpq %rdx, %rsi
jne 0xb49a3
movq 0x18(%rax), %rdx
movq 0x10(%rdx), %rax
movq 0x570(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x8(%r15), %rax
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq 0x8(%rbx), %rcx
movq 0x18(%rcx), %rsi
movq 0x20(%rax), %rdx
cmpq %rdx, %rsi
je 0xb488e
jle 0xb4885
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %rsi
cmpq %rsi, %rdx
jl 0xb4878
cmpq %rdx, %rsi
jne 0xb49cb
movq 0x18(%rax), %rdx
movq 0x10(%rdx), %rax
movq 0x578(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x8(%r15), %rax
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
callq *0x20(%rax)
movq 0x50(%rbx), %rcx
movq $0x1, 0x18(%rcx)
movq 0x50(%rbx), %rcx
leaq 0x20(%rcx), %rdx
movq %rdx, 0x50(%rbx)
movq %rax, 0x10(%rcx)
movq 0x10(%r15), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rcx), %rcx
movq 0x8(%rbx), %rdx
movq 0x18(%rdx), %rdi
movq 0x20(%rcx), %rsi
cmpq %rsi, %rdi
je 0xb4907
jle 0xb48fe
movq 0x10(%rdx), %rdx
movq 0x18(%rdx), %rdi
cmpq %rdi, %rsi
jl 0xb48f1
cmpq %rsi, %rdi
jne 0xb49ef
movq 0x18(%rcx), %rsi
movq 0x10(%rsi), %rcx
movq 0x570(%rbx), %rdx
movq %rcx, 0x8(%rdx)
movq 0x10(%rax), %rcx
movq 0x20(%rcx), %rcx
movq 0x8(%rbx), %rdx
movq 0x18(%rdx), %rdi
movq 0x20(%rcx), %rsi
cmpq %rsi, %rdi
je 0xb494b
jle 0xb4942
movq 0x10(%rdx), %rdx
movq 0x18(%rdx), %rdi
cmpq %rdi, %rsi
jl 0xb4935
cmpq %rsi, %rdi
jne 0xb4a13
movq 0x18(%rcx), %rsi
movq 0x10(%rsi), %rcx
movq 0x578(%rbx), %rdx
movq %rcx, 0x8(%rdx)
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
callq *0x20(%rax)
movq 0x578(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x50(%rbx), %rax
movq -0x10(%rax), %rax
movq 0x570(%rbx), %rcx
movq %rax, 0x8(%rcx)
addq $-0x20, 0x50(%rbx)
movq 0x20(%r14), %rax
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmpq *%rax
cmpb $0x1c, (%rcx)
jne 0xb4a37
movq 0x8(%rcx), %rdx
testq %rdx, %rdx
je 0xb49c5
cmpq %rax, 0x8(%rdx)
je 0xb484a
movq 0x18(%rdx), %rdx
jmp 0xb49b0
movq 0x10(%rcx), %rcx
jmp 0xb49a3
cmpb $0x1c, (%rcx)
jne 0xb4a4b
movq 0x8(%rcx), %rdx
testq %rdx, %rdx
je 0xb49e9
cmpq %rax, 0x8(%rdx)
je 0xb4892
movq 0x18(%rdx), %rdx
jmp 0xb49d4
movq 0x10(%rcx), %rcx
jmp 0xb49cb
cmpb $0x1c, (%rdx)
jne 0xb4a5f
movq 0x8(%rdx), %rsi
testq %rsi, %rsi
je 0xb4a0d
cmpq %rcx, 0x8(%rsi)
je 0xb490b
movq 0x18(%rsi), %rsi
jmp 0xb49f8
movq 0x10(%rdx), %rdx
jmp 0xb49ef
cmpb $0x1c, (%rdx)
jne 0xb4a73
movq 0x8(%rdx), %rsi
testq %rsi, %rsi
je 0xb4a31
cmpq %rcx, 0x8(%rsi)
je 0xb494f
movq 0x18(%rsi), %rsi
jmp 0xb4a1c
movq 0x10(%rdx), %rdx
jmp 0xb4a13
movq 0x10(%rax), %rdx
cmpb $0x20, (%rdx)
je 0xb484a
xorl %eax, %eax
jmp 0xb484e
movq 0x10(%rax), %rdx
cmpb $0x20, (%rdx)
je 0xb4892
xorl %eax, %eax
jmp 0xb4896
movq 0x10(%rcx), %rsi
cmpb $0x20, (%rsi)
je 0xb490b
xorl %ecx, %ecx
jmp 0xb490f
movq 0x10(%rcx), %rsi
cmpb $0x20, (%rsi)
je 0xb494f
xorl %ecx, %ecx
jmp 0xb4953