LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_allocator.cpp
// Function: test_set_allocator_strings_custom_allocator()
void
test_set_allocator_strings_custom_allocator()
{
	ft::set<std::string, ft::less<std::string>, custom_allocator<std::string> > set;

	set.insert("hello");
	set.insert("world");
	set.insert("! :)");

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x50, %rsp
leaq -0x58(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x20(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x22ea6(%rip), %rsi     # 0x26087
leaq 0x22ea4(%rip), %rdx     # 0x2608c
leaq -0x30(%rbp), %rdi
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3840
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x320c
callq 0x21b0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x235d4(%rip), %rsi     # 0x267ee
leaq 0x235d2(%rip), %rdx     # 0x267f3
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3840
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3241
callq 0x21b0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x22e3e(%rip), %rsi     # 0x2608d
leaq 0x22e3b(%rip), %rdx     # 0x26091
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3840
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x3276
callq 0x21b0
leaq -0x60(%rbp), %rdi
callq 0x34d5
leaq -0x60(%rbp), %rdi
callq 0x36ae
addq $0x50, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x32ae
jmp 0x329b
jmp 0x32ae
jmp 0x329b
jmp 0x32ae
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x32b1
callq 0x21b0
jmp 0x32b1
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x36ae
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/utils/print_containers_info.hpp
// Function: void print_set_info<std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, custom_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>(std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, custom_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&)
void
print_set_info(Set const& set)
{
	std::cout << "Size: " << set.size() << std::endl;

	if (set.empty())
		std::cout << "Set is empty" << std::endl;
	else
	{
		std::cout << "Values: ";
		for (typename Set::const_iterator it = set.begin(); it != set.end(); it++)
			std::cout << *it << " ";
		std::cout << std::endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x30ae3(%rip), %rbx     # 0x33fd0
leaq 0x22bb7(%rip), %rsi     # 0x260ab
movl $0x6, %edx
movq %rbx, %rdi
callq 0x2230
movq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x2140
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
cmpq $0x0, 0x28(%r14)
je 0x35a3
movq 0x30a8b(%rip), %rdi     # 0x33fd0
leaq 0x22b73(%rip), %rsi     # 0x260bf
movl $0x8, %edx
callq 0x2230
movq 0x18(%r14), %r15
addq $0x8, %r14
cmpq %r14, %r15
je 0x35bb
movq 0x30a66(%rip), %r12     # 0x33fd0
leaq 0x23d99(%rip), %r13     # 0x2730a
movq 0x20(%r15), %rsi
movq 0x28(%r15), %rdx
movq %r12, %rdi
callq 0x2230
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2230
movq %r15, %rdi
callq 0x2240
movq %rax, %r15
cmpq %r14, %rax
jne 0x3571
jmp 0x35bb
movq 0x30a26(%rip), %rdi     # 0x33fd0
leaq 0x22b01(%rip), %rsi     # 0x260b2
movl $0xc, %edx
callq 0x2230
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2150
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_range()
void
test_set_constructors_range()
{
	ft::set<int> set;
	ft::set<int> range1(set.begin(), set.end());

	print_set_info(set);
	print_set_info(range1);

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(rand() % 10000 - 10000 / 2);

	ft::set<int> range2(set.begin(), set.end());

	print_set_info(set);
	print_set_info(range2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x90, %rsp
leaq -0x48(%rbp), %rbx
movl $0x0, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0xb0(%rbp), %rdi
movq %rbx, %rsi
movq %rbx, %rdx
callq 0x416c
leaq -0x50(%rbp), %rdi
callq 0x41b5
leaq -0xb0(%rbp), %rdi
callq 0x41b5
leaq 0x30755(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x64, %r12d
leaq -0x50(%rbp), %r14
leaq -0x80(%rbp), %r15
callq 0x2070
cltq
imulq $0x68db8bad, %rax, %rcx # imm = 0x68DB8BAD
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rcx
addl %edx, %ecx
imull $0x2710, %ecx, %ecx     # imm = 0x2710
negl %ecx
addl %ecx, %eax
addl $0xffffec78, %eax       # imm = 0xFFFFEC78
movl %eax, -0x80(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4e76
decl %r12d
jne 0x3aa0
movq -0x38(%rbp), %rsi
leaq -0x80(%rbp), %rdi
movq %rbx, %rdx
callq 0x416c
leaq -0x50(%rbp), %rdi
callq 0x41b5
leaq -0x80(%rbp), %rdi
callq 0x41b5
leaq -0x80(%rbp), %rdi
callq 0x35fe
leaq -0xb0(%rbp), %rdi
callq 0x35fe
leaq -0x50(%rbp), %rdi
callq 0x35fe
addq $0x90, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3b44
movq %rax, %rbx
jmp 0x3b53
movq %rax, %rbx
leaq -0x80(%rbp), %rdi
callq 0x35fe
jmp 0x3b47
jmp 0x3b44
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
callq 0x35fe
leaq -0x50(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_copy_int()
void
test_set_constructors_copy_int()
{
	ft::set<int> set;

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(rand() % 10000 - 10000 / 2);

	{
		ft::set<int> cpy1 = set;
		ft::set<int> cpy2(cpy1);

		print_set_info(set);
		print_set_info(cpy1);
		print_set_info(cpy2);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x98, %rsp
leaq -0x70(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq 0x30649(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x64, %r15d
leaq -0x78(%rbp), %rbx
leaq -0x48(%rbp), %r14
callq 0x2070
cltq
imulq $0x68db8bad, %rax, %rcx # imm = 0x68DB8BAD
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rcx
addl %edx, %ecx
imull $0x2710, %ecx, %ecx     # imm = 0x2710
negl %ecx
addl %ecx, %eax
addl $0xffffec78, %eax       # imm = 0xFFFFEC78
movl %eax, -0x48(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4e76
decl %r15d
jne 0x3bac
leaq -0x48(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x46b2
leaq -0xa8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x46b2
leaq -0x78(%rbp), %rdi
callq 0x41b5
leaq -0x48(%rbp), %rdi
callq 0x41b5
leaq -0xa8(%rbp), %rdi
callq 0x41b5
leaq -0xa8(%rbp), %rdi
callq 0x35fe
leaq -0x48(%rbp), %rdi
callq 0x35fe
leaq -0x78(%rbp), %rdi
callq 0x35fe
addq $0x98, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x3c66
jmp 0x3c71
movq %rax, %rbx
leaq -0xa8(%rbp), %rdi
callq 0x35fe
leaq -0x48(%rbp), %rdi
callq 0x35fe
jmp 0x3c74
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_copy_string()
void
test_set_constructors_copy_string()
{
	ft::set<std::string> set;

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(ft_itoa(rand() % 10000 - 10000 / 2));

	{
		ft::set<std::string> cpy1 = set;
		ft::set<std::string> cpy2(set);

		print_set_info(set);
		print_set_info(cpy1);
		print_set_info(cpy2);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x90, %rsp
leaq -0x78(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq 0x30526(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x64, %r12d
leaq -0x40(%rbp), %r15
leaq -0x50(%rbp), %rbx
leaq -0x80(%rbp), %r14
callq 0x2070
cltq
imulq $0x68db8bad, %rax, %rcx # imm = 0x68DB8BAD
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rcx
addl %edx, %ecx
imull $0x2710, %ecx, %ecx     # imm = 0x2710
negl %ecx
leal (%rax,%rcx), %esi
addl $0xffffec78, %esi       # imm = 0xFFFFEC78
movq %rbx, %rdi
callq 0x42cc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4f2e
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x3d20
callq 0x21b0
decl %r12d
jne 0x3cd3
leaq -0x50(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x4856
leaq -0xb0(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x4856
leaq -0x80(%rbp), %rdi
callq 0x4365
leaq -0x50(%rbp), %rdi
callq 0x4365
leaq -0xb0(%rbp), %rdi
callq 0x4365
leaq -0xb0(%rbp), %rdi
callq 0x4b5c
leaq -0x50(%rbp), %rdi
callq 0x4b5c
leaq -0x80(%rbp), %rdi
callq 0x4b5c
addq $0x90, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x3da4
jmp 0x3daf
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
callq 0x4b5c
leaq -0x50(%rbp), %rdi
callq 0x4b5c
jmp 0x3dc5
movq %rax, %rbx
jmp 0x3dc5
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x3dc5
callq 0x21b0
leaq -0x80(%rbp), %rdi
callq 0x4b5c
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_custom_compare_int()
void
test_set_constructors_custom_compare_int()
{
	ft::set<int, greater<int> > set;

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(rand() % 10000 - 10000 / 2);

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
leaq -0x48(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq 0x303da(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x64, %r15d
leaq -0x50(%rbp), %rbx
leaq -0x1c(%rbp), %r14
callq 0x2070
cltq
imulq $0x68db8bad, %rax, %rcx # imm = 0x68DB8BAD
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rcx
addl %edx, %ecx
imull $0x2710, %ecx, %ecx     # imm = 0x2710
negl %ecx
addl %ecx, %eax
addl $0xffffec78, %eax       # imm = 0xFFFFEC78
movl %eax, -0x1c(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x50e8
decl %r15d
jne 0x3e1b
leaq -0x50(%rbp), %rdi
callq 0x4480
leaq -0x50(%rbp), %rdi
callq 0x4b74
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3e77
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x4b74
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors_custom_compare_string()
void
test_set_constructors_custom_compare_string()
{
	ft::set<std::string, greater<std::string> > set;

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set.insert(ft_itoa(rand() % 10000 - 10000 / 2));

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x50, %rsp
leaq -0x68(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq 0x30323(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x64, %r12d
leaq -0x30(%rbp), %r15
leaq -0x40(%rbp), %rbx
leaq -0x70(%rbp), %r14
callq 0x2070
cltq
imulq $0x68db8bad, %rax, %rcx # imm = 0x68DB8BAD
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x2c, %rcx
addl %edx, %ecx
imull $0x2710, %ecx, %ecx     # imm = 0x2710
negl %ecx
leal (%rax,%rcx), %esi
addl $0xffffec78, %esi       # imm = 0xFFFFEC78
movq %rbx, %rdi
callq 0x42cc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x5210
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x3f23
callq 0x21b0
decl %r12d
jne 0x3ed6
leaq -0x70(%rbp), %rdi
callq 0x4597
leaq -0x70(%rbp), %rdi
callq 0x4bcc
addq $0x50, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3f49
movq %rax, %rbx
jmp 0x3f5f
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x3f5f
callq 0x21b0
leaq -0x70(%rbp), %rdi
callq 0x4bcc
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_constructors.cpp
// Function: test_set_constructors()
void
test_set_constructors()
{
	test_wrapper(test_set_constructors_empty, "empty");
	test_wrapper(test_set_constructors_range, "range");
	test_wrapper(test_set_constructors_copy_int, "copy int");
	test_wrapper(test_set_constructors_copy_string, "copy string");
	test_wrapper(test_set_constructors_custom_compare_int, "custom_compare_int");
	test_wrapper(test_set_constructors_custom_compare_string, "custom_compare_string");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0xc0, %rsp
leaq -0xc0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x22de1(%rip), %rsi     # 0x26d71
leaq 0x22ddf(%rip), %rdx     # 0x26d76
leaq -0xd0(%rbp), %rbx
movq %rbx, %rdi
callq 0x2f88
leaq -0x5b1(%rip), %rdi      # 0x39fc
movq %rbx, %rsi
callq 0x25e66
movq -0xd0(%rbp), %rdi
cmpq %r14, %rdi
je 0x3fc6
callq 0x21b0
leaq -0xa0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x2325c(%rip), %rsi     # 0x27234
leaq 0x2325a(%rip), %rdx     # 0x27239
leaq -0xb0(%rbp), %rbx
movq %rbx, %rdi
callq 0x2f88
leaq -0x5c6(%rip), %rdi      # 0x3a2f
movq %rbx, %rsi
callq 0x25e66
movq -0xb0(%rbp), %rdi
cmpq %r14, %rdi
je 0x400e
callq 0x21b0
leaq -0x80(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x220c3(%rip), %rsi     # 0x260e0
leaq 0x220c4(%rip), %rdx     # 0x260e8
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
callq 0x2f88
leaq -0x4d6(%rip), %rdi      # 0x3b64
movq %rbx, %rsi
callq 0x25e66
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x4053
callq 0x21b0
leaq -0x60(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x22087(%rip), %rsi     # 0x260e9
leaq 0x2208b(%rip), %rdx     # 0x260f4
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
callq 0x2f88
leaq -0x3f7(%rip), %rdi      # 0x3c85
movq %rbx, %rsi
callq 0x25e66
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x4092
callq 0x21b0
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x22054(%rip), %rsi     # 0x260f5
leaq 0x2205f(%rip), %rdx     # 0x26107
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
callq 0x2f88
leaq -0x2e5(%rip), %rdi      # 0x3dd6
movq %rbx, %rsi
callq 0x25e66
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x40d1
callq 0x21b0
leaq -0x20(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x22028(%rip), %rsi     # 0x26108
leaq 0x22036(%rip), %rdx     # 0x2611d
leaq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0x2f88
leaq -0x26f(%rip), %rdi      # 0x3e8b
movq %rbx, %rsi
callq 0x25e66
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x4110
callq 0x21b0
addq $0xc0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
movq -0x30(%rbp), %rdi
jmp 0x4159
movq %rax, %rbx
movq -0x50(%rbp), %rdi
jmp 0x4159
movq %rax, %rbx
movq -0x70(%rbp), %rdi
jmp 0x4159
movq %rax, %rbx
movq -0x90(%rbp), %rdi
jmp 0x4159
movq %rax, %rbx
movq -0xb0(%rbp), %rdi
jmp 0x4159
movq %rax, %rbx
movq -0xd0(%rbp), %rdi
cmpq %r14, %rdi
je 0x4163
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
nop
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_insert_with_hint()
void
test_set_modifiers_insert_with_hint()
{
	ft::set<int> set;
	ft::set<int>::iterator hint;
	ft::set<int>::iterator ret;

	set.insert(10);
	set.insert(100);
	set.insert(60);

	hint = set.find(10);
	ret = set.insert(hint, 42);
	std::cout << "Return: " << *ret << std::endl;
	print_set_info(set);

	ret = set.insert(set.begin(), 0);
	std::cout << "Return: " << *ret << std::endl;
	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x48(%rbp), %rbx
movl $0x0, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0x18(%rbp), %rsi
movl $0xa, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x4e76
leaq -0x18(%rbp), %rsi
movl $0x64, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x4e76
leaq -0x18(%rbp), %rsi
movl $0x3c, (%rsi)
leaq -0x50(%rbp), %r14
movq %r14, %rdi
callq 0x4e76
movq -0x40(%rbp), %rcx
movq %rbx, %rax
testq %rcx, %rcx
je 0x5a51
movq %rbx, %rax
xorl %edx, %edx
cmpl $0xa, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x5a3a
cmpq %rbx, %rax
je 0x5a5e
cmpl $0xb, 0x20(%rax)
cmovlq %rax, %rbx
leaq -0x1c(%rbp), %rdx
movl $0x2a, (%rdx)
leaq -0x18(%rbp), %rcx
movq %r14, (%rcx)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x71aa
movq %rax, %rbx
movq 0x2e54c(%rip), %rdi     # 0x33fd0
leaq 0x20693(%rip), %rsi     # 0x2611e
movl $0x8, %edx
callq 0x2230
movl 0x20(%rbx), %esi
movq 0x2e531(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
callq 0x41b5
movq -0x38(%rbp), %rsi
leaq -0x1c(%rbp), %rdx
movl $0x0, (%rdx)
leaq -0x18(%rbp), %rcx
movq %rbx, (%rcx)
movq %rbx, %rdi
callq 0x71aa
movq %rax, %rbx
movq 0x2e4cf(%rip), %rdi     # 0x33fd0
leaq 0x20616(%rip), %rsi     # 0x2611e
movl $0x8, %edx
callq 0x2230
movl 0x20(%rbx), %esi
movq 0x2e4b4(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x50(%rbp), %rdi
callq 0x41b5
leaq -0x50(%rbp), %rdi
callq 0x35fe
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x5b70
jmp 0x5b70
jmp 0x5b70
jmp 0x5b70
jmp 0x5b70
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_insert_range()
void
test_set_modifiers_insert_range()
{
	ft::set<int> set1;
	ft::set<int> set2;

	set2.insert(set1.begin(), set1.end());

	print_set_info(set1);
	print_set_info(set2);

	srand(g_seed);

	for (int i = 0; i < 100; i++)
		set1.insert(rand() % 1000 - 1000 / 2);
	set2.insert(set1.begin(), set1.end());

	print_set_info(set1);
	print_set_info(set2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x70, %rsp
leaq -0x80(%rbp), %rbx
xorl %eax, %eax
movl %eax, (%rbx)
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0x50(%rbp), %rcx
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x58(%rbp), %rdi
movq %rbx, %rsi
movq %rbx, %rdx
callq 0x4c36
leaq -0x88(%rbp), %rdi
callq 0x41b5
leaq -0x58(%rbp), %rdi
callq 0x41b5
leaq 0x2e5f4(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x64, %r12d
leaq -0x88(%rbp), %r14
leaq -0x24(%rbp), %r15
callq 0x2070
cltq
imulq $0x10624dd3, %rax, %rcx # imm = 0x10624DD3
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x26, %rcx
addl %edx, %ecx
imull $0x3e8, %ecx, %ecx      # imm = 0x3E8
negl %ecx
addl %ecx, %eax
addl $0xfffffe0c, %eax       # imm = 0xFFFFFE0C
movl %eax, -0x24(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4e76
decl %r12d
jne 0x5c04
movq -0x70(%rbp), %rsi
leaq -0x58(%rbp), %rdi
movq %rbx, %rdx
callq 0x4c36
leaq -0x88(%rbp), %rdi
callq 0x41b5
leaq -0x58(%rbp), %rdi
callq 0x41b5
leaq -0x58(%rbp), %rdi
callq 0x35fe
leaq -0x88(%rbp), %rdi
callq 0x35fe
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5c8a
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x35fe
leaq -0x88(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_insert_iterators_validity()
void
test_set_modifiers_insert_iterators_validity()
{
	ft::set<int> set;
	ft::set<int>::iterator it;

	set.insert(42);
	it = set.find(42);

	for (int i = 0; i < 20; i++)
		set.insert(i);

	print_set_info(set);

	if (it == set.find(42))
		std::cout << "correct" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %r15
movl $0x0, (%r15)
xorl %eax, %eax
movq %rax, 0x8(%r15)
movq %r15, 0x10(%r15)
movq %r15, 0x18(%r15)
movq %rax, 0x20(%r15)
leaq -0x24(%rbp), %rsi
movl $0x2a, (%rsi)
leaq -0x58(%rbp), %rdi
callq 0x4e76
movq -0x48(%rbp), %rcx
movq %r15, %rax
testq %rcx, %rcx
je 0x5d0f
movq %r15, %rax
xorl %edx, %edx
cmpl $0x2a, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x5cf8
movq %r15, %r12
cmpq %r15, %rax
je 0x5d22
cmpl $0x2b, 0x20(%rax)
cmovgeq %r15, %rax
movq %rax, %r12
leaq -0x24(%rbp), %rbx
movl $0x0, (%rbx)
leaq -0x58(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x71ee
movl -0x24(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x24(%rbp)
cmpl $0x13, %eax
jl 0x5d30
leaq -0x58(%rbp), %rdi
callq 0x41b5
movq -0x48(%rbp), %rcx
movq %r15, %rax
testq %rcx, %rcx
je 0x5d78
movq %r15, %rax
xorl %edx, %edx
cmpl $0x2a, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x5d61
cmpq %r15, %rax
je 0x5d85
cmpl $0x2b, 0x20(%rax)
cmovlq %rax, %r15
cmpq %r15, %r12
jne 0x5dd0
movq 0x2e23f(%rip), %rbx     # 0x33fd0
leaq 0x20397(%rip), %rsi     # 0x2612f
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2e20d(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x58(%rbp), %rdi
callq 0x35fe
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5dea
jmp 0x5dea
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_insert_cplusplus()
void
test_set_modifiers_insert_cplusplus()
{
	ft::set<int> myset;
	ft::set<int>::iterator it;
	ft::pair<ft::set<int>::iterator, bool> ret;

	for (int i = 1; i <= 5; ++i)
		myset.insert(i * 10);

	ret = myset.insert(20);

	if (ret.second == false)
		it = ret.first;

	myset.insert(it,25);
	myset.insert(it,24);
	myset.insert(it,26);

	int myints[] = {5, 10, 15};
	myset.insert(myints, myints + 3);

	std::cout << "myset contains:";
	for (it = myset.begin(); it != myset.end(); ++it)
		std::cout << ' ' << *it;
	std::cout << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
leaq -0x68(%rbp), %rbx
movl $0x0, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
movl $0xa, %r12d
leaq -0x70(%rbp), %r14
leaq -0x38(%rbp), %r15
movl %r12d, -0x38(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4e76
addl $0xa, %r12d
cmpl $0x3c, %r12d
jne 0x5e39
leaq -0x38(%rbp), %rsi
movl $0x14, (%rsi)
leaq -0x70(%rbp), %r14
movq %r14, %rdi
callq 0x4e76
xorl %r15d, %r15d
testb %dl, %dl
cmoveq %rax, %r15
leaq -0x40(%rbp), %rdx
movl $0x19, (%rdx)
leaq -0x38(%rbp), %rcx
movq %r14, (%rcx)
movq %r14, %rdi
movq %r15, %rsi
callq 0x71aa
leaq -0x40(%rbp), %rdx
movl $0x18, (%rdx)
leaq -0x38(%rbp), %rcx
movq %r14, (%rcx)
movq %r14, %rdi
movq %r15, %rsi
callq 0x71aa
leaq -0x40(%rbp), %rdx
movl $0x1a, (%rdx)
leaq -0x38(%rbp), %rcx
movq %r14, (%rcx)
movq %r14, %rdi
movq %r15, %rsi
callq 0x71aa
movabsq $0xa00000005, %rax      # imm = 0xA00000005
movq %rax, -0x38(%rbp)
movl $0xf, -0x30(%rbp)
leaq -0x40(%rbp), %r15
movq %r14, (%r15)
xorl %r12d, %r12d
leaq (%r12,%rbp), %rdx
addq $-0x38, %rdx
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rcx
callq 0x722e
addq $0x4, %r12
cmpq $0xc, %r12
jne 0x5ee4
movq 0x2e0c5(%rip), %r14     # 0x33fd0
leaq 0x20225(%rip), %rsi     # 0x26137
movl $0xf, %edx
movq %r14, %rdi
callq 0x2230
movq -0x58(%rbp), %r15
cmpq %rbx, %r15
je 0x5f63
movq 0x2e0a1(%rip), %r12     # 0x33fd0
leaq -0x40(%rbp), %r13
movb $0x20, -0x40(%rbp)
movl $0x1, %edx
movq %r12, %rdi
movq %r13, %rsi
callq 0x2230
movl 0x20(%r15), %esi
movq %rax, %rdi
callq 0x2330
movq %r15, %rdi
callq 0x2240
movq %rax, %r15
cmpq %rbx, %rax
jne 0x5f33
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2e04f(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x70(%rbp), %rdi
callq 0x35fe
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5fb4
jmp 0x5fb4
jmp 0x5fb4
jmp 0x5fb4
jmp 0x5fb4
jmp 0x5fb4
jmp 0x5fb4
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_erase_position()
void
test_set_modifiers_erase_position()
{
	ft::set<int> set;

	for (int i = 0; i < 10; i++)
		set.insert(i);

	print_set_info(set);

	set.erase(set.find(4));
	set.erase(set.find(2));

	print_set_info(set);

	while (!set.empty())
		set.erase(set.begin());

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
leaq -0x48(%rbp), %rbx
xorl %eax, %eax
movl %eax, (%rbx)
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0x1c(%rbp), %r14
movl %eax, (%r14)
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x71ee
movl -0x1c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x1c(%rbp)
cmpl $0x9, %eax
jl 0x5ff8
leaq -0x50(%rbp), %rdi
callq 0x41b5
movq -0x40(%rbp), %rcx
movq %rbx, %rax
testq %rcx, %rcx
je 0x6040
movq %rbx, %rax
xorl %edx, %edx
cmpl $0x4, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x6029
movq %rbx, %rsi
cmpq %rbx, %rax
je 0x6053
cmpl $0x5, 0x20(%rax)
cmovgeq %rbx, %rax
movq %rax, %rsi
leaq -0x50(%rbp), %rdi
callq 0x72ea
movq -0x40(%rbp), %rcx
movq %rbx, %rax
testq %rcx, %rcx
je 0x6082
movq %rbx, %rax
xorl %edx, %edx
cmpl $0x2, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x606b
cmpq %rbx, %rax
je 0x608f
cmpl $0x3, 0x20(%rax)
cmovlq %rax, %rbx
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x72ea
leaq -0x50(%rbp), %rdi
callq 0x41b5
leaq -0x50(%rbp), %rbx
cmpq $0x0, -0x28(%rbp)
je 0x60bd
movq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x72ea
jmp 0x60a8
leaq -0x50(%rbp), %rdi
callq 0x41b5
leaq -0x50(%rbp), %rdi
callq 0x35fe
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x60e2
jmp 0x60e2
jmp 0x60e2
jmp 0x60e2
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_erase_value()
void
test_set_modifiers_erase_value()
{
	ft::set<int> set;

	for (int i = 0; i < 10; i++)
		set.insert(i);

	print_set_info(set);

	std::cout << set.erase(4) << std::endl;
	std::cout << set.erase(4) << std::endl;
	std::cout << set.erase(2) << std::endl;

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x14(%rbp), %rbx
movl %ecx, (%rbx)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x71ee
movl -0x14(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x14(%rbp)
cmpl $0x9, %eax
jl 0x6123
leaq -0x48(%rbp), %rdi
callq 0x41b5
leaq -0x14(%rbp), %rsi
movl $0x4, (%rsi)
leaq -0x48(%rbp), %rdi
callq 0x732c
leaq -0x48(%rbp), %rbx
movq 0x28(%rbx), %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x73a8
subq 0x28(%rbx), %r14
movq 0x2de5a(%rip), %rdi     # 0x33fd0
movq %r14, %rsi
callq 0x2140
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x14(%rbp), %rsi
movl $0x4, (%rsi)
leaq -0x48(%rbp), %rdi
callq 0x732c
leaq -0x48(%rbp), %rbx
movq 0x28(%rbx), %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x73a8
subq 0x28(%rbx), %r14
movq 0x2ddf7(%rip), %rdi     # 0x33fd0
movq %r14, %rsi
callq 0x2140
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x14(%rbp), %rsi
movl $0x2, (%rsi)
leaq -0x48(%rbp), %rdi
callq 0x732c
leaq -0x48(%rbp), %rbx
movq 0x28(%rbx), %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x73a8
subq 0x28(%rbx), %r14
movq 0x2dd94(%rip), %rdi     # 0x33fd0
movq %r14, %rsi
callq 0x2140
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x48(%rbp), %rdi
callq 0x41b5
leaq -0x48(%rbp), %rdi
callq 0x35fe
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x6291
jmp 0x6291
jmp 0x6291
jmp 0x6291
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_erase_range()
void
test_set_modifiers_erase_range()
{
	ft::set<int> set;
	ft::set<int>::iterator it;

	for (int i = 0; i < 10; i++)
		set.insert(i);

	print_set_info(set);

	set.erase(set.find(4), set.end());

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
leaq -0x48(%rbp), %rbx
xorl %eax, %eax
movl %eax, (%rbx)
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0x1c(%rbp), %r14
movl %eax, (%r14)
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x71ee
movl -0x1c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x1c(%rbp)
cmpl $0x9, %eax
jl 0x62d5
leaq -0x50(%rbp), %rdi
callq 0x41b5
movq -0x40(%rbp), %rcx
movq %rbx, %rax
testq %rcx, %rcx
je 0x631d
movq %rbx, %rax
xorl %edx, %edx
cmpl $0x4, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x6306
movq %rbx, %rsi
cmpq %rbx, %rax
je 0x6330
cmpl $0x5, 0x20(%rax)
cmovgeq %rbx, %rax
movq %rax, %rsi
leaq -0x50(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rdx
callq 0x73a8
movq %r14, %rdi
callq 0x41b5
leaq -0x50(%rbp), %rdi
callq 0x35fe
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x635d
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_erase_iterators_validity()
void
test_set_modifiers_erase_iterators_validity()
{
	ft::set<int> set;
	ft::set<int>::iterator it;

	for (int i = 0; i < 10; i++)
		set.insert(i);

	print_set_info(set);

	it = set.find(9);

	for (int i = 0; i < 9; i++)
		set.erase(i);

	if (it == set.find(9))
		std::cout << "correct" << std::endl;

	print_set_info(set);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %r15
xorl %eax, %eax
movl %eax, (%r15)
movq %rax, 0x8(%r15)
movq %r15, 0x10(%r15)
movq %r15, 0x18(%r15)
movq %rax, 0x20(%r15)
leaq -0x24(%rbp), %rbx
movl %eax, (%rbx)
leaq -0x58(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x71ee
movl -0x24(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x24(%rbp)
cmpl $0x9, %eax
jl 0x63a3
leaq -0x58(%rbp), %rdi
callq 0x41b5
movq -0x48(%rbp), %rcx
movq %r15, %rax
testq %rcx, %rcx
je 0x63eb
movq %r15, %rax
xorl %edx, %edx
cmpl $0x9, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x63d4
movq %r15, %r12
cmpq %r15, %rax
je 0x63fe
cmpl $0xa, 0x20(%rax)
cmovgeq %r15, %rax
movq %rax, %r12
leaq -0x24(%rbp), %rbx
movl $0x0, (%rbx)
leaq -0x58(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x732c
movq %r14, %rdi
movq %rax, %rsi
callq 0x73a8
movl -0x24(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x24(%rbp)
cmpl $0x8, %eax
jl 0x640c
movq -0x48(%rbp), %rcx
movq %r15, %rax
testq %rcx, %rcx
je 0x6456
movq %r15, %rax
xorl %edx, %edx
cmpl $0x9, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x643f
cmpq %r15, %rax
je 0x6463
cmpl $0xa, 0x20(%rax)
cmovlq %rax, %r15
cmpq %r15, %r12
jne 0x64ae
movq 0x2db61(%rip), %rbx     # 0x33fd0
leaq 0x1fcb9(%rip), %rsi     # 0x2612f
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2db2f(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x58(%rbp), %rdi
callq 0x41b5
leaq -0x58(%rbp), %rdi
callq 0x35fe
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x64d1
jmp 0x64d1
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_erase_cplusplus()
void
test_set_modifiers_erase_cplusplus()
{
	ft::set<int>			myset;
	ft::set<int>::iterator	it;

	for (int i = 1; i < 10; i++)
		myset.insert(i * 10);

	print_set_info(myset);

	it = myset.begin();
	++it;

	myset.erase(it);

	print_set_info(myset);

	myset.erase(40);

	print_set_info(myset);

	it = myset.find(60);
	myset.erase(it, myset.end());

	print_set_info(myset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %rbx
movl $0x0, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
movl $0xa, %r12d
leaq -0x58(%rbp), %r14
leaq -0x24(%rbp), %r15
movl %r12d, -0x24(%rbp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4e76
addl $0xa, %r12d
cmpl $0x64, %r12d
jne 0x651e
leaq -0x58(%rbp), %rdi
callq 0x41b5
leaq -0x58(%rbp), %r14
movq 0x18(%r14), %rdi
callq 0x2240
movq %r14, %rdi
movq %rax, %rsi
callq 0x72ea
leaq -0x58(%rbp), %rdi
callq 0x41b5
leaq -0x24(%rbp), %rsi
movl $0x28, (%rsi)
leaq -0x58(%rbp), %rdi
callq 0x732c
movq %r14, %rdi
movq %rax, %rsi
callq 0x73a8
movq %r14, %rdi
callq 0x41b5
movq -0x48(%rbp), %rcx
movq %rbx, %rax
testq %rcx, %rcx
je 0x65ad
movq %rbx, %rax
xorl %edx, %edx
cmpl $0x3c, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x6596
movq %rbx, %rsi
cmpq %rbx, %rax
je 0x65c0
cmpl $0x3d, 0x20(%rax)
cmovgeq %rbx, %rax
movq %rax, %rsi
leaq -0x58(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rdx
callq 0x73a8
movq %r14, %rdi
callq 0x41b5
leaq -0x58(%rbp), %rdi
callq 0x35fe
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x65f1
jmp 0x65f1
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_swap()
void
test_set_modifiers_swap()
{
	int myints[] = {12, 75, 10, 32, 20, 25};
	ft::set<int> first(myints, myints + 3);
	ft::set<int> second(myints + 3, myints+ 6);

	print_set_info(first);
	print_set_info(second);

	first.swap(second);

	print_set_info(first);
	print_set_info(second);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x78, %rsp
movaps 0x1fc5b(%rip), %xmm0    # 0x26270
leaq -0x74(%rbp), %rbx
movaps %xmm0, -0xc(%rbx)
movabsq $0x1900000014, %rax     # imm = 0x1900000014
movq %rax, 0x4(%rbx)
leaq -0x68(%rbp), %rdi
leaq -0x80(%rbp), %rsi
movq %rbx, %rdx
callq 0x7128
leaq -0x68(%rbp), %rdx
leaq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x7128
leaq -0x68(%rbp), %rdi
callq 0x41b5
leaq -0x38(%rbp), %rdi
callq 0x41b5
movq -0x58(%rbp), %rcx
movq -0x28(%rbp), %rax
testq %rcx, %rcx
je 0x66ad
testq %rax, %rax
je 0x66d8
leaq -0x60(%rbp), %rdx
movq %rax, 0x8(%rdx)
leaq -0x30(%rbp), %rsi
movq %rcx, 0x8(%rsi)
movups 0x10(%rdx), %xmm0
movups 0x10(%rsi), %xmm1
movups %xmm1, 0x10(%rdx)
movups %xmm0, 0x10(%rsi)
movq %rdx, 0x8(%rax)
movq 0x8(%rsi), %rax
movq %rsi, 0x8(%rax)
movq 0x20(%rdx), %rax
movq 0x20(%rsi), %rcx
movq %rcx, 0x20(%rdx)
movq %rax, 0x20(%rsi)
jmp 0x670e
testq %rax, %rax
je 0x670e
leaq -0x60(%rbp), %rcx
leaq -0x30(%rbp), %rdx
movl (%rdx), %esi
movl %esi, (%rcx)
movq %rax, 0x8(%rcx)
movups 0x10(%rdx), %xmm0
movups %xmm0, 0x10(%rcx)
movq %rcx, 0x8(%rax)
movq 0x20(%rdx), %rax
movq %rax, 0x20(%rcx)
jmp 0x66fc
leaq -0x30(%rbp), %rax
leaq -0x60(%rbp), %rdx
movl (%rdx), %esi
movl %esi, (%rax)
movq %rcx, 0x8(%rax)
movups 0x10(%rdx), %xmm0
movups %xmm0, 0x10(%rax)
movq %rax, 0x8(%rcx)
movq 0x20(%rdx), %rcx
movq %rcx, 0x20(%rax)
xorl %eax, %eax
movq %rax, 0x8(%rdx)
movq %rdx, 0x10(%rdx)
movq %rdx, 0x18(%rdx)
movq %rax, 0x20(%rdx)
leaq -0x68(%rbp), %rdi
callq 0x41b5
leaq -0x38(%rbp), %rdi
callq 0x41b5
leaq -0x38(%rbp), %rdi
callq 0x35fe
leaq -0x68(%rbp), %rdi
callq 0x35fe
addq $0x78, %rsp
popq %rbx
popq %rbp
retq
movq %rax, %rbx
jmp 0x674a
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x35fe
leaq -0x68(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_clear_int()
void
test_set_modifiers_clear_int()
{
	ft::set<int> myset;

	myset.insert(100);
	myset.insert(200);
	myset.insert(300);

	print_set_info(myset);

	myset.clear();

	print_set_info(myset);

	myset.insert(1101);
	myset.insert(2202);

	print_set_info(myset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x38, %rsp
leaq -0x38(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0xc(%rbp), %rsi
movl $0x64, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0x4e76
leaq -0xc(%rbp), %rsi
movl $0xc8, (%rsi)
leaq -0x40(%rbp), %rdi
callq 0x4e76
leaq -0xc(%rbp), %rsi
movl $0x12c, (%rsi)          # imm = 0x12C
leaq -0x40(%rbp), %rdi
callq 0x4e76
leaq -0x40(%rbp), %rdi
callq 0x41b5
leaq -0x40(%rbp), %rbx
movq %rbx, %rdi
callq 0x742a
movq %rbx, %rdi
callq 0x41b5
leaq -0xc(%rbp), %rsi
movl $0x44d, (%rsi)          # imm = 0x44D
leaq -0x40(%rbp), %rdi
callq 0x4e76
leaq -0xc(%rbp), %rsi
movl $0x89a, (%rsi)          # imm = 0x89A
leaq -0x40(%rbp), %rdi
callq 0x4e76
leaq -0x40(%rbp), %rdi
callq 0x41b5
leaq -0x40(%rbp), %rdi
callq 0x35fe
addq $0x38, %rsp
popq %rbx
popq %rbp
retq
jmp 0x6a73
jmp 0x6a73
jmp 0x6a73
jmp 0x6a73
jmp 0x6a73
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_modifiers.cpp
// Function: test_set_modifiers_clear_string()
void
test_set_modifiers_clear_string()
{
	ft::set<std::string> myset;

	myset.insert("hello");
	myset.insert("world");
	myset.insert("!");

	print_set_info(myset);

	myset.clear();

	print_set_info(myset);

	myset.insert("this is");
	myset.insert("a test");

	print_set_info(myset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x50, %rsp
leaq -0x58(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x20(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x1f5ca(%rip), %rsi     # 0x26087
leaq 0x1f5c8(%rip), %rdx     # 0x2608c
leaq -0x30(%rbp), %rdi
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f2e
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6ae8
callq 0x21b0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x1fcf8(%rip), %rsi     # 0x267ee
leaq 0x1fcf6(%rip), %rdx     # 0x267f3
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f2e
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6b1d
callq 0x21b0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x1fa4b(%rip), %rsi     # 0x26576
leaq 0x1fa45(%rip), %rdx     # 0x26577
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f2e
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6b52
callq 0x21b0
leaq -0x60(%rbp), %rdi
callq 0x4365
leaq -0x60(%rbp), %rbx
movq %rbx, %rdi
callq 0x7462
movq %rbx, %rdi
callq 0x4365
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x1f5ca(%rip), %rsi     # 0x26147
leaq 0x1f5ca(%rip), %rdx     # 0x2614e
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f2e
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6ba4
callq 0x21b0
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x1f59d(%rip), %rsi     # 0x2614f
leaq 0x1f59c(%rip), %rdx     # 0x26155
callq 0x2f88
leaq -0x60(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4f2e
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6bd9
callq 0x21b0
leaq -0x60(%rbp), %rdi
callq 0x4365
leaq -0x60(%rbp), %rdi
callq 0x4b5c
addq $0x50, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x6c04
jmp 0x6c19
jmp 0x6c04
jmp 0x6c19
jmp 0x6c04
jmp 0x6c19
jmp 0x6c04
jmp 0x6c19
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x6c1c
callq 0x21b0
jmp 0x6c1c
jmp 0x6c19
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4b5c
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_constructors_base()
void
test_set_iterators_constructors_base()
{
	ft::set<int> myset;

	for (int i = 0; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	iter_type from(myset.begin());
	iter_type cpy(from);

	if (from == cpy)
		std::cout << "valid" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x14(%rbp), %rbx
movl %ecx, (%rbx)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x71ee
movl -0x14(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x14(%rbp)
cmpl $0x9, %eax
jl 0x77c1
movq 0x2c7ef(%rip), %rbx     # 0x33fd0
leaq 0x1fcae(%rip), %rsi     # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c7bd(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x48(%rbp), %rdi
callq 0x35fe
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x7834
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_operator_star()
void
test_set_iterators_operator_star()
{
	ft::set<int> myset;

	for (int i = 0; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	iter_type from(myset.begin());

	std::cout << *from << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, (%rax)
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x14(%rbp), %rbx
movl %ecx, (%rbx)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x71ee
movl -0x14(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x14(%rbp)
cmpl $0x9, %eax
jl 0x7875
movq -0x30(%rbp), %rax
movl 0x20(%rax), %esi
movq 0x2c734(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x48(%rbp), %rdi
callq 0x35fe
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x78df
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_operator_increment()
void
test_set_iterators_operator_increment()
{
	ft::set<int> myset;

	for (int i  = 0; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	iter_type from(myset.begin());
	iter_type until(myset.end());

	std::cout << "myset:";
	while (from != until)
	{
		std::cout << ' ' << *from;
		++from;
	}

	std::cout << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %r13
xorl %eax, %eax
movl %eax, (%r13)
movq %rax, 0x8(%r13)
movq %r13, 0x10(%r13)
movq %r13, 0x18(%r13)
movq %rax, 0x20(%r13)
leaq -0x2c(%rbp), %rbx
movl %eax, (%rbx)
leaq -0x60(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x71ee
movl -0x2c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x2c(%rbp)
cmpl $0x9, %eax
jl 0x7928
movq -0x48(%rbp), %r14
movq 0x2c684(%rip), %rbx     # 0x33fd0
leaq 0x1e9c9(%rip), %rsi     # 0x2631c
movl $0x6, %edx
movq %rbx, %rdi
callq 0x2230
cmpq %r13, %r14
je 0x79a0
movq 0x2c664(%rip), %r15     # 0x33fd0
leaq -0x2c(%rbp), %r12
movb $0x20, -0x2c(%rbp)
movl $0x1, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x2230
movl 0x20(%r14), %esi
movq %rax, %rdi
callq 0x2330
movq %r14, %rdi
callq 0x2240
movq %rax, %r14
cmpq %r13, %rax
jne 0x7970
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c612(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x60(%rbp), %rdi
callq 0x35fe
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x79e7
jmp 0x79e7
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_iterators.cpp
// Function: test_set_iterators_operator_decrement()
void
test_set_iterators_operator_decrement()
{
	ft::set<int> myset;

	for (int i = 0 ; i < 10; i++)
		myset.insert(i);

	typedef ft::set<int>::iterator iter_type;

	iter_type begin (myset.begin());
	iter_type end (myset.end());

	iter_type it(begin);
	while (it != end)
		std::cout << *it++ << ' ';
	std::cout << std::endl;

	while (it != begin)
		std::cout << *(--it) << ' ';
	std::cout << std::endl;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leaq -0x58(%rbp), %rcx
xorl %eax, %eax
movl %eax, (%rcx)
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x2c(%rbp), %rbx
movl %eax, (%rbx)
leaq -0x60(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x71ee
movl -0x2c(%rbp), %eax
leal 0x1(%rax), %ecx
movl %ecx, -0x2c(%rbp)
cmpl $0x9, %eax
jl 0x7a2e
movq -0x48(%rbp), %r13
movq %r13, %rbx
leaq -0x58(%rbp), %rax
cmpq %rax, %r13
je 0x7a9d
movq 0x2c572(%rip), %r14     # 0x33fd0
leaq -0x2c(%rbp), %r15
movq %r13, %r12
movq %r12, %rdi
callq 0x2240
movq %rax, %rbx
movl 0x20(%r12), %esi
movq %r14, %rdi
callq 0x2330
movb $0x20, -0x2c(%rbp)
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2230
movq %rbx, %r12
leaq -0x58(%rbp), %rax
cmpq %rax, %rbx
jne 0x7a65
movq 0x2c52c(%rip), %rdi     # 0x33fd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c511(%rip), %r14     # 0x33fd0
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
cmpq %r13, %rbx
je 0x7b0e
movq 0x2c4f5(%rip), %r15     # 0x33fd0
leaq -0x2c(%rbp), %r12
movq %rbx, %rdi
callq 0x2130
movq %rax, %rbx
movl 0x20(%rax), %esi
movq %r15, %rdi
callq 0x2330
movb $0x20, -0x2c(%rbp)
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2230
cmpq %r13, %rbx
jne 0x7adf
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x2c4a4(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x60(%rbp), %rdi
callq 0x35fe
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7b57
jmp 0x7b57
jmp 0x7b57
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340