// File: /workspace/github_c_makefile_star2_O1/blakemcbride[P]LISP9/ls9.c
// Function: cconv
cell cconv(cell x, cell e, cell a) {
	int	n;

	if (	pairp(x) &&
		(S_apply == car(x)  ||
		 S_if == car(x)     ||
		 S_ifstar == car(x) ||
		 S_prog == car(x)   ||
		 S_setq == car(x)   ||
		 subrp(car(x))))
	{
		return cons(car(x), mapconv(cdr(x), e, a));
	}
	if ((n = posq(x, a)) != NIL) {
		return cons(I_arg, cons(mkfix(n), NIL));
	}
	if ((n = posq(x, e)) != NIL) {
		Tmp = mkfix(n);
		n = cons(I_ref, cons(Tmp, cons(x, NIL)));
		Tmp = NIL;
		return n;
	}
	if (symbolp(x)) {
		error("undefined symbol", x);
		return NIL;
	}
	if (atomp(x)) {
		return x;
	}
	if (S_quote == car(x)) {
		return x;
	}
	if (	pairp(car(x)) &&
		S_lambda == caar(x) &&
		liftable(car(x)))
	{
		return appconv(x, e, a);
	}
	if (S_lambda == car(x)) {
		return lamconv(x, e, a);
	}
	if (S_def == car(x)) {
		return defconv(x, e, a);
	}
	if (S_macro == car(x)) {
		return cons(car(x),
			    cons(cadr(x),
				 mapconv(cddr(x), e, a)));
	}
	return mapconv(x, e, a);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movl %esi, %r14d
movl %edi, %ebx
testl %edi, %edi
js 0x6ab8
movq 0x128a6(%rip), %rax     # 0x19350
movl %ebx, %r12d
testb $0x9, (%rax,%r12)
je 0x6b64
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
cmpl $-0x1, %ebp
je 0x6aea
movq 0x12877(%rip), %rcx     # 0x19340
xorl %eax, %eax
movq 0x12876(%rip), %rdx     # 0x19348
movl %ebp, %esi
movslq %esi, %rsi
cmpl %ebx, (%rcx,%rsi,4)
je 0x6ae8
incl %eax
movl (%rdx,%rsi,4), %esi
cmpl $-0x1, %esi
jne 0x6ad4
jmp 0x6aea
movl %eax, %edi
cmpl $-0x1, %edi
je 0x6b2a
movl 0x12c4f(%rip), %ebx     # 0x19744
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x3162
movl $0xfffffff2, %edi       # imm = 0xFFFFFFF2
movl %eax, %esi
movl $0x1, %edx
callq 0x3162
movl %eax, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x3162
movl %ebx, %edi
jmp 0x6bc4
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
cmpl $-0x1, %r14d
je 0x6bdd
movq 0x12800(%rip), %rcx     # 0x19340
xorl %eax, %eax
movq 0x127ff(%rip), %rdx     # 0x19348
movl %r14d, %esi
movslq %esi, %rsi
cmpl %ebx, (%rcx,%rsi,4)
je 0x6bdb
incl %eax
movl (%rdx,%rsi,4), %esi
cmpl $-0x1, %esi
jne 0x6b4c
jmp 0x6bdd
movq 0x127d5(%rip), %rax     # 0x19340
movl (%rax,%r12,4), %r15d
cmpl %r15d, 0x12ba2(%rip)    # 0x19718
je 0x6bac
cmpl %r15d, 0x12ba1(%rip)    # 0x19720
je 0x6bac
cmpl %r15d, 0x12b9c(%rip)    # 0x19724
je 0x6bac
cmpl %r15d, 0x12b9f(%rip)    # 0x19730
je 0x6bac
cmpl %r15d, 0x12b9a(%rip)    # 0x19734
je 0x6bac
movl %r15d, %edi
callq 0x666e
testl %eax, %eax
je 0x6ab8
movq 0x12795(%rip), %rax     # 0x19348
movl (%rax,%r12,4), %edi
movl %r14d, %esi
movl %ebp, %edx
callq 0x69e9
movl %r15d, %edi
movl %eax, %esi
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3162
movl %eax, %edi
cmpl $-0x1, %edi
je 0x6c42
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x3162
movl $0xfffffff2, %edi       # imm = 0xFFFFFFF2
movl %eax, %esi
movl $0x1, %edx
callq 0x3162
movl %eax, %ebp
movl %eax, 0x1256a(%rip)     # 0x19174
movl 0x12b37(%rip), %r14d    # 0x19748
movl %ebx, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x3162
movl %ebp, %edi
movl %eax, %esi
xorl %edx, %edx
callq 0x3162
movl %r14d, %edi
movl %eax, %esi
xorl %edx, %edx
callq 0x3162
movl $0xffffffff, 0x12534(%rip) # imm = 0xFFFFFFFF
jmp 0x6c87
testl %ebx, %ebx
js 0x6c85
movq 0x12703(%rip), %rax     # 0x19350
movl %ebx, %r12d
movb (%rax,%r12), %cl
testb $0x8, %cl
je 0x6c6b
movq 0x126e0(%rip), %rdx     # 0x19340
cmpl $-0x12, (%rdx,%r12,4)
je 0x6d78
testb $0x9, %cl
jne 0x6c85
movq 0x126c9(%rip), %r13     # 0x19340
movl (%r13,%r12,4), %r15d
cmpl %r15d, 0x129b5(%rip)    # 0x19638
jne 0x6c96
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %r15d, %r15d
js 0x6cc5
testb $0x9, (%rax,%r15)
jne 0x6cc5
movl 0x12a80(%rip), %eax     # 0x19728
cmpl (%r13,%r15,4), %eax
jne 0x6cc5
movl 0x12a7f(%rip), %esi     # 0x19734
movl %r15d, %edi
callq 0x6ea0
testl %eax, %eax
je 0x6d5e
cmpl %r15d, 0x12a5c(%rip)    # 0x19728
jne 0x6ce8
movl %ebx, %edi
movl %r14d, %esi
movl %ebp, %edx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x6d86
cmpl %r15d, 0x12a2d(%rip)    # 0x1971c
jne 0x6d0b
movl %ebx, %edi
movl %r14d, %esi
movl %ebp, %edx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x729d
cmpl %r15d, 0x12a1a(%rip)    # 0x1972c
jne 0x6d44
movq 0x1262d(%rip), %rax     # 0x19348
movslq (%rax,%r12,4), %rcx
movl (%r13,%rcx,4), %ebx
movl (%rax,%rcx,4), %edi
movl %r14d, %esi
movl %ebp, %edx
callq 0x69e9
movl %ebx, %edi
movl %eax, %esi
xorl %edx, %edx
callq 0x3162
movl %r15d, %edi
jmp 0x6bc4
movl %ebx, %edi
movl %r14d, %esi
movl %ebp, %edx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x69e9
movl %ebx, %edi
movl %r14d, %esi
movl %ebp, %edx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x708b
leaq 0xc9d2(%rip), %rdi      # 0x13751
movl %ebx, %esi
callq 0x264c