// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
cmpl $0x0, -0x8(%rbp)
jl 0x8ff5
movq 0x1744e(%rip), %rax     # 0x20350
movslq -0x8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x8ff5
movq 0x17433(%rip), %rax     # 0x20350
movslq -0x8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x8ff5
movl 0x177e1(%rip), %eax     # 0x20718
movq 0x17402(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
je 0x8fb7
movl 0x177d3(%rip), %eax     # 0x20720
movq 0x173ec(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
je 0x8fb7
movl 0x177c1(%rip), %eax     # 0x20724
movq 0x173d6(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
je 0x8fb7
movl 0x177b7(%rip), %eax     # 0x20730
movq 0x173c0(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
je 0x8fb7
movl 0x177a5(%rip), %eax     # 0x20734
movq 0x173aa(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
je 0x8fb7
movq 0x1739a(%rip), %rax     # 0x20340
movslq -0x8(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x8990
cmpl $0x0, %eax
je 0x8ff5
movq 0x17382(%rip), %rax     # 0x20340
movslq -0x8(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x18(%rbp)
movq 0x17379(%rip), %rax     # 0x20348
movslq -0x8(%rbp), %rcx
movl (%rax,%rcx,4), %edi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
callq 0x8df0
movl -0x18(%rbp), %edi
movl %eax, %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x4(%rbp)
jmp 0x9325
movl -0x8(%rbp), %edi
movl -0x10(%rbp), %esi
callq 0x8a50
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x9056
movl 0x17736(%rip), %eax     # 0x20744
movl %eax, -0x1c(%rbp)
movl -0x14(%rbp), %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x3990
movl %eax, %esi
movl $0xfffffff2, %edi       # imm = 0xFFFFFFF2
movl $0x1, %edx
callq 0x3990
movl %eax, %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x3990
movl -0x1c(%rbp), %edi
movl %eax, %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x4(%rbp)
jmp 0x9325
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
callq 0x8a50
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x90e3
movl -0x14(%rbp), %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x3990
movl %eax, %esi
movl $0xfffffff2, %edi       # imm = 0xFFFFFFF2
movl $0x1, %edx
callq 0x3990
movl %eax, 0x170e2(%rip)     # 0x20174
movl 0x176b0(%rip), %eax     # 0x20748
movl %eax, -0x20(%rbp)
movl 0x170d3(%rip), %eax     # 0x20174
movl %eax, -0x24(%rbp)
movl -0x8(%rbp), %edi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
callq 0x3990
movl -0x24(%rbp), %edi
movl %eax, %esi
xorl %edx, %edx
callq 0x3990
movl -0x20(%rbp), %edi
movl %eax, %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x14(%rbp)
movl $0xffffffff, 0x1709c(%rip) # imm = 0xFFFFFFFF
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x9325
cmpl $0x0, -0x8(%rbp)
jl 0x9130
movq 0x17260(%rip), %rax     # 0x20350
movslq -0x8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x9130
movq 0x17239(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
movl $0xffffffee, %eax       # imm = 0xFFFFFFEE
cmpl (%rcx,%rdx,4), %eax
jne 0x9130
movl -0x8(%rbp), %esi
leaq 0x126d2(%rip), %rdi     # 0x1b7f1
callq 0x26c0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x9325
cmpl $0x0, -0x8(%rbp)
jl 0x9164
movq 0x17213(%rip), %rax     # 0x20350
movslq -0x8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x9164
movq 0x171fc(%rip), %rax     # 0x20350
movslq -0x8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x916f
movl -0x8(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x9325
movl 0x174c3(%rip), %eax     # 0x20638
movq 0x171c4(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jne 0x9190
movl -0x8(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x9325
movq 0x171a9(%rip), %rax     # 0x20340
movslq -0x8(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jl 0x9238
movq 0x171a4(%rip), %rax     # 0x20350
movq 0x1718d(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movzbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x9238
movq 0x17182(%rip), %rax     # 0x20350
movq 0x1716b(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x9238
movl 0x17539(%rip), %eax     # 0x20728
movq 0x1714a(%rip), %rcx     # 0x20340
movq 0x17143(%rip), %rdx     # 0x20340
movslq -0x8(%rbp), %rsi
movslq (%rdx,%rsi,4), %rdx
cmpl (%rcx,%rdx,4), %eax
jne 0x9238
movq 0x1712f(%rip), %rax     # 0x20340
movslq -0x8(%rbp), %rcx
movl (%rax,%rcx,4), %edi
callq 0x9500
cmpl $0x0, %eax
je 0x9238
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
callq 0x9750
movl %eax, -0x4(%rbp)
jmp 0x9325
movl 0x174ea(%rip), %eax     # 0x20728
movq 0x170fb(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jne 0x9264
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
callq 0x9330
movl %eax, -0x4(%rbp)
jmp 0x9325
movl 0x174b2(%rip), %eax     # 0x2071c
movq 0x170cf(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jne 0x9290
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
callq 0x9970
movl %eax, -0x4(%rbp)
jmp 0x9325
movl 0x17496(%rip), %eax     # 0x2072c
movq 0x170a3(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jne 0x9314
movq 0x17093(%rip), %rax     # 0x20340
movslq -0x8(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x28(%rbp)
movq 0x17082(%rip), %rax     # 0x20340
movq 0x17083(%rip), %rcx     # 0x20348
movslq -0x8(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x2c(%rbp)
movq 0x1706e(%rip), %rax     # 0x20348
movq 0x17067(%rip), %rcx     # 0x20348
movslq -0x8(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %edi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
callq 0x8df0
movl -0x2c(%rbp), %edi
movl %eax, %esi
xorl %edx, %edx
callq 0x3990
movl -0x28(%rbp), %edi
movl %eax, %esi
xorl %edx, %edx
callq 0x3990
movl %eax, -0x4(%rbp)
jmp 0x9325
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
callq 0x8df0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nop