// File: /workspace/github_cpp_makefile_star2_O3/yanlinlin82[P]jsonxx/demo.new.cpp
// Function: test_json_node_values()
void test_json_node_values()
{
	json j1(true);  std::cout << "[TEST:43] j1.as_boolean() = " << j1.as_boolean() << " // expected: 1" << std::endl;
	json j2(false); std::cout << "[TEST:44] j2.as_boolean() = " << j2.as_boolean() << " // expected: 0" << std::endl;

	json j3(123);  std::cout << "[TEST:46] j3.as_number() = " << j3.as_number() << " // expected: 123" << std::endl;
	json j4(3.14); std::cout << "[TEST:47] j4.as_number<float>() = " << j4.as_number<float>() << " // expected: 3.14" << std::endl;

	json j5("hello"); std::cout << "[TEST:49] j5.as_string() = " << j5.as_string() << " // expected: hello" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
leaq -0xb0(%rbp), %rdi
movl $0x1, -0x8(%rdi)
leaq -0xa0(%rbp), %r12
movq %r12, -0x10(%r12)
movq 0xff80(%rip), %rsi      # 0x14228
movq 0xff81(%rip), %rdx      # 0x14230
addq %rsi, %rdx
callq 0xa9d8
xorl %eax, %eax
movq %rax, 0x20(%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r12)
leaq -0x70(%rbp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
movq 0xfcf0(%rip), %rdi      # 0x13fd8
leaq 0xb0fa(%rip), %rsi      # 0xf3e9
movl $0x1c, %edx
callq 0x2270
cmpl $0x1, -0xb8(%rbp)
jne 0x4737
xorl %esi, %esi
cmpq $0x0, -0xa8(%rbp)
setne %sil
movq 0xfcbd(%rip), %rdi      # 0x13fd8
callq 0x2340
movq %rax, %rbx
leaq 0xb0dc(%rip), %rsi      # 0xf406
movl $0xf, %edx
movq %rax, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x180(%rbp), %r13
movl $0x1, -0x18(%r13)
movq %r13, -0x10(%r13)
xorl %eax, %eax
movq %rax, -0x8(%r13)
movb $0x0, (%r13)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r13)
movq %rax, 0x20(%r13)
leaq -0x150(%rbp), %rcx
movl $0x0, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
movq 0xfc2c(%rip), %rdi      # 0x13fd8
leaq 0xb063(%rip), %rsi      # 0xf416
movl $0x1c, %edx
callq 0x2270
cmpl $0x1, -0x198(%rbp)
jne 0x4737
xorl %esi, %esi
cmpq $0x0, -0x188(%rbp)
setne %sil
movq 0xfbf9(%rip), %rdi      # 0x13fd8
callq 0x2340
movq %rax, %rbx
leaq 0xad1b(%rip), %rsi      # 0xf109
movl $0xf, %edx
movq %rax, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x278(%rbp), %rdi
movl $0x7b, %esi
callq 0x8890
movq 0xfb9e(%rip), %rdi      # 0x13fd8
leaq 0xaff2(%rip), %rsi      # 0xf433
movl $0x1b, %edx
callq 0x2270
leaq -0x278(%rbp), %rdi
callq 0x8fe2
movq 0xfb7a(%rip), %rdi      # 0x13fd8
movl %eax, %esi
callq 0x2360
movq %rax, %rbx
leaq 0xacba(%rip), %rsi      # 0xf129
movl $0x11, %edx
movq %rax, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x208(%rbp), %rdi
movsd 0xab5e(%rip), %xmm0     # 0xf010
callq 0x8b04
movq 0xfb1a(%rip), %rdi      # 0x13fd8
leaq 0xaf8a(%rip), %rsi      # 0xf44f
movl $0x22, %edx
callq 0x2270
leaq -0x208(%rbp), %rdi
callq 0x9092
cvtss2sd %xmm0, %xmm0
movq 0xfaf2(%rip), %rdi      # 0x13fd8
callq 0x2320
movq %rax, %rbx
leaq 0xaf7d(%rip), %rsi      # 0xf472
movl $0x12, %edx
movq %rax, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x120(%rbp), %rdi
movl $0x3, -0x8(%rdi)
leaq -0x110(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xaf66(%rip), %rsi      # 0xf4af
leaq 0xaf64(%rip), %rdx      # 0xf4b4
callq 0xdf96
xorps %xmm0, %xmm0
leaq -0xe0(%rbp), %rax
movups %xmm0, -0x20(%rax)
xorl %ecx, %ecx
movq %rcx, -0x10(%rax)
movl $0x0, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
movq 0xfa52(%rip), %rdi      # 0x13fd8
leaq 0xaef8(%rip), %rsi      # 0xf485
movl $0x1b, %edx
callq 0x2270
leaq -0x48(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x914c
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq 0xfa22(%rip), %rdi      # 0x13fd8
callq 0x2270
movq %rax, %rbx
leaq 0xaedc(%rip), %rsi      # 0xf4a1
movl $0x13, %edx
movq %rax, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x100(%rbp), %rbx
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4619
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2220
leaq -0xe8(%rbp), %r14
movq %r14, %rdi
callq 0xb8d2
movq %rbx, %rdi
callq 0xabb6
movq -0x38(%r14), %rdi
cmpq %r15, %rdi
je 0x4648
movq -0x110(%rbp), %rsi
incq %rsi
callq 0x2220
leaq -0x1c8(%rbp), %rdi
callq 0xb8d2
leaq -0x1e0(%rbp), %rbx
movq %rbx, %rdi
callq 0xabb6
movq -0x20(%rbx), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x4682
movq -0x1f0(%rbp), %rsi
incq %rsi
callq 0x2220
leaq -0x170(%rbp), %rbx
leaq -0x238(%rbp), %rdi
callq 0xb8d2
leaq -0x250(%rbp), %r14
movq %r14, %rdi
callq 0xabb6
movq -0x20(%r14), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0x46c3
movq -0x260(%rbp), %rsi
incq %rsi
callq 0x2220
leaq -0x90(%rbp), %r14
leaq -0x158(%rbp), %r15
movq %r15, %rdi
callq 0xb8d2
movq %rbx, %rdi
callq 0xabb6
movq -0x38(%r15), %rdi
cmpq %r13, %rdi
je 0x46f9
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x2220
leaq -0x78(%rbp), %rbx
movq %rbx, %rdi
callq 0xb8d2
movq %r14, %rdi
callq 0xabb6
movq -0x38(%rbx), %rdi
cmpq %r12, %rdi
je 0x4725
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x2220
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb435(%rip), %rdi      # 0xfb73
leaq 0xb2f7(%rip), %rsi      # 0xfa3c
leaq 0xb43e(%rip), %rcx      # 0xfb8a
movl $0x3f, %edx
callq 0x2130
jmp 0x4758
movq %rax, %rbx
jmp 0x477f
jmp 0x4797
jmp 0x47a8
jmp 0x478d
movq %rax, %rbx
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x477f
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2220
leaq -0x128(%rbp), %rdi
callq 0x8fa2
jmp 0x479a
movq %rax, %rbx
jmp 0x47b7
movq %rax, %rbx
jmp 0x47c3
movq %rax, %rbx
leaq -0x208(%rbp), %rdi
callq 0x8fa2
jmp 0x47ab
movq %rax, %rbx
leaq -0x278(%rbp), %rdi
callq 0x8fa2
leaq -0x198(%rbp), %rdi
callq 0x8fa2
leaq -0xb8(%rbp), %rdi
callq 0x8fa2
movq %rbx, %rdi
callq 0x2370