// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: is_simple_code
static bool is_simple_code(s7_scheme *sc, s7_pointer form)
                {
                    s7_pointer tmp, slow;
                    for (tmp = form, slow = form; is_pair(tmp); tmp = cdr(tmp), slow = cdr(slow))
                    {
                        if (is_pair(car(tmp)))
                        {
                            if (!is_simple_code(sc, car(tmp)))
                                return(false);
                        }
                        else
                        {
                            if ((car(tmp) == sc->unquote_symbol) ||
                                    ((is_null(car(tmp))) && (is_null(cdr(tmp)))))
                                return(false);
                        }
                        tmp = cdr(tmp);
                        if (!is_pair(tmp)) return(is_null(tmp));
                        if (tmp == slow) return(false);
                        if (is_pair(car(tmp)))
                        {
                            if (!is_simple_code(sc, car(tmp)))
                                return(false);
                        }
                        else
                        {
                            if ((car(tmp) == sc->unquote_symbol) ||
                                    ((is_null(car(tmp))) && (is_null(cdr(tmp)))))
                                return(false);
                        }
                    }
                    return(is_null(tmp));
                }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x19a0f9
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x199fb6
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x199f50
testb $0x1, %al
jne 0x199fb4
movb $0x0, 0x27(%rsp)
jmp 0x19a113
jmp 0x19a007
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x17b8(%rcx), %rax
je 0x199ffb
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x19a005
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x19a005
movb $0x0, 0x27(%rsp)
jmp 0x19a113
jmp 0x19a007
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x19a041
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpq 0x110(%rcx), %rax
sete %al
andb $0x1, %al
movb %al, 0x27(%rsp)
jmp 0x19a113
movq 0x8(%rsp), %rax
cmpq (%rsp), %rax
jne 0x19a056
movb $0x0, 0x27(%rsp)
jmp 0x19a113
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x19a08a
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x199f50
testb $0x1, %al
jne 0x19a088
movb $0x0, 0x27(%rsp)
jmp 0x19a113
jmp 0x19a0d8
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x17b8(%rcx), %rax
je 0x19a0cf
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x19a0d6
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x19a0d6
movb $0x0, 0x27(%rsp)
jmp 0x19a113
jmp 0x19a0d8
jmp 0x19a0da
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
jmp 0x199f71
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
cmpq 0x110(%rcx), %rax
sete %al
andb $0x1, %al
movb %al, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nop