// File: /workspace/github_cpp_makefile_star2_O1/cjc12[P]ezSTL/src/../include/test.h
// Function: ezSTL::test::test_list()
void test::test_list() {
		srand((unsigned int)time(NULL));
		start_info("list");
		list<int> l;
		print_list(l);
		test_info("list   push_back");
		for (int i = 0; i < 5; ++i) {
			l.push_back(rand());
			print_list(l);
		}
		test_info("list   push_front");
		for (int i = 0; i < 5; ++i) {
			l.push_front(rand());
			print_list(l);
		}
		test_info("list   pop_back");
		for (int i = 0; i < 2; ++i) {
			l.pop_back();
			print_list(l);
		}
		test_info("list   pop_front");
		for (int i = 0; i < 2; ++i) {
			l.pop_front();
			print_list(l);
		}
		test_info("list   insert");
		for (int i = 0; i < 4; ++i) {
			int randn = rand() % 5;
			std::cout << "insert number " << -randn << " in index:" << randn;
			auto res_ite = l.insert(l.begin() + randn, -randn);
			std::cout << "  ;  inserted number(obtained by return iterator): " << *res_ite << std::endl;
			print_list(l);
		}
		test_info("list   erase");
		for (int i = 0; i < 4; ++i) {
			int randn = rand() % 5;
			std::cout << "erase in index:" << randn;
			auto res_ite = l.erase(l.begin() + randn);
			std::cout << "  ;  number obtained by return iterator: " << *res_ite << std::endl;
			print_list(l);
		}
		test_info("list   copy constructor");
		list<int> w(l);
		print_list(w);
		test_info("list   move constructor");
		list<int> u(ezSTL::move(w));
		print_list(u);
		test_info("list   copy assignment operator");
		list<int> x;
		x = l;
		print_list(x);
		test_info("list   move assignment operator");
		list<int> y;
		y = ezSTL::move(x);
		print_list(y);
		test_info("list   clear");
		l.clear();
		print_list(l);
		finish_info("list");
		continue_next_test();
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1f8, %rsp            # imm = 0x1F8
xorl %edi, %edi
callq 0x21b0
movl %eax, %edi
callq 0x21d0
leaq 0x1e8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcfb5(%rip), %rsi      # 0x1022f
leaq 0xcfb2(%rip), %rdx      # 0x10233
leaq 0x1d8(%rsp), %rbx
movq %rbx, %rdi
callq 0xa568
movq %rbx, %rdi
callq 0x246c
movq 0x1d8(%rsp), %rdi
cmpq %r14, %rdi
je 0x32ab
callq 0x21c0
xorl %ebp, %ebp
leaq 0x8(%rsp), %rbx
movl %ebp, 0x8(%rbx)
movl $0x18, %edi
callq 0x21f0
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movl %ebp, 0x10(%rax)
movq %rax, (%rbx)
movq %rax, (%rax)
movq %rax, 0x8(%rax)
movq %rbx, %rdi
callq 0x87c6
leaq 0x1c8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcf47(%rip), %rsi      # 0x10234
leaq 0xcf50(%rip), %rdx      # 0x10244
leaq 0x1b8(%rsp), %rdi
callq 0xa568
leaq 0x1b8(%rsp), %rdi
callq 0x270c
movq 0x1b8(%rsp), %rdi
cmpq %r14, %rdi
je 0x3320
callq 0x21c0
movl $0x5, %r14d
leaq 0x8(%rsp), %rbx
callq 0x2060
movl %eax, %ebp
movl $0x18, %edi
callq 0x21f0
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movl %ebp, 0x10(%rax)
movq 0x8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq (%rcx), %rdx
movq %rdx, (%rax)
movq (%rcx), %rdx
movq %rax, 0x8(%rdx)
movq %rax, (%rcx)
incl 0x10(%rsp)
movq %rbx, %rdi
callq 0x87c6
decl %r14d
jne 0x332b
leaq 0x1a8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcec3(%rip), %rsi      # 0x10245
leaq 0xcecd(%rip), %rdx      # 0x10256
leaq 0x198(%rsp), %rdi
callq 0xa568
leaq 0x198(%rsp), %rdi
callq 0x270c
movq 0x198(%rsp), %rdi
cmpq %r14, %rdi
je 0x33b5
callq 0x21c0
movl $0x5, %r14d
leaq 0x8(%rsp), %rbx
callq 0x2060
movl %eax, %ebp
movl $0x18, %edi
callq 0x21f0
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movl %ebp, 0x10(%rax)
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rax)
movq %rcx, (%rax)
movq 0x8(%rcx), %rdx
movq %rax, (%rdx)
movq %rax, 0x8(%rcx)
incl 0x10(%rsp)
movq %rbx, %rdi
callq 0x87c6
decl %r14d
jne 0x33c0
leaq 0x188(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xce3e(%rip), %rsi      # 0x10257
leaq 0xce46(%rip), %rdx      # 0x10266
leaq 0x178(%rsp), %rdi
callq 0xa568
leaq 0x178(%rsp), %rdi
callq 0x270c
movq 0x178(%rsp), %rdi
cmpq %r14, %rdi
je 0x344c
callq 0x21c0
movl $0x1, %ebp
leaq 0x8(%rsp), %rbx
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rcx
movq %rcx, (%rax)
movq (%rdi), %rcx
movq %rax, 0x8(%rcx)
callq 0x21c0
decl 0x10(%rsp)
movq %rbx, %rdi
callq 0x87c6
decl %ebp
je 0x3456
leaq 0x168(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcdd4(%rip), %rsi      # 0x10267
leaq 0xcddd(%rip), %rdx      # 0x10277
leaq 0x158(%rsp), %rdi
callq 0xa568
leaq 0x158(%rsp), %rdi
callq 0x270c
movq 0x158(%rsp), %rdi
cmpq %r14, %rdi
je 0x34c6
callq 0x21c0
movl $0x1, %ebp
leaq 0x8(%rsp), %rbx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x8(%rdi), %rcx
movq %rcx, 0x8(%rax)
movq 0x8(%rdi), %rcx
movq %rax, (%rcx)
callq 0x21c0
decl 0x10(%rsp)
movq %rbx, %rdi
callq 0x87c6
decl %ebp
je 0x34d0
leaq 0x148(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcd68(%rip), %rsi      # 0x10278
leaq 0xcd6e(%rip), %rdx      # 0x10285
leaq 0x138(%rsp), %rdi
callq 0xa568
leaq 0x138(%rsp), %rdi
callq 0x270c
movq 0x138(%rsp), %rdi
cmpq %r14, %rdi
je 0x3543
callq 0x21c0
xorl %r12d, %r12d
movq 0x12a8b(%rip), %rbx     # 0x15fd8
leaq 0x8(%rsp), %r13
callq 0x2060
movl %eax, %ebp
movl $0xe, %edx
movq %rbx, %rdi
leaq 0xcbbb(%rip), %rsi      # 0x10123
callq 0x2220
movslq %ebp, %r14
imulq $0x66666667, %r14, %rax # imm = 0x66666667
movq %rax, %rcx
shrq $0x3f, %rcx
sarq $0x21, %rax
addl %ecx, %eax
leal (%rax,%rax,4), %eax
subl %eax, %r14d
movl %r14d, %ebp
negl %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x22d0
movq %rax, %r15
movl $0xa, %edx
movq %rax, %rdi
leaq 0xcbc8(%rip), %rsi      # 0x10173
callq 0x2220
movq %r15, %rdi
movl %r14d, %esi
callq 0x22d0
movq 0x8(%rsp), %rax
movq 0x8(%rax), %r15
testl %r14d, %r14d
jns 0x35da
movq (%r15), %r15
incl %r14d
jne 0x35c9
jmp 0x35dc
movq 0x8(%r15), %r15
decl %r14d
jne 0x35d3
movl $0x18, %edi
callq 0x21f0
movq %rax, %r14
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movl %ebp, 0x10(%rax)
movq %r15, 0x8(%rax)
movq (%r15), %rax
movq %rax, (%r14)
movq (%r15), %rax
movq %r14, 0x8(%rax)
movq %r14, (%r15)
incl 0x10(%rsp)
movl $0x33, %edx
movq %rbx, %rdi
leaq 0xcc6d(%rip), %rsi      # 0x10286
callq 0x2220
movl 0x10(%r14), %esi
movq %rbx, %rdi
callq 0x22d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq %r13, %rdi
callq 0x87c6
incl %r12d
cmpl $0x4, %r12d
jne 0x3552
leaq 0x128(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcc3e(%rip), %rsi      # 0x102ba
leaq 0xcc43(%rip), %rdx      # 0x102c6
leaq 0x118(%rsp), %rdi
callq 0xa568
leaq 0x118(%rsp), %rdi
callq 0x270c
movq 0x118(%rsp), %rdi
cmpq %r14, %rdi
je 0x36af
callq 0x21c0
xorl %r14d, %r14d
movq 0x1291f(%rip), %rbx     # 0x15fd8
leaq 0xcabe(%rip), %r15      # 0x1017e
leaq 0x8(%rsp), %r12
callq 0x2060
movl %eax, %ebp
movl $0xf, %edx
movq %rbx, %rdi
leaq 0xca93(%rip), %rsi      # 0x1016e
callq 0x2220
movslq %ebp, %r13
imulq $0x66666667, %r13, %rax # imm = 0x66666667
movq %rax, %rcx
shrq $0x3f, %rcx
sarq $0x21, %rax
addl %ecx, %eax
leal (%rax,%rax,4), %eax
subl %eax, %r13d
movq %rbx, %rdi
movl %r13d, %esi
callq 0x22d0
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
testl %r13d, %r13d
js 0x3723
je 0x372b
movq 0x8(%rdi), %rdi
decl %r13d
jne 0x3718
jmp 0x372b
movq (%rdi), %rdi
incl %r13d
jne 0x3723
movq (%rdi), %r13
movq 0x8(%rdi), %rax
movq %rax, 0x8(%r13)
movq 0x8(%rdi), %rax
movq %r13, (%rax)
callq 0x21c0
decl 0x10(%rsp)
movl $0x29, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2220
movl 0x10(%r13), %esi
movq %rbx, %rdi
callq 0x22d0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq %r12, %rdi
callq 0x87c6
incl %r14d
cmpl $0x4, %r14d
jne 0x36c5
leaq 0x108(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcb13(%rip), %rsi      # 0x102c7
leaq 0xcb23(%rip), %rdx      # 0x102de
leaq 0xf8(%rsp), %rdi
callq 0xa568
leaq 0xf8(%rsp), %rdi
callq 0x270c
movq 0xf8(%rsp), %rdi
cmpq %r14, %rdi
je 0x37e7
callq 0x21c0
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x8932
leaq 0x28(%rsp), %rdi
callq 0x87c6
leaq 0xe8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xcacc(%rip), %rsi      # 0x102df
leaq 0xcadc(%rip), %rdx      # 0x102f6
leaq 0xd8(%rsp), %rdi
callq 0xa568
leaq 0xd8(%rsp), %rdi
callq 0x270c
movq 0xd8(%rsp), %rdi
cmpq %r14, %rdi
je 0x3846
callq 0x21c0
movq 0x28(%rsp), %rax
leaq 0x48(%rsp), %rdi
movq %rax, (%rdi)
movl 0x30(%rsp), %eax
movl %eax, 0x8(%rdi)
movl $0x0, 0x30(%rsp)
callq 0x87c6
leaq 0xc8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xca7d(%rip), %rsi      # 0x102f7
leaq 0xca95(%rip), %rdx      # 0x10316
leaq 0xb8(%rsp), %rdi
callq 0xa568
leaq 0xb8(%rsp), %rdi
callq 0x270c
movq 0xb8(%rsp), %rdi
cmpq %r14, %rdi
je 0x38ad
callq 0x21c0
movl $0x0, 0x20(%rsp)
movl $0x18, %edi
callq 0x21f0
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movl $0x0, 0x10(%rax)
leaq 0x18(%rsp), %rdi
movq %rax, (%rdi)
movq %rax, (%rax)
movq %rax, 0x8(%rax)
leaq 0x8(%rsp), %rsi
callq 0x89c6
leaq 0x18(%rsp), %rdi
callq 0x87c6
leaq 0xa8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xca15(%rip), %rsi      # 0x10317
leaq 0xca2d(%rip), %rdx      # 0x10336
leaq 0x98(%rsp), %rdi
callq 0xa568
leaq 0x98(%rsp), %rdi
callq 0x270c
movq 0x98(%rsp), %rdi
cmpq %r14, %rdi
je 0x3935
callq 0x21c0
movl $0x0, 0x40(%rsp)
movl $0x18, %edi
callq 0x21f0
xorl %ecx, %ecx
movl %ecx, 0x10(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
leaq 0x38(%rsp), %rdi
movq %rax, (%rdi)
movq %rax, (%rax)
movq %rax, 0x8(%rax)
movq 0x18(%rsp), %rax
movq %rax, (%rdi)
movl 0x20(%rsp), %eax
movl %eax, 0x8(%rdi)
movl %ecx, 0x20(%rsp)
callq 0x87c6
leaq 0x88(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc9ab(%rip), %rsi      # 0x10337
leaq 0xc9b0(%rip), %rdx      # 0x10343
leaq 0x78(%rsp), %rdi
callq 0xa568
leaq 0x78(%rsp), %rdi
callq 0x270c
movq 0x78(%rsp), %rdi
cmpq %r14, %rdi
je 0x39b6
callq 0x21c0
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
cmpq %rax, %rdi
je 0x39da
movq 0x8(%rdi), %rbx
callq 0x21c0
movq 0x8(%rsp), %rax
movq %rbx, %rdi
cmpq %rax, %rbx
jne 0x39c4
movq %rax, (%rax)
movq %rax, 0x8(%rax)
leaq 0x8(%rsp), %rdi
movl $0x0, 0x8(%rdi)
callq 0x87c6
leaq 0x68(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc82d(%rip), %rsi      # 0x1022f
leaq 0xc82a(%rip), %rdx      # 0x10233
leaq 0x58(%rsp), %rdi
callq 0xa568
leaq 0x58(%rsp), %rdi
callq 0x2656
movq 0x58(%rsp), %rdi
cmpq %r14, %rdi
je 0x3a2c
callq 0x21c0
callq 0x2782
leaq 0x38(%rsp), %rdi
callq 0x8aa0
leaq 0x18(%rsp), %rdi
callq 0x8aa0
leaq 0x48(%rsp), %rdi
callq 0x8aa0
leaq 0x28(%rsp), %rdi
callq 0x8aa0
leaq 0x8(%rsp), %rdi
callq 0x8aa0
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x58(%rsp), %rdi
jmp 0x3a8c
jmp 0x3bc3
movq %rax, %rbx
movq 0x78(%rsp), %rdi
cmpq %r14, %rdi
je 0x3bc6
callq 0x21c0
jmp 0x3bc6
jmp 0x3bc3
jmp 0x3bbe
movq %rax, %rbx
movq 0x98(%rsp), %rdi
cmpq %r14, %rdi
je 0x3bd0
callq 0x21c0
jmp 0x3bd0
jmp 0x3bbe
jmp 0x3aee
movq %rax, %rbx
movq 0xb8(%rsp), %rdi
cmpq %r14, %rdi
je 0x3bda
callq 0x21c0
jmp 0x3bda
jmp 0x3aee
movq %rax, %rbx
jmp 0x3bda
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
cmpq %r14, %rdi
je 0x3be4
callq 0x21c0
jmp 0x3be4
jmp 0x3b16
movq %rax, %rbx
jmp 0x3be4
jmp 0x3c04
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
jmp 0x3b97
jmp 0x3c04
movq %rax, %rbx
movq 0x118(%rsp), %rdi
jmp 0x3b97
jmp 0x3c04
movq %rax, %rbx
movq 0x138(%rsp), %rdi
jmp 0x3b97
jmp 0x3c04
movq %rax, %rbx
movq 0x158(%rsp), %rdi
jmp 0x3b97
jmp 0x3c04
movq %rax, %rbx
movq 0x178(%rsp), %rdi
jmp 0x3b97
jmp 0x3c04
movq %rax, %rbx
movq 0x198(%rsp), %rdi
jmp 0x3b97
jmp 0x3c04
movq %rax, %rbx
movq 0x1b8(%rsp), %rdi
cmpq %r14, %rdi
je 0x3c07
callq 0x21c0
jmp 0x3c07
jmp 0x3c04
jmp 0x3c04
movq %rax, %rbx
movq 0x1d8(%rsp), %rdi
cmpq %r14, %rdi
je 0x3c11
callq 0x21c0
jmp 0x3c11
movq %rax, %rbx
jmp 0x3bd0
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x8aa0
leaq 0x18(%rsp), %rdi
callq 0x8aa0
leaq 0x48(%rsp), %rdi
callq 0x8aa0
leaq 0x28(%rsp), %rdi
callq 0x8aa0
jmp 0x3c07
jmp 0x3c04
jmp 0x3c04
jmp 0x3c04
jmp 0x3c04
jmp 0x3c04
jmp 0x3c04
jmp 0x3c04
jmp 0x3c04
jmp 0x3c04
jmp 0x3c04
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x8aa0
movq %rbx, %rdi
callq 0x22e0
nop