// File: /workspace/github_c_makefile_star2_O2/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 0x13dfd(%rip), %rax     # 0x1c280
leaq 0x13cf6(%rip), %rcx     # 0x1c180
cmpq $0x0, (%rcx,%rax,8)
je 0x84a5
movl %esi, %r14d
cmpl $0x10001, %esi          # imm = 0x10001
jl 0x84c2
leaq 0xc1a8(%rip), %rdi      # 0x1464b
jmp 0x84ac
leaq 0xbd18(%rip), %rdi      # 0x141c4
pushq $-0x8
popq %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x33e4
movq %rdi, %rbx
leaq 0x9(%rdi), %rax
cmpq $0x8, %rax
ja 0x84eb
leaq 0xbb5a(%rip), %rcx      # 0x14030
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xc1aa(%rip), %rdi      # 0x14690
jmp 0x85e4
testq %rbx, %rbx
js 0x85f7
movq %rbx, %rdi
callq 0x7fa9
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x7e7c
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x7f72
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x7be1
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x7d93
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x81e1
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x7e14
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x807e
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x815b
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x8255
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x828c
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x831e
testl %eax, %eax
jne 0x8598
movq %rbx, %rdi
callq 0x839b
testl %eax, %eax
je 0x860d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xbf7b(%rip), %rdi      # 0x14529
jmp 0x85e4
leaq 0xc0c7(%rip), %rdi      # 0x1467e
jmp 0x85e4
leaq 0xbf64(%rip), %rdi      # 0x14524
jmp 0x85e4
leaq 0xc0ac(%rip), %rdi      # 0x14675
jmp 0x85e4
leaq 0xc0c6(%rip), %rdi      # 0x14698
jmp 0x85e4
leaq 0xc0a9(%rip), %rdi      # 0x14684
jmp 0x85e4
leaq 0xc094(%rip), %rdi      # 0x14678
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3873
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x843e
movq 0x13fcc(%rip), %rax     # 0x1c5e0
movb (%rax,%rbx), %al
andb $0x19, %al
cmpb $0x8, %al
leaq 0xc079(%rip), %rax      # 0x1469b
leaq 0xc074(%rip), %rdi      # 0x1469d
cmoveq %rax, %rdi
callq 0x3873
incl %r14d
pushq $-0x1
popq %r15
movq %rbx, %r12
cmpq $-0x1, %r12
je 0x86e3
cmpl $0x0, 0x13f67(%rip)     # 0x1c5b4
jne 0x8598
movl 0x13c2b(%rip), %eax     # 0x1c284
testl %eax, %eax
je 0x8669
cmpl %eax, 0x13c25(%rip)     # 0x1c288
jg 0x8598
movq 0x13b00(%rip), %rax     # 0x1c170
movq (%rax,%r12,8), %rdi
movl %r14d, %esi
callq 0x846e
cmpl $0x0, 0x13f31(%rip)     # 0x1c5b4
jne 0x8598
movq 0x13f30(%rip), %rax     # 0x1c5c0
movq (%rax,%r12,8), %r13
movq %r15, %r12
cmpq $-0x1, %r13
je 0x863c
testq %r13, %r13
js 0x86b0
movq 0x13f37(%rip), %rax     # 0x1c5e0
testb $0x11, (%rax,%r13)
je 0x86cf
leaq 0xbf81(%rip), %rdi      # 0x14638
callq 0x3873
movq %r13, %rdi
movl %r14d, %esi
callq 0x846e
movq %r15, %r12
jmp 0x863c
leaq 0xbf4d(%rip), %rdi      # 0x14623
callq 0x3873
movq %r13, %r12
jmp 0x863c
testl %ebx, %ebx
js 0x870b
movq 0x13ef2(%rip), %rax     # 0x1c5e0
movl %ebx, %ecx
andl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
movb (%rax,%rcx), %al
andb $0x19, %al
cmpb $0x8, %al
jne 0x870b
leaq 0xbf70(%rip), %rdi      # 0x14676
jmp 0x85e4
cmpl $-0x1, %ebx
leaq 0xbf61(%rip), %rax      # 0x14676
leaq 0xcec3(%rip), %rdi      # 0x155df
cmoveq %rax, %rdi
jmp 0x85e4