// File: /workspace/github_cpp_makefile_star2_O3/cjc12[P]ezSTL/src/../include/test.h
// Function: ezSTL::test::test_set()
void test::test_set() {
		const int max_iteration = 10;
		srand((unsigned int)time(NULL));
		start_info("set");
		set<int> s;
		print_set(s);
		test_info("set   find and insert");
		for (int i = 0; i < max_iteration; ++i) {
			int number = rand() % 100;
			std::cout << "to insert " << number << " ; ";
			auto ite = s.find(number);
			if (ite == s.end()) std::cout << "not exists" << std::endl;
			else std::cout << "already exist : " << *ite << " (obtained by find iterator)" << std::endl;
			s.insert(number);
			print_set(s);
		}
		test_info("set   erase");
		for (int i = 0; i < max_iteration * 20; ++i) {
			int number = rand() % 100;
			auto ite = s.find(number);
			if (ite != s.end()) {
				std::cout << "to remove : " << number << std::endl;
				s.erase(ite);
				print_set(s);
			}
		}
		test_info("set   clear");
		s.clear();
		print_set(s);
		finish_info("set");
		continue_next_test();
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
xorl %edi, %edi
callq 0x21b0
movl %eax, %edi
callq 0x21d0
leaq 0xb8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xbfe8(%rip), %rsi      # 0x1067c
leaq 0xbfe4(%rip), %rdx      # 0x1067f
leaq 0xa8(%rsp), %rbx
movq %rbx, %rdi
callq 0xa4e2
movq %rbx, %rdi
callq 0x246c
movq 0xa8(%rsp), %rdi
cmpq %r14, %rdi
je 0x46c5
callq 0x21c0
leaq 0x10(%rsp), %rbx
movl $0x0, (%rbx)
movl $0x28, %edi
callq 0x21f0
movq %rax, 0x8(%rbx)
movb $0x0, (%rax)
movq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rbx, %rdi
callq 0x90f8
leaq 0x98(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xbd24(%rip), %rsi      # 0x10430
leaq 0xbd32(%rip), %rdx      # 0x10445
leaq 0x88(%rsp), %rdi
callq 0xa4e2
leaq 0x88(%rsp), %rdi
callq 0x2706
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x473f
callq 0x21c0
xorl %r14d, %r14d
movq 0x1188f(%rip), %r12     # 0x15fd8
leaq 0xbc78(%rip), %r15      # 0x103c8
leaq 0x10(%rsp), %r13
leaq 0x8(%rsp), %rbp
callq 0x2060
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
subl %ecx, %eax
movl %eax, 0x8(%rsp)
movl $0xa, %edx
movq %r12, %rdi
leaq 0xbc30(%rip), %rsi      # 0x103bd
callq 0x2220
movl 0x8(%rsp), %esi
movq %r12, %rdi
callq 0x22d0
movl $0x3, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2220
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rbx
testq %rbx, %rbx
je 0x47dc
movl 0x8(%rsp), %ecx
movl 0x20(%rbx), %esi
movl $0x10, %edx
cmpl %esi, %ecx
jl 0x47d3
movl $0x18, %edx
jle 0x483d
movq (%rbx,%rdx), %rbx
testq %rbx, %rbx
jne 0x47c0
movl $0xa, %edx
movq %r12, %rdi
leaq 0xbbe1(%rip), %rsi      # 0x103cc
callq 0x2220
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21e0
movq %r12, %rbx
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq %r13, %rdi
movq %rbp, %rsi
callq 0x8eca
movq %r13, %rdi
callq 0x90f8
incl %r14d
cmpl $0xa, %r14d
jne 0x475a
jmp 0x4891
cmpq %rax, %rbx
je 0x47dc
movl $0x10, %edx
movq %r12, %rdi
leaq 0xbb86(%rip), %rsi      # 0x103d7
callq 0x2220
movl 0x20(%rbx), %esi
movq %r12, %rdi
callq 0x22d0
movq %rax, %rbx
movl $0x1c, %edx
movq %rax, %rdi
leaq 0xbb75(%rip), %rsi      # 0x103e8
callq 0x2220
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
jmp 0x4808
leaq 0x78(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xbba5(%rip), %rsi      # 0x10446
leaq 0xbba9(%rip), %rdx      # 0x10451
leaq 0x68(%rsp), %rdi
callq 0xa4e2
leaq 0x68(%rsp), %rdi
callq 0x2706
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x48cb
callq 0x21c0
xorl %ebp, %ebp
movq 0x11704(%rip), %rbx     # 0x15fd8
leaq 0x10(%rsp), %r15
leaq 0x8(%rsp), %r12
callq 0x2060
movq 0x18(%rsp), %rcx
movq 0x8(%rcx), %r14
testq %r14, %r14
je 0x4998
movslq %eax, %r13
imulq $0x51eb851f, %r13, %rax # imm = 0x51EB851F
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rax
addl %edx, %eax
imull $0x64, %eax, %eax
subl %eax, %r13d
movl 0x20(%r14), %edx
movl $0x10, %eax
cmpl %edx, %r13d
jl 0x4927
movl $0x18, %eax
jle 0x4932
movq (%r14,%rax), %r14
testq %r14, %r14
jne 0x4912
jmp 0x4998
cmpq %rcx, %r14
je 0x4998
movl $0xc, %edx
movq %rbx, %rdi
leaq 0xbace(%rip), %rsi      # 0x10414
callq 0x2220
movq %rbx, %rdi
movl %r13d, %esi
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 %r14, 0x8(%rsp)
movq %r15, %rdi
movq %r12, %rsi
callq 0x8fba
movq %r15, %rdi
callq 0x90f8
incl %ebp
cmpl $0xc8, %ebp
jne 0x48de
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xba9c(%rip), %rsi      # 0x10452
leaq 0xbaa0(%rip), %rdx      # 0x1045d
leaq 0x48(%rsp), %rdi
callq 0xa4e2
leaq 0x48(%rsp), %rdi
callq 0x2706
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x49e0
callq 0x21c0
leaq 0x10(%rsp), %rdi
callq 0x90c4
leaq 0x10(%rsp), %rdi
callq 0x90f8
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xbc78(%rip), %rsi      # 0x1067c
leaq 0xbc74(%rip), %rdx      # 0x1067f
leaq 0x28(%rsp), %rdi
callq 0xa4e2
leaq 0x28(%rsp), %rdi
callq 0x2650
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x4a2e
callq 0x21c0
callq 0x277c
leaq 0x10(%rsp), %rdi
callq 0x90c4
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4ac0
movq %rax, %rbx
movq 0x28(%rsp), %rdi
jmp 0x4a80
jmp 0x4aab
movq %rax, %rbx
movq 0x48(%rsp), %rdi
jmp 0x4a80
jmp 0x4aab
movq %rax, %rbx
movq 0x68(%rsp), %rdi
jmp 0x4a80
jmp 0x4aab
movq %rax, %rbx
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x4aae
callq 0x21c0
jmp 0x4aae
jmp 0x4aab
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
cmpq %r14, %rdi
je 0x4ab8
callq 0x21c0
jmp 0x4ab8
jmp 0x4aab
jmp 0x4aab
jmp 0x4aab
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x90c4
movq %rbx, %rdi
callq 0x22e0
movq %rax, %rdi
callq 0xa290