// File: /workspace/github_c_makefile_star2_O3/dalnefre[P]kernel_abe/emit.c
// Function: test_cons_to_str
void
test_cons_to_str()
{
	CONS* value;
	char* actual;
	char expect[256];

	DBUG_ENTER("test_cons_to_str");
	TRACE(printf("--test_cons_to_str--\n"));

	ASSERT_CONS_TO_STR(NIL, "NIL", actual);

	ASSERT_CONS_TO_STR(TRUE, "TRUE", actual);

	ASSERT_CONS_TO_STR(FALSE, "FALSE", actual);

	ASSERT_CONS_TO_STR(ATOM("TRUE"), "#TRUE", actual);

	ASSERT_CONS_TO_STR(ATOM("#x,y"), "#\"#x,y\"", actual);

	ASSERT_CONS_TO_STR(NUMBER(0), "0", actual);

	ASSERT_CONS_TO_STR(NUMBER(1), "1", actual);

	ASSERT_CONS_TO_STR(NUMBER(-1), "-1", actual);

	value = MK_FUNC(test_cons_to_str);
#if NUMBER_IS_FUNC
	sprintf(expect, "%d", (int)MK_PTR(value));
#else
	sprintf(expect, "^%lx", (ulint)MK_PTR(value));
#endif
	ASSERT_CONS_TO_STR(value, expect, actual);

	value = CFG_ACTOR(NULL, sink_beh, NIL);
	sprintf(expect, "@%lx[^%lx, NIL]", (ulint)value, (ulint)sink_beh);
	ASSERT_CONS_TO_STR(value, expect, actual);
#if 0
	rplacd(value, value);  /* FIXME: CIRCULAR LINK FORCED FOR TESTING */
	ASSERT_CONS_TO_STR(value, expect, actual);
#endif

	ASSERT_CONS_TO_STR(cons(NUMBER(0), NIL), "(0, NIL)", actual);

	value = cons(
		FALSE, 
		cons(
			cons(
				ATOM("x"),
				NUMBER(0)
			),
			NIL
		)
	);
	ASSERT_CONS_TO_STR(value, "(FALSE, (#x, 0), NIL)", actual);

	DBUG_RETURN;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x130, %rsp            # imm = 0x130
leaq 0x92db(%rip), %rax      # 0x1d140
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0xf4bc(%rip), %r12      # 0x23330
movq (%r12), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xb8, 0xc(%rdi)
leaq 0x84ba(%rip), %rbx      # 0x1c34a
movq %rbx, 0x10(%rdi)
leaq 0xf325(%rip), %rcx      # 0x231c0
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1ba26
leaq 0x9a75(%rip), %rdi      # 0x1d924
callq 0x20a0
leaq 0xf535(%rip), %rdi      # 0x233f0
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x2110
movl $0x4c494e, 0xf51f(%rip) # imm = 0x4C494E
leaq 0xfa58(%rip), %r13      # 0x23930
cmpl $0x0, (%r13)
je 0x13f32
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x13f22
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xbb, 0xc(%rax)
leaq 0x9244(%rip), %rdi      # 0x1d151
leaq 0xa575(%rip), %rsi      # 0x1e489
leaq 0xf4d5(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
cmpl $0x4c494e, 0xf4c4(%rip) # imm = 0x4C494E
jne 0x1472e
leaq 0xf4b7(%rip), %rdi      # 0x233f0
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x2110
leaq 0xf354(%rip), %r14      # 0x232a0
cmpq $0x1, %r14
je 0x13f65
movb $0x0, 0xf49b(%rip)      # 0x233f4
movl $0x45555254, 0xf48d(%rip) # imm = 0x45555254
jmp 0x13f6f
movl $0x4c494e, 0xf481(%rip) # imm = 0x4C494E
cmpl $0x0, (%r13)
je 0x13fb9
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x13fb9
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xbd, 0xc(%rax)
leaq 0x91ad(%rip), %rdi      # 0x1d151
leaq 0x9f23(%rip), %rsi      # 0x1dece
leaq 0xf43e(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
movl $0x45555254, %eax       # imm = 0x45555254
xorl 0xf42c(%rip), %eax      # 0x233f0
movzbl 0xf429(%rip), %ecx      # 0x233f4
orl %eax, %ecx
jne 0x145d9
leaq 0xf41c(%rip), %rdi      # 0x233f6
movl $0x3fa, %edx            # imm = 0x3FA
xorl %esi, %esi
callq 0x2110
movl $0x534c4146, 0xf400(%rip) # imm = 0x534C4146
movw $0x45, 0xf3fb(%rip)     # 0x233f4
cmpl $0x0, (%r13)
je 0x14043
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x14043
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xbf, 0xc(%rax)
leaq 0x9123(%rip), %rdi      # 0x1d151
leaq 0x9ecf(%rip), %rsi      # 0x1df04
leaq 0xf3b4(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
movl $0x534c4146, %eax       # imm = 0x534C4146
xorl 0xf3a2(%rip), %eax      # 0x233f0
movzwl 0xf39f(%rip), %ecx      # 0x233f4
xorl $0x45, %ecx
orl %eax, %ecx
jne 0x145f8
leaq 0x9e67(%rip), %rdi      # 0x1dece
callq 0x170ff
leaq 0xf37d(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %rax, %rdx
callq 0x13c5d
cmpl $0x0, (%r13)
je 0x140ca
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x140ca
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc1, 0xc(%rax)
leaq 0x909c(%rip), %rdi      # 0x1d151
leaq 0x9110(%rip), %rsi      # 0x1d1cc
leaq 0xf32d(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
movl $0x55525423, %eax       # imm = 0x55525423
xorl 0xf31b(%rip), %eax      # 0x233f0
movzwl 0xf318(%rip), %ecx      # 0x233f4
xorl $0x45, %ecx
orl %eax, %ecx
jne 0x14617
leaq 0x9101(%rip), %rdi      # 0x1d1ef
callq 0x170ff
leaq 0xf2f6(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %rax, %rdx
callq 0x13c5d
cmpl $0x0, (%r13)
je 0x14151
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x14151
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc3, 0xc(%rax)
leaq 0x9015(%rip), %rdi      # 0x1d151
leaq 0x90b1(%rip), %rsi      # 0x1d1f4
leaq 0xf2a6(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
movabsq $0x22792c78232223, %rax # imm = 0x22792C78232223
cmpq %rax, 0xf28e(%rip)      # 0x233f0
jne 0x14636
leaq 0xf281(%rip), %rdi      # 0x233f0
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x2110
cmpq $0x3, %r14
je 0x1419a
leaq 0xf268(%rip), %rdi      # 0x233f0
leaq 0x9561(%rip), %rsi      # 0x1d6f0
xorl %edx, %edx
xorl %eax, %eax
callq 0x2220
jmp 0x141a4
movl $0x4c494e, 0xf24c(%rip) # imm = 0x4C494E
cmpl $0x0, (%r13)
je 0x141ee
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x141ee
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc5, 0xc(%rax)
leaq 0x8f78(%rip), %rdi      # 0x1d151
leaq 0x9999(%rip), %rsi      # 0x1db79
leaq 0xf209(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
cmpw $0x30, 0xf1fa(%rip)     # 0x233f0
jne 0x14655
leaq 0xf1ed(%rip), %rdi      # 0x233f0
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x2110
cmpq $0x7, %r14
je 0x14231
leaq 0xf1d4(%rip), %rdi      # 0x233f0
leaq 0x94cd(%rip), %rsi      # 0x1d6f0
movl $0x1, %edx
xorl %eax, %eax
callq 0x2220
jmp 0x1423b
movl $0x4c494e, 0xf1b5(%rip) # imm = 0x4C494E
cmpl $0x0, (%r13)
je 0x14285
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x14285
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc7, 0xc(%rax)
leaq 0x8ee1(%rip), %rdi      # 0x1d151
leaq 0x9be8(%rip), %rsi      # 0x1de5f
leaq 0xf172(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
cmpw $0x31, 0xf163(%rip)     # 0x233f0
jne 0x14674
leaq 0xf156(%rip), %r14      # 0x233f0
movl $0x400, %edx            # imm = 0x400
movq %r14, %rdi
xorl %esi, %esi
callq 0x2110
leaq 0x9440(%rip), %rsi      # 0x1d6f0
movq %r14, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %eax, %eax
callq 0x2220
cmpl $0x0, (%r13)
je 0x14309
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x14309
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc9, 0xc(%rax)
leaq 0x8e5d(%rip), %rdi      # 0x1d151
leaq 0x8f54(%rip), %rsi      # 0x1d24f
leaq 0xf0ee(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
movl $0x312d, %eax           # imm = 0x312D
xorl 0xf0dc(%rip), %eax      # 0x233f0
movzbl 0xf0d7(%rip), %ecx      # 0x233f2
orw %ax, %cx
jne 0x14693
leaq -0x4dd(%rip), %rdx      # 0x13e4e
leaq 0x3(,%rdx,4), %r14
leaq 0x93b6(%rip), %rsi      # 0x1d6f0
leaq 0x30(%rsp), %rdi
xorl %eax, %eax
callq 0x2220
leaq 0xf0a3(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %r14, %rdx
callq 0x13c5d
cmpl $0x0, (%r13)
je 0x143a2
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x143a2
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xd1, 0xc(%rax)
leaq 0x8dc2(%rip), %rdi      # 0x1d151
leaq 0xf05a(%rip), %rdx      # 0x233f0
leaq 0x30(%rsp), %rsi
xorl %eax, %eax
callq 0x1ba97
leaq 0xf047(%rip), %rsi      # 0x233f0
leaq 0x30(%rsp), %rdi
callq 0x2170
testl %eax, %eax
jne 0x146b2
leaq -0x262a(%rip), %r14     # 0x11d98
leaq 0xeed7(%rip), %rdx      # 0x232a0
xorl %edi, %edi
movq %r14, %rsi
callq 0x128be
movq %rax, %r15
leaq 0x8eab(%rip), %rsi      # 0x1d288
leaq 0x30(%rsp), %rdi
movq %rax, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x2220
leaq 0xeffa(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %r15, %rdx
callq 0x13c5d
cmpl $0x0, (%r13)
je 0x1444b
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x1444b
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xd5, 0xc(%rax)
leaq 0x8d19(%rip), %rdi      # 0x1d151
leaq 0xefb1(%rip), %rdx      # 0x233f0
leaq 0x30(%rsp), %rsi
xorl %eax, %eax
callq 0x1ba97
leaq 0xef9e(%rip), %rsi      # 0x233f0
leaq 0x30(%rsp), %rdi
callq 0x2170
testl %eax, %eax
jne 0x146d1
leaq 0xee35(%rip), %rsi      # 0x232a0
movl $0x3, %edi
callq 0x19c50
leaq 0xef74(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %rax, %rdx
callq 0x13c5d
cmpl $0x0, (%r13)
je 0x144d3
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x144d3
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xdb, 0xc(%rax)
leaq 0x8c93(%rip), %rdi      # 0x1d151
leaq 0x8dd3(%rip), %rsi      # 0x1d298
leaq 0xef24(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
movabsq $0x294c494e202c3028, %rax # imm = 0x294C494E202C3028
xorq 0xef0c(%rip), %rax      # 0x233f0
movzbl 0xef0d(%rip), %ecx      # 0x233f8
orq %rax, %rcx
jne 0x146f0
leaq 0x982b(%rip), %rdi      # 0x1dd26
callq 0x170ff
movl $0x3, %esi
movq %rax, %rdi
callq 0x19c50
leaq 0xed8c(%rip), %rsi      # 0x232a0
movq %rax, %rdi
callq 0x19c50
xorl %edi, %edi
movq %rax, %rsi
callq 0x19c50
leaq 0xeec3(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %rax, %rdx
callq 0x13c5d
cmpl $0x0, (%r13)
je 0x14584
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b188
testl %eax, %eax
je 0x14584
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xe7, 0xc(%rax)
leaq 0x8be2(%rip), %rdi      # 0x1d151
leaq 0x8d4b(%rip), %rsi      # 0x1d2c1
leaq 0xee73(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1ba97
movdqa 0xee64(%rip), %xmm0     # 0x233f0
movdqu 0xee62(%rip), %xmm1     # 0x233f6
pcmpeqb 0x8b74(%rip), %xmm1     # 0x1d110
pcmpeqb 0x8b7c(%rip), %xmm0     # 0x1d120
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x1470f
leaq 0x8(%rsp), %rdi
movl $0xe9, 0xc(%rdi)
callq 0x1bbab
addq $0x130, %rsp            # imm = 0x130
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x8bb3(%rip), %rdi      # 0x1d193
leaq 0x8b8d(%rip), %rsi      # 0x1d174
leaq 0x8b8d(%rip), %rcx      # 0x1d17b
movl $0xbd, %edx
callq 0x2100
leaq 0x8bb0(%rip), %rdi      # 0x1d1af
leaq 0x8b6e(%rip), %rsi      # 0x1d174
leaq 0x8b6e(%rip), %rcx      # 0x1d17b
movl $0xbf, %edx
callq 0x2100
leaq 0x8bb4(%rip), %rdi      # 0x1d1d2
leaq 0x8b4f(%rip), %rsi      # 0x1d174
leaq 0x8b4f(%rip), %rcx      # 0x1d17b
movl $0xc1, %edx
callq 0x2100
leaq 0x8bbf(%rip), %rdi      # 0x1d1fc
leaq 0x8b30(%rip), %rsi      # 0x1d174
leaq 0x8b30(%rip), %rcx      # 0x1d17b
movl $0xc3, %edx
callq 0x2100
leaq 0x8bc1(%rip), %rdi      # 0x1d21d
leaq 0x8b11(%rip), %rsi      # 0x1d174
leaq 0x8b11(%rip), %rcx      # 0x1d17b
movl $0xc5, %edx
callq 0x2100
leaq 0x8bbb(%rip), %rdi      # 0x1d236
leaq 0x8af2(%rip), %rsi      # 0x1d174
leaq 0x8af2(%rip), %rcx      # 0x1d17b
movl $0xc7, %edx
callq 0x2100
leaq 0x8bb8(%rip), %rdi      # 0x1d252
leaq 0x8ad3(%rip), %rsi      # 0x1d174
leaq 0x8ad3(%rip), %rcx      # 0x1d17b
movl $0xc9, %edx
callq 0x2100
leaq 0x8bb3(%rip), %rdi      # 0x1d26c
leaq 0x8ab4(%rip), %rsi      # 0x1d174
leaq 0x8ab4(%rip), %rcx      # 0x1d17b
movl $0xd1, %edx
callq 0x2100
leaq 0x8b94(%rip), %rdi      # 0x1d26c
leaq 0x8a95(%rip), %rsi      # 0x1d174
leaq 0x8a95(%rip), %rcx      # 0x1d17b
movl $0xd5, %edx
callq 0x2100
leaq 0x8baa(%rip), %rdi      # 0x1d2a1
leaq 0x8a76(%rip), %rsi      # 0x1d174
leaq 0x8a76(%rip), %rcx      # 0x1d17b
movl $0xdb, %edx
callq 0x2100
leaq 0x8bc1(%rip), %rdi      # 0x1d2d7
leaq 0x8a57(%rip), %rsi      # 0x1d174
leaq 0x8a57(%rip), %rcx      # 0x1d17b
movl $0xe7, %edx
callq 0x2100
leaq 0x8a24(%rip), %rdi      # 0x1d159
leaq 0x8a38(%rip), %rsi      # 0x1d174
leaq 0x8a38(%rip), %rcx      # 0x1d17b
movl $0xbb, %edx
callq 0x2100