// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: safe_c_aa_to_ca
static bool safe_c_aa_to_ca(s7_scheme *sc, s7_pointer arg, int hop)
                {
                    if (c_callee(cddr(arg)) == fx_c) {set_opt3_any(arg, caddr(arg)); set_safe_optimize_op(arg, hop + OP_SAFE_C_AC); return(true);}
                    if (c_callee(cdr(arg)) == fx_c)  {set_opt3_any(arg, cadr(arg));  set_safe_optimize_op(arg, hop + OP_SAFE_C_CA); return(true);}
                    if (c_callee(cddr(arg)) == fx_q) {set_opt3_any(arg, cadr(caddr(arg))); set_safe_optimize_op(arg, hop + OP_SAFE_C_AC); return(true);}
                    if (c_callee(cdr(arg)) == fx_q)  {set_opt3_any(arg, cadadr(arg));      set_safe_optimize_op(arg, hop + OP_SAFE_C_CA); return(true);}
                    return(false);
                }

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq -0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
leaq -0x7c8a2(%rip), %rcx    # 0x105cd0
cmpq %rcx, 0x20(%rax)
jne 0x1825d6
jmp 0x18257a
movq -0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq -0x18(%rsp), %rax
movq %rcx, 0x28(%rax)
movq -0x18(%rsp), %rax
movq (%rax), %rcx
andq $-0x40001, %rcx         # imm = 0xFFFBFFFF
movq %rcx, (%rax)
jmp 0x1825a8
movq -0x18(%rsp), %rax
movzwl (%rax), %ecx
orl $0x800, %ecx            # imm = 0x800
movw %cx, (%rax)
movl -0x1c(%rsp), %eax
addl $0x72, %eax
movw %ax, %cx
movq -0x18(%rsp), %rax
movw %cx, 0x4(%rax)
movb $0x1, -0x1(%rsp)
jmp 0x18273d
movq -0x18(%rsp), %rax
movq 0x10(%rax), %rax
leaq -0x7c916(%rip), %rcx    # 0x105cd0
cmpq %rcx, 0x20(%rax)
jne 0x182646
jmp 0x1825ee
movq -0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq -0x18(%rsp), %rax
movq %rcx, 0x28(%rax)
movq -0x18(%rsp), %rax
movq (%rax), %rcx
andq $-0x40001, %rcx         # imm = 0xFFFBFFFF
movq %rcx, (%rax)
jmp 0x182618
movq -0x18(%rsp), %rax
movzwl (%rax), %ecx
orl $0x800, %ecx            # imm = 0x800
movw %cx, (%rax)
movl -0x1c(%rsp), %eax
addl $0x70, %eax
movw %ax, %cx
movq -0x18(%rsp), %rax
movw %cx, 0x4(%rax)
movb $0x1, -0x1(%rsp)
jmp 0x18273d
movq -0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
leaq -0x7363a(%rip), %rcx    # 0x10f020
cmpq %rcx, 0x20(%rax)
jne 0x1826c3
jmp 0x182662
movq -0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq -0x18(%rsp), %rax
movq %rcx, 0x28(%rax)
movq -0x18(%rsp), %rax
movq (%rax), %rcx
andq $-0x40001, %rcx         # imm = 0xFFFBFFFF
movq %rcx, (%rax)
jmp 0x182698
movq -0x18(%rsp), %rax
movzwl (%rax), %ecx
orl $0x800, %ecx            # imm = 0x800
movw %cx, (%rax)
movl -0x1c(%rsp), %eax
addl $0x72, %eax
movw %ax, %cx
movq -0x18(%rsp), %rax
movw %cx, 0x4(%rax)
movb $0x1, -0x1(%rsp)
jmp 0x18273d
movq -0x18(%rsp), %rax
movq 0x10(%rax), %rax
leaq -0x736b3(%rip), %rcx    # 0x10f020
cmpq %rcx, 0x20(%rax)
jne 0x182738
jmp 0x1826db
movq -0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq -0x18(%rsp), %rax
movq %rcx, 0x28(%rax)
movq -0x18(%rsp), %rax
movq (%rax), %rcx
andq $-0x40001, %rcx         # imm = 0xFFFBFFFF
movq %rcx, (%rax)
jmp 0x18270d
movq -0x18(%rsp), %rax
movzwl (%rax), %ecx
orl $0x800, %ecx            # imm = 0x800
movw %cx, (%rax)
movl -0x1c(%rsp), %eax
addl $0x70, %eax
movw %ax, %cx
movq -0x18(%rsp), %rax
movw %cx, 0x4(%rax)
movb $0x1, -0x1(%rsp)
jmp 0x18273d
movb $0x0, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
nopw %cs:(%rax,%rax)