// File: /workspace/github_c_makefile_star2_O1/azhai[P]mlite/mlite.c
// Function: x_print_form
void x_print_form(cell n, int depth) {
	int	m;

	if (Streams[Outstream] == NULL) {
		error("outstream is not open", NOEXPR);
		return;
	}
	if (depth > MAX_IO_DEPTH) {
		error("printer: too many nested lists or vectors", NOEXPR);
		return;
	}
	if (n == NIL) {
		pr("[]");
	}
	else if (eof_p(n)) {
		pr("<eof>");
	}
	else if (n == NAN) {
		pr("<nan>");
	}
	else if (n == FALSE) {
		pr("false");
	}
	else if (n == TRUE) {
		pr("true");
	}
	else if (undefined_p(n)) {
		pr("<undefined>");
	}
	else if (n == GUARD) {
		pr("<guard>");
	}
	else if (unit_p(n)) {
		pr("()");
	}
	else if (virtual_p(n)) {
		print_virtual(n);
	}
	else {
		if (print_char(n)) return;
		if (print_fun(n)) return;
		if (print_continuation(n)) return;
		if (print_real(n)) return;
		if (print_integer(n)) return;
		if (print_primitive(n)) return;
		if (print_quoted(n)) return;
		if (print_string(n)) return;
		if (print_symbol(n)) return;
		if (print_syntax(n)) return;
		if (print_vector(n)) return;
		if (print_stream(n)) return;
		if (print_cons(n)) return;
		pr(list_p(n)? "[": "(");
		m = n;
		while (n != NIL) {
			if (Error_flag) return;
			if (Printer_limit && Printer_count > Printer_limit)
				return;
			x_print_form(car(n), depth+1);
			if (Error_flag) return;
			n = cdr(n);
			if (n != NIL && atom_p(n)) {
				pr(" :: ");
				x_print_form(n, depth+1);
				n = NIL;
			}
			if (n != NIL) pr(", ");
		}
		pr(list_p(m)? "]": ")");
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movslq 0x1507b(%rip), %rax     # 0x1e280
leaq 0x14f74(%rip), %rcx     # 0x1e180
cmpq $0x0, (%rcx,%rax,8)
je 0x9227
movl %esi, %r14d
cmpl $0x10001, %esi          # imm = 0x10001
jl 0x9248
leaq 0xd43e(%rip), %rdi      # 0x16663
jmp 0x922e
leaq 0xcfae(%rip), %rdi      # 0x161dc
movq $-0x8, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x33eb
movq %rdi, %rbx
leaq 0x9(%rdi), %rax
cmpq $0x8, %rax
ja 0x9271
leaq 0xcdd4(%rip), %rcx      # 0x16030
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xd43c(%rip), %rdi      # 0x166a8
jmp 0x93a8
testq %rbx, %rbx
js 0x93bb
movq %rbx, %rdi
callq 0x8cc0
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8b80
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8c87
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8853
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8a8b
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8efa
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8b14
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8d8b
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8e71
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8f73
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x8fac
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x9057
testl %eax, %eax
jne 0x935c
movq %rbx, %rdi
callq 0x9105
testl %eax, %eax
jne 0x935c
movq 0x152ab(%rip), %rax     # 0x1e5e0
movb (%rax,%rbx), %al
andb $0x19, %al
cmpb $0x8, %al
leaq 0xd370(%rip), %rax      # 0x166b3
leaq 0xd36b(%rip), %rdi      # 0x166b5
cmoveq %rax, %rdi
callq 0x3965
cmpl $0x0, 0x1525a(%rip)     # 0x1e5b4
je 0x93d1
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xd1cf(%rip), %rdi      # 0x16541
jmp 0x93a8
leaq 0xd31b(%rip), %rdi      # 0x16696
jmp 0x93a8
leaq 0xd1b8(%rip), %rdi      # 0x1653c
jmp 0x93a8
leaq 0xd300(%rip), %rdi      # 0x1668d
jmp 0x93a8
leaq 0xd31a(%rip), %rdi      # 0x166b0
jmp 0x93a8
leaq 0xd2fd(%rip), %rdi      # 0x1669c
jmp 0x93a8
leaq 0xd2e8(%rip), %rdi      # 0x16690
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3965
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x91c0
incl %r14d
leaq 0xd260(%rip), %r15      # 0x1663b
movq %rbx, %r12
movl 0x14ea0(%rip), %eax     # 0x1e284
testl %eax, %eax
je 0x93f4
cmpl %eax, 0x14e9a(%rip)     # 0x1e288
jg 0x935c
movq 0x14d75(%rip), %rax     # 0x1e170
movq (%rax,%r12,8), %rdi
movl %r14d, %esi
callq 0x91f0
cmpl $0x0, 0x151a6(%rip)     # 0x1e5b4
jne 0x935c
movq 0x151a5(%rip), %rax     # 0x1e5c0
movq (%rax,%r12,8), %r13
movq $-0x1, %r12
cmpq $-0x1, %r13
je 0x945b
testq %r13, %r13
js 0x943f
movq 0x151a8(%rip), %rax     # 0x1e5e0
testb $0x11, (%rax,%r13)
je 0x9458
leaq 0xd20a(%rip), %rdi      # 0x16650
callq 0x3965
movq %r13, %rdi
movl %r14d, %esi
callq 0x91f0
jmp 0x945b
movq %r13, %r12
cmpq $-0x1, %r12
je 0x947b
movq %r15, %rdi
callq 0x3965
cmpl $0x0, 0x15144(%rip)     # 0x1e5b4
je 0x93de
jmp 0x935c
testl %ebx, %ebx
js 0x94a3
movq 0x1515a(%rip), %rax     # 0x1e5e0
movl %ebx, %ecx
andl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
movb (%rax,%rcx), %al
andb $0x19, %al
cmpb $0x8, %al
jne 0x94a3
leaq 0xd1f0(%rip), %rdi      # 0x1668e
jmp 0x93a8
cmpl $-0x1, %ebx
leaq 0xd1e1(%rip), %rax      # 0x1668e
leaq 0xe146(%rip), %rdi      # 0x175fa
cmoveq %rax, %rdi
jmp 0x93a8