// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: fx_c_s_op_opssq_opssqq
static s7_pointer fx_c_s_op_opssq_opssqq(s7_scheme *sc, s7_pointer code)
                {
                    s7_pointer args, op1, op2;
#if S7_DEBUGGING
                    if (sc->stack_end >= sc->stack_resize_trigger) fprintf(stderr, "%s[%d]: skipped stack resize\n", __func__, __LINE__);
#endif
                    args = caddr(code);
                    op1 = cadr(args);
                    op2 = caddr(args);
                    set_car(sc->t2_1, lookup(sc, cadr(op1)));
                    set_car(sc->t2_2, lookup(sc, opt2_sym(cdr(op1))));
                    gc_protect_direct(sc, c_call(op1)(sc, sc->t2_1));
                    set_car(sc->t2_1, lookup(sc, cadr(op2)));
                    set_car(sc->t2_2, lookup(sc, opt2_sym(cdr(op2))));
                    set_car(sc->t2_2, c_call(op2)(sc, sc->t2_1));
                    set_car(sc->t2_1, sc->stack_end[-2]);
                    set_car(sc->t2_2, c_call(args)(sc, sc->t2_1));
                    set_car(sc->t2_1, lookup(sc, cadr(code)));
                    sc->stack_end -= 4;

                    return(c_call(code)(sc, sc->t2_1));
                }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x10(%rsi), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r15
movq 0x10(%r15), %rcx
movq 0x8(%rcx), %rax
movq 0x10(%rcx), %rcx
movq 0x10(%rax), %rdx
movq 0x8(%rdx), %rdx
movq 0x8(%rdi), %rsi
movq 0x18(%rsi), %r8
movq 0x20(%rdx), %rdi
cmpq %rdi, %r8
je 0xc75e4
jle 0xc75db
movq 0x10(%rsi), %rsi
movq 0x18(%rsi), %r8
cmpq %r8, %rdi
jl 0xc75ce
cmpq %rdi, %r8
jne 0xc779c
movq 0x18(%rdx), %rdx
movq 0x10(%rdx), %rdi
movq 0x8(%rcx), %r12
movq 0x570(%rbx), %rcx
movq %rdi, 0x8(%rcx)
movq 0x10(%rax), %rcx
movq 0x20(%rcx), %rcx
movq 0x8(%rbx), %rdx
movq 0x18(%rdx), %rdi
movq 0x20(%rcx), %rsi
cmpq %rsi, %rdi
je 0xc762c
jle 0xc7623
movq 0x10(%rdx), %rdx
movq 0x18(%rdx), %rdi
cmpq %rdi, %rsi
jl 0xc7616
cmpq %rsi, %rdi
jne 0xc77e4
movq 0x18(%rcx), %rcx
movq 0x10(%rcx), %rsi
movq 0x578(%rbx), %rcx
movq %rsi, 0x8(%rcx)
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(%r12), %rax
movq 0x8(%rax), %rax
movq 0x8(%rbx), %rcx
movq 0x18(%rcx), %rsi
movq 0x20(%rax), %rdx
cmpq %rdx, %rsi
je 0xc769a
jle 0xc7691
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %rsi
cmpq %rsi, %rdx
jl 0xc7684
cmpq %rdx, %rsi
jne 0xc782c
movq 0x18(%rax), %rax
movq 0x10(%rax), %rdx
movq 0x570(%rbx), %rax
movq %rdx, 0x8(%rax)
movq 0x10(%r12), %rax
movq 0x20(%rax), %rax
movq 0x8(%rbx), %rcx
movq 0x18(%rcx), %rsi
movq 0x20(%rax), %rdx
cmpq %rdx, %rsi
je 0xc76df
jle 0xc76d6
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %rsi
cmpq %rsi, %rdx
jl 0xc76c9
cmpq %rdx, %rsi
jne 0xc7874
movq 0x18(%rax), %rax
movq 0x10(%rax), %rdx
movq 0x578(%rbx), %rax
movq %rdx, 0x8(%rax)
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
callq *0x20(%r12)
movq 0x578(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x50(%rbx), %rax
movq -0x10(%rax), %rax
movq 0x570(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
callq *0x20(%r15)
movq 0x578(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%r14), %rax
movq 0x8(%rax), %rax
movq 0x8(%rbx), %rcx
movq 0x18(%rcx), %rsi
movq 0x20(%rax), %rdx
cmpq %rdx, %rsi
je 0xc7769
jle 0xc7760
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %rsi
cmpq %rsi, %rdx
jl 0xc7753
cmpq %rdx, %rsi
jne 0xc78bc
movq 0x18(%rax), %rax
movq 0x10(%rax), %rdx
movq 0x570(%rbx), %rax
movq %rdx, 0x8(%rax)
addq $-0x20, 0x50(%rbx)
movq 0x20(%r14), %rax
movq 0x570(%rbx), %rsi
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmpq *%rax
cmpb $0x1c, (%rsi)
jne 0xc77d0
movq 0x8(%rsi), %r9
testq %r9, %r9
sete %r8b
je 0xc77be
cmpq %rdx, 0x8(%r9)
je 0xc77ba
movq 0x18(%r9), %r9
jmp 0xc77a5
movq 0x10(%r9), %rdi
testb %r8b, %r8b
je 0xc75ec
movq 0x10(%rsi), %rsi
cmpb $0x1c, (%rsi)
je 0xc77a1
movq 0x10(%rdx), %rdx
cmpb $0x20, (%rdx)
je 0xc75e8
xorl %edi, %edi
jmp 0xc75ec
cmpb $0x1c, (%rdx)
jne 0xc7818
movq 0x8(%rdx), %r8
testq %r8, %r8
sete %dil
je 0xc7806
cmpq %rcx, 0x8(%r8)
je 0xc7802
movq 0x18(%r8), %r8
jmp 0xc77ed
movq 0x10(%r8), %rsi
testb %dil, %dil
je 0xc7634
movq 0x10(%rdx), %rdx
cmpb $0x1c, (%rdx)
je 0xc77e9
movq 0x10(%rcx), %rcx
cmpb $0x20, (%rcx)
je 0xc7630
xorl %esi, %esi
jmp 0xc7634
cmpb $0x1c, (%rcx)
jne 0xc7860
movq 0x8(%rcx), %rdi
testq %rdi, %rdi
sete %sil
je 0xc784e
cmpq %rax, 0x8(%rdi)
je 0xc784a
movq 0x18(%rdi), %rdi
jmp 0xc7835
movq 0x10(%rdi), %rdx
testb %sil, %sil
je 0xc76a2
movq 0x10(%rcx), %rcx
cmpb $0x1c, (%rcx)
je 0xc7831
movq 0x10(%rax), %rax
cmpb $0x20, (%rax)
je 0xc769e
xorl %edx, %edx
jmp 0xc76a2
cmpb $0x1c, (%rcx)
jne 0xc78a8
movq 0x8(%rcx), %rdi
testq %rdi, %rdi
sete %sil
je 0xc7896
cmpq %rax, 0x8(%rdi)
je 0xc7892
movq 0x18(%rdi), %rdi
jmp 0xc787d
movq 0x10(%rdi), %rdx
testb %sil, %sil
je 0xc76e7
movq 0x10(%rcx), %rcx
cmpb $0x1c, (%rcx)
je 0xc7879
movq 0x10(%rax), %rax
cmpb $0x20, (%rax)
je 0xc76e3
xorl %edx, %edx
jmp 0xc76e7
cmpb $0x1c, (%rcx)
jne 0xc78f0
movq 0x8(%rcx), %rdi
testq %rdi, %rdi
sete %sil
je 0xc78de
cmpq %rax, 0x8(%rdi)
je 0xc78da
movq 0x18(%rdi), %rdi
jmp 0xc78c5
movq 0x10(%rdi), %rdx
testb %sil, %sil
je 0xc7771
movq 0x10(%rcx), %rcx
cmpb $0x1c, (%rcx)
je 0xc78c1
movq 0x10(%rax), %rax
cmpb $0x20, (%rax)
je 0xc776d
xorl %edx, %edx
jmp 0xc7771