// File: /workspace/github_cpp_makefile_star2_O2/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 $0x208, %rsp            # imm = 0x208
xorl %edi, %edi
callq 0x21a0
movl %eax, %edi
callq 0x21c0
leaq 0xb4f3(%rip), %rsi      # 0xe22f
leaq 0x1e8(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0x2090
leaq 0x1e8(%rsp), %rdi
callq 0x243c
leaq 0x1e8(%rsp), %rdi
callq 0x20c0
leaq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x6b78
movq %rbx, %rdi
callq 0x6b98
leaq 0xb4b0(%rip), %rsi      # 0xe234
leaq 0x1c8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x2090
leaq 0x1c8(%rsp), %rdi
callq 0x257e
leaq 0x1c8(%rsp), %rdi
callq 0x20c0
pushq $0x5
popq %rbp
leaq 0x18(%rsp), %rbx
leaq 0x8(%rsp), %r14
subl $0x1, %ebp
jb 0x2de0
callq 0x2060
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6cbc
movq %rbx, %rdi
callq 0x6b98
jmp 0x2dbd
leaq 0xb45e(%rip), %rsi      # 0xe245
leaq 0x1a8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x2090
leaq 0x1a8(%rsp), %rdi
callq 0x257e
leaq 0x1a8(%rsp), %rdi
callq 0x20c0
pushq $0x5
popq %rbp
leaq 0x18(%rsp), %rbx
leaq 0x8(%rsp), %r14
subl $0x1, %ebp
jb 0x2e43
callq 0x2060
movl %eax, 0x8(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6cf4
movq %rbx, %rdi
callq 0x6b98
jmp 0x2e20
leaq 0xb40d(%rip), %rsi      # 0xe257
leaq 0x188(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x2090
leaq 0x188(%rsp), %rdi
callq 0x257e
leaq 0x188(%rsp), %rdi
callq 0x20c0
pushq $0x2
popq %rbp
leaq 0x18(%rsp), %rbx
subl $0x1, %ebp
jb 0x2e95
movq %rbx, %rdi
callq 0x6d2c
movq %rbx, %rdi
callq 0x6b98
jmp 0x2e7e
leaq 0xb3cb(%rip), %rsi      # 0xe267
leaq 0x168(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x2090
leaq 0x168(%rsp), %rdi
callq 0x257e
leaq 0x168(%rsp), %rdi
callq 0x20c0
pushq $0x2
popq %rbp
leaq 0x18(%rsp), %rbx
subl $0x1, %ebp
jb 0x2ee7
movq %rbx, %rdi
callq 0x6d68
movq %rbx, %rdi
callq 0x6b98
jmp 0x2ed0
leaq 0xb38a(%rip), %rsi      # 0xe278
leaq 0x148(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x2090
leaq 0x148(%rsp), %rdi
callq 0x257e
leaq 0x148(%rsp), %rdi
callq 0x20c0
pushq $0x4
popq %r12
movq 0x120b3(%rip), %rbx     # 0x14fd8
leaq 0x18(%rsp), %r13
leaq 0x60(%rsp), %rbp
subl $0x1, %r12d
jb 0x2ff1
callq 0x2060
cltd
pushq $0x5
popq %rcx
idivl %ecx
movl %edx, %r15d
movq %rbx, %rdi
leaq 0xb1d2(%rip), %rsi      # 0xe123
callq 0x21d0
movl %r15d, %r14d
negl %r14d
movq %rax, %rdi
movl %r14d, %esi
callq 0x22c0
movq %rax, %rdi
leaq 0xb202(%rip), %rsi      # 0xe173
callq 0x21d0
movq %rax, %rdi
movl %r15d, %esi
callq 0x22c0
leaq 0x38(%rsp), %rdi
movq %r13, %rsi
callq 0x6df4
movq 0x38(%rsp), %rax
movq %rax, 0x60(%rsp)
movq %rbp, %rdi
movl %r15d, %esi
callq 0x89a4
movl %r14d, 0x28(%rsp)
leaq 0x8(%rsp), %rdi
movq %r13, %rsi
movq %rbp, %rdx
leaq 0x28(%rsp), %rcx
callq 0x6d9e
movq %rbx, %rdi
leaq 0xb2bf(%rip), %rsi      # 0xe286
callq 0x21d0
movq 0x8(%rsp), %rcx
movl 0x10(%rcx), %esi
movq %rax, %rdi
callq 0x22c0
movq %rax, %rdi
callq 0x20d0
movq %r13, %rdi
callq 0x6b98
jmp 0x2f2f
leaq 0xb2c2(%rip), %rsi      # 0xe2ba
leaq 0x128(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x2090
leaq 0x128(%rsp), %rdi
callq 0x257e
leaq 0x128(%rsp), %rdi
callq 0x20c0
pushq $0x4
popq %rbp
movq 0x11faa(%rip), %rbx     # 0x14fd8
leaq 0x18(%rsp), %r12
leaq 0x58(%rsp), %r13
leaq 0xb13f(%rip), %r14      # 0xe17e
subl $0x1, %ebp
jb 0x30d2
callq 0x2060
cltd
pushq $0x5
popq %rcx
idivl %ecx
movl %edx, %r15d
movq %rbx, %rdi
leaq 0xb10e(%rip), %rsi      # 0xe16e
callq 0x21d0
movq %rax, %rdi
movl %r15d, %esi
callq 0x22c0
leaq 0x38(%rsp), %rdi
movq %r12, %rsi
callq 0x6df4
movq 0x38(%rsp), %rax
movq %rax, 0x58(%rsp)
movq %r13, %rdi
movl %r15d, %esi
callq 0x89a4
leaq 0x8(%rsp), %rdi
movq %r12, %rsi
movq %r13, %rdx
callq 0x6e1c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x21d0
movq 0x8(%rsp), %rcx
movl 0x10(%rcx), %esi
movq %rax, %rdi
callq 0x22c0
movq %rax, %rdi
callq 0x20d0
movq %r12, %rdi
callq 0x6b98
jmp 0x303f
leaq 0xb1ee(%rip), %rsi      # 0xe2c7
leaq 0x108(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x2090
leaq 0x108(%rsp), %rdi
callq 0x257e
leaq 0x108(%rsp), %rdi
callq 0x20c0
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x6e58
leaq 0x8(%rsp), %rdi
callq 0x6b98
leaq 0xb1ba(%rip), %rsi      # 0xe2df
leaq 0xe8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x2090
leaq 0xe8(%rsp), %rdi
callq 0x257e
leaq 0xe8(%rsp), %rdi
callq 0x20c0
movq 0x8(%rsp), %rax
leaq 0x38(%rsp), %rdi
movq %rax, (%rdi)
movl 0x10(%rsp), %eax
movl %eax, 0x8(%rdi)
andl $0x0, 0x10(%rsp)
callq 0x6b98
leaq 0xb181(%rip), %rsi      # 0xe2f7
leaq 0xc8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x2090
leaq 0xc8(%rsp), %rdi
callq 0x257e
leaq 0xc8(%rsp), %rdi
callq 0x20c0
leaq 0x28(%rsp), %rdi
callq 0x6b78
leaq 0x28(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x6f1a
leaq 0x28(%rsp), %rdi
callq 0x6b98
leaq 0xb14b(%rip), %rsi      # 0xe317
leaq 0xa8(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x2090
leaq 0xa8(%rsp), %rdi
callq 0x257e
leaq 0xa8(%rsp), %rdi
callq 0x20c0
leaq 0x48(%rsp), %rdi
callq 0x6b78
movq 0x28(%rsp), %rax
leaq 0x48(%rsp), %rdi
movq %rax, (%rdi)
movl 0x30(%rsp), %eax
movl %eax, 0x8(%rdi)
andl $0x0, 0x30(%rsp)
callq 0x6b98
leaq 0xb110(%rip), %rsi      # 0xe337
leaq 0x88(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x2090
leaq 0x88(%rsp), %rdi
callq 0x257e
leaq 0x88(%rsp), %rdi
callq 0x20c0
leaq 0x18(%rsp), %rdi
callq 0x6fe8
leaq 0x18(%rsp), %rdi
callq 0x6b98
leaq 0xafc1(%rip), %rsi      # 0xe22f
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x2090
leaq 0x68(%rsp), %rdi
callq 0x2542
leaq 0x68(%rsp), %rdi
callq 0x20c0
callq 0x25a2
leaq 0x48(%rsp), %rdi
callq 0x7066
leaq 0x28(%rsp), %rdi
callq 0x7066
leaq 0x38(%rsp), %rdi
callq 0x7066
leaq 0x8(%rsp), %rdi
callq 0x7066
leaq 0x18(%rsp), %rdi
callq 0x7066
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
jmp 0x32f4
jmp 0x3402
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x20c0
jmp 0x3405
jmp 0x3402
jmp 0x33fd
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0x20c0
jmp 0x340f
jmp 0x33fd
jmp 0x333b
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0x20c0
jmp 0x3419
jmp 0x333b
movq %rax, %rbx
jmp 0x3419
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0x20c0
jmp 0x3423
jmp 0x335a
movq %rax, %rbx
jmp 0x3423
jmp 0x3447
movq %rax, %rbx
leaq 0x108(%rsp), %rdi
jmp 0x33db
jmp 0x3447
movq %rax, %rbx
leaq 0x128(%rsp), %rdi
jmp 0x33db
jmp 0x3447
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
jmp 0x33db
jmp 0x3447
movq %rax, %rbx
leaq 0x168(%rsp), %rdi
jmp 0x33db
jmp 0x3447
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
jmp 0x33db
jmp 0x3447
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
jmp 0x33db
jmp 0x3447
movq %rax, %rbx
leaq 0x1c8(%rsp), %rdi
callq 0x20c0
jmp 0x344a
jmp 0x3447
jmp 0x3447
movq %rax, %rbx
leaq 0x1e8(%rsp), %rdi
callq 0x20c0
jmp 0x3454
movq %rax, %rbx
jmp 0x3454
movq %rax, %rbx
jmp 0x340f
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x7066
leaq 0x28(%rsp), %rdi
callq 0x7066
leaq 0x38(%rsp), %rdi
callq 0x7066
leaq 0x8(%rsp), %rdi
callq 0x7066
jmp 0x344a
jmp 0x3447
jmp 0x3447
jmp 0x3447
jmp 0x3447
jmp 0x3447
jmp 0x3447
jmp 0x3447
jmp 0x3447
jmp 0x3447
jmp 0x3447
jmp 0x3447
jmp 0x3447
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x7066
movq %rbx, %rdi
callq 0x22d0