// File: /workspace/github_c_makefile_star2_O1/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 0x9374(%rip), %rax      # 0x1d140
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0xf555(%rip), %r12      # 0x23330
movq (%r12), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xb8, 0xc(%rdi)
leaq 0x8553(%rip), %rbx      # 0x1c34a
movq %rbx, 0x10(%rdi)
leaq 0xf3be(%rip), %rcx      # 0x231c0
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
leaq 0x9b0e(%rip), %rdi      # 0x1d924
callq 0x20a0
leaq 0xf5ce(%rip), %rdi      # 0x233f0
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x2110
movl $0x4c494e, 0xf5b8(%rip) # imm = 0x4C494E
leaq 0xfaf1(%rip), %r13      # 0x23930
cmpl $0x0, (%r13)
je 0x13e89
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x13e89
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xbb, 0xc(%rax)
leaq 0x92dd(%rip), %rdi      # 0x1d151
leaq 0xa60e(%rip), %rsi      # 0x1e489
leaq 0xf56e(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
cmpl $0x4c494e, 0xf55d(%rip) # imm = 0x4C494E
jne 0x14540
leaq 0xf550(%rip), %rdi      # 0x233f0
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x2110
leaq 0xf3ed(%rip), %r14      # 0x232a0
cmpq $0x1, %r14
je 0x13ecc
movb $0x0, 0xf534(%rip)      # 0x233f4
movl $0x45555254, 0xf526(%rip) # imm = 0x45555254
jmp 0x13ed6
movl $0x4c494e, 0xf51a(%rip) # imm = 0x4C494E
cmpl $0x0, (%r13)
je 0x13f20
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x13f20
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xbd, 0xc(%rax)
leaq 0x9246(%rip), %rdi      # 0x1d151
leaq 0x9fbc(%rip), %rsi      # 0x1dece
leaq 0xf4d7(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
movl $0x45555254, %eax       # imm = 0x45555254
xorl 0xf4c5(%rip), %eax      # 0x233f0
movzbl 0xf4c2(%rip), %ecx      # 0x233f4
orl %eax, %ecx
jne 0x1455f
leaq 0xf4b5(%rip), %rdi      # 0x233f6
movl $0x3fa, %edx            # imm = 0x3FA
xorl %esi, %esi
callq 0x2110
movl $0x534c4146, 0xf499(%rip) # imm = 0x534C4146
movw $0x45, 0xf494(%rip)     # 0x233f4
cmpl $0x0, (%r13)
je 0x13faa
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x13faa
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xbf, 0xc(%rax)
leaq 0x91bc(%rip), %rdi      # 0x1d151
leaq 0x9f68(%rip), %rsi      # 0x1df04
leaq 0xf44d(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
movl $0x534c4146, %eax       # imm = 0x534C4146
xorl 0xf43b(%rip), %eax      # 0x233f0
movzwl 0xf438(%rip), %ecx      # 0x233f4
xorl $0x45, %ecx
orl %eax, %ecx
jne 0x1457e
leaq 0x9f00(%rip), %rdi      # 0x1dece
callq 0x1707c
leaq 0xf416(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %rax, %rdx
callq 0x13bb9
cmpl $0x0, (%r13)
je 0x14031
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x14031
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc1, 0xc(%rax)
leaq 0x9135(%rip), %rdi      # 0x1d151
leaq 0x91a9(%rip), %rsi      # 0x1d1cc
leaq 0xf3c6(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
movl $0x55525423, %eax       # imm = 0x55525423
xorl 0xf3b4(%rip), %eax      # 0x233f0
movzwl 0xf3b1(%rip), %ecx      # 0x233f4
xorl $0x45, %ecx
orl %eax, %ecx
jne 0x1459d
leaq 0x919a(%rip), %rdi      # 0x1d1ef
callq 0x1707c
leaq 0xf38f(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %rax, %rdx
callq 0x13bb9
cmpl $0x0, (%r13)
je 0x140b8
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x140b8
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc3, 0xc(%rax)
leaq 0x90ae(%rip), %rdi      # 0x1d151
leaq 0x914a(%rip), %rsi      # 0x1d1f4
leaq 0xf33f(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
movabsq $0x22792c78232223, %rax # imm = 0x22792C78232223
cmpq %rax, 0xf327(%rip)      # 0x233f0
jne 0x145bc
leaq 0xf31a(%rip), %rdi      # 0x233f0
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x2110
cmpq $0x3, %r14
je 0x14101
leaq 0xf301(%rip), %rdi      # 0x233f0
leaq 0x95fa(%rip), %rsi      # 0x1d6f0
xorl %edx, %edx
xorl %eax, %eax
callq 0x2220
jmp 0x1410b
movl $0x4c494e, 0xf2e5(%rip) # imm = 0x4C494E
cmpl $0x0, (%r13)
je 0x14155
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x14155
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc5, 0xc(%rax)
leaq 0x9011(%rip), %rdi      # 0x1d151
leaq 0x9a32(%rip), %rsi      # 0x1db79
leaq 0xf2a2(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
cmpw $0x30, 0xf293(%rip)     # 0x233f0
jne 0x145db
leaq 0xf286(%rip), %rdi      # 0x233f0
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x2110
cmpq $0x7, %r14
je 0x14198
leaq 0xf26d(%rip), %rdi      # 0x233f0
leaq 0x9566(%rip), %rsi      # 0x1d6f0
movl $0x1, %edx
xorl %eax, %eax
callq 0x2220
jmp 0x141a2
movl $0x4c494e, 0xf24e(%rip) # imm = 0x4C494E
cmpl $0x0, (%r13)
je 0x141ec
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x141ec
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc7, 0xc(%rax)
leaq 0x8f7a(%rip), %rdi      # 0x1d151
leaq 0x9c81(%rip), %rsi      # 0x1de5f
leaq 0xf20b(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
cmpw $0x31, 0xf1fc(%rip)     # 0x233f0
jne 0x145fa
leaq 0xf1ef(%rip), %r14      # 0x233f0
movl $0x400, %edx            # imm = 0x400
movq %r14, %rdi
xorl %esi, %esi
callq 0x2110
leaq 0x94d9(%rip), %rsi      # 0x1d6f0
movq %r14, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %eax, %eax
callq 0x2220
cmpl $0x0, (%r13)
je 0x14270
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x14270
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc9, 0xc(%rax)
leaq 0x8ef6(%rip), %rdi      # 0x1d151
leaq 0x8fed(%rip), %rsi      # 0x1d24f
leaq 0xf187(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
movl $0x312d, %eax           # imm = 0x312D
xorl 0xf175(%rip), %eax      # 0x233f0
movzbl 0xf170(%rip), %ecx      # 0x233f2
orw %ax, %cx
jne 0x14619
leaq -0x4dd(%rip), %rdx      # 0x13db5
leaq 0x3(,%rdx,4), %r14
leaq 0x944f(%rip), %rsi      # 0x1d6f0
leaq 0x30(%rsp), %rdi
xorl %eax, %eax
callq 0x2220
leaq 0xf13c(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %r14, %rdx
callq 0x13bb9
cmpl $0x0, (%r13)
je 0x14309
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x14309
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xd1, 0xc(%rax)
leaq 0x8e5b(%rip), %rdi      # 0x1d151
leaq 0xf0f3(%rip), %rdx      # 0x233f0
leaq 0x30(%rsp), %rsi
xorl %eax, %eax
callq 0x1b983
leaq 0xf0e0(%rip), %rsi      # 0x233f0
leaq 0x30(%rsp), %rdi
callq 0x2170
testl %eax, %eax
jne 0x14638
leaq -0x25e5(%rip), %r14     # 0x11d44
leaq 0xef70(%rip), %rdx      # 0x232a0
xorl %edi, %edi
movq %r14, %rsi
callq 0x1283a
movq %rax, %r15
leaq 0x8f44(%rip), %rsi      # 0x1d288
leaq 0x30(%rsp), %rdi
movq %rax, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x2220
leaq 0xf093(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %r15, %rdx
callq 0x13bb9
cmpl $0x0, (%r13)
je 0x143b2
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x143b2
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xd5, 0xc(%rax)
leaq 0x8db2(%rip), %rdi      # 0x1d151
leaq 0xf04a(%rip), %rdx      # 0x233f0
leaq 0x30(%rsp), %rsi
xorl %eax, %eax
callq 0x1b983
leaq 0xf037(%rip), %rsi      # 0x233f0
leaq 0x30(%rsp), %rdi
callq 0x2170
testl %eax, %eax
jne 0x14657
leaq 0xeece(%rip), %rsi      # 0x232a0
movl $0x3, %edi
callq 0x19b84
leaq 0xf00d(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %rax, %rdx
callq 0x13bb9
cmpl $0x0, (%r13)
je 0x1443a
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x1443a
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xdb, 0xc(%rax)
leaq 0x8d2c(%rip), %rdi      # 0x1d151
leaq 0x8e6c(%rip), %rsi      # 0x1d298
leaq 0xefbd(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
movabsq $0x294c494e202c3028, %rax # imm = 0x294C494E202C3028
xorq 0xefa5(%rip), %rax      # 0x233f0
movzbl 0xefa6(%rip), %ecx      # 0x233f8
orq %rax, %rcx
jne 0x14676
leaq 0x98c4(%rip), %rdi      # 0x1dd26
callq 0x1707c
movl $0x3, %esi
movq %rax, %rdi
callq 0x19b84
leaq 0xee25(%rip), %rsi      # 0x232a0
movq %rax, %rdi
callq 0x19b84
xorl %edi, %edi
movq %rax, %rsi
callq 0x19b84
leaq 0xef5c(%rip), %rsi      # 0x233f0
movl $0x3, %edi
movq %rax, %rdx
callq 0x13bb9
cmpl $0x0, (%r13)
je 0x144eb
movq (%r12), %rax
movq 0x50(%rax), %rax
movq %rbx, 0x10(%rax)
movq %rbx, %rdi
callq 0x1b084
testl %eax, %eax
je 0x144eb
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xe7, 0xc(%rax)
leaq 0x8c7b(%rip), %rdi      # 0x1d151
leaq 0x8de4(%rip), %rsi      # 0x1d2c1
leaq 0xef0c(%rip), %rdx      # 0x233f0
xorl %eax, %eax
callq 0x1b983
movdqa 0xeefd(%rip), %xmm0     # 0x233f0
movdqu 0xeefb(%rip), %xmm1     # 0x233f6
pcmpeqb 0x8c0d(%rip), %xmm1     # 0x1d110
pcmpeqb 0x8c15(%rip), %xmm0     # 0x1d120
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x14695
leaq 0x8(%rsp), %rdi
movl $0xe9, 0xc(%rdi)
callq 0x1ba97
addq $0x130, %rsp            # imm = 0x130
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x8c12(%rip), %rdi      # 0x1d159
leaq 0x8c26(%rip), %rsi      # 0x1d174
leaq 0x8c26(%rip), %rcx      # 0x1d17b
movl $0xbb, %edx
callq 0x2100
leaq 0x8c2d(%rip), %rdi      # 0x1d193
leaq 0x8c07(%rip), %rsi      # 0x1d174
leaq 0x8c07(%rip), %rcx      # 0x1d17b
movl $0xbd, %edx
callq 0x2100
leaq 0x8c2a(%rip), %rdi      # 0x1d1af
leaq 0x8be8(%rip), %rsi      # 0x1d174
leaq 0x8be8(%rip), %rcx      # 0x1d17b
movl $0xbf, %edx
callq 0x2100
leaq 0x8c2e(%rip), %rdi      # 0x1d1d2
leaq 0x8bc9(%rip), %rsi      # 0x1d174
leaq 0x8bc9(%rip), %rcx      # 0x1d17b
movl $0xc1, %edx
callq 0x2100
leaq 0x8c39(%rip), %rdi      # 0x1d1fc
leaq 0x8baa(%rip), %rsi      # 0x1d174
leaq 0x8baa(%rip), %rcx      # 0x1d17b
movl $0xc3, %edx
callq 0x2100
leaq 0x8c3b(%rip), %rdi      # 0x1d21d
leaq 0x8b8b(%rip), %rsi      # 0x1d174
leaq 0x8b8b(%rip), %rcx      # 0x1d17b
movl $0xc5, %edx
callq 0x2100
leaq 0x8c35(%rip), %rdi      # 0x1d236
leaq 0x8b6c(%rip), %rsi      # 0x1d174
leaq 0x8b6c(%rip), %rcx      # 0x1d17b
movl $0xc7, %edx
callq 0x2100
leaq 0x8c32(%rip), %rdi      # 0x1d252
leaq 0x8b4d(%rip), %rsi      # 0x1d174
leaq 0x8b4d(%rip), %rcx      # 0x1d17b
movl $0xc9, %edx
callq 0x2100
leaq 0x8c2d(%rip), %rdi      # 0x1d26c
leaq 0x8b2e(%rip), %rsi      # 0x1d174
leaq 0x8b2e(%rip), %rcx      # 0x1d17b
movl $0xd1, %edx
callq 0x2100
leaq 0x8c0e(%rip), %rdi      # 0x1d26c
leaq 0x8b0f(%rip), %rsi      # 0x1d174
leaq 0x8b0f(%rip), %rcx      # 0x1d17b
movl $0xd5, %edx
callq 0x2100
leaq 0x8c24(%rip), %rdi      # 0x1d2a1
leaq 0x8af0(%rip), %rsi      # 0x1d174
leaq 0x8af0(%rip), %rcx      # 0x1d17b
movl $0xdb, %edx
callq 0x2100
leaq 0x8c3b(%rip), %rdi      # 0x1d2d7
leaq 0x8ad1(%rip), %rsi      # 0x1d174
leaq 0x8ad1(%rip), %rcx      # 0x1d17b
movl $0xe7, %edx
callq 0x2100