// File: 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
subq $0x150, %rsp            # imm = 0x150
leaq -0x30(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x4830
leaq -0x38(%rbp), %rdi
callq 0xdf50
leaq -0x40(%rbp), %rdi
callq 0xdf50
movq -0xf0(%rbp), %rdi
movl $0xa, -0x44(%rbp)
leaq -0x44(%rbp), %rsi
callq 0x7770
movb %dl, -0xe1(%rbp)
movq %rax, -0xe0(%rbp)
jmp 0xbd53
movb -0xe1(%rbp), %al
movq -0xe0(%rbp), %rcx
movq %rcx, -0x68(%rbp)
movb %al, -0x60(%rbp)
movl $0x64, -0x6c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
callq 0x7770
movb %dl, -0xf9(%rbp)
movq %rax, -0xf8(%rbp)
jmp 0xbd8a
movb -0xf9(%rbp), %al
movq -0xf8(%rbp), %rcx
movq %rcx, -0x80(%rbp)
movb %al, -0x78(%rbp)
movl $0x3c, -0x84(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x84(%rbp), %rsi
callq 0x7770
movb %dl, -0x109(%rbp)
movq %rax, -0x108(%rbp)
jmp 0xbdc7
movb -0x109(%rbp), %al
movq -0x108(%rbp), %rcx
movq %rcx, -0x98(%rbp)
movb %al, -0x90(%rbp)
movl $0xa, -0xa4(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xa4(%rbp), %rsi
callq 0xdf70
movq %rax, -0x118(%rbp)
jmp 0xbe04
movq -0x118(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0xb8(%rbp)
movl $0x2a, -0xbc(%rbp)
movq -0xb8(%rbp), %rsi
leaq -0x30(%rbp), %rdi
leaq -0xbc(%rbp), %rdx
callq 0xdfb0
movq %rax, -0x120(%rbp)
jmp 0xbe52
movq -0x120(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movq %rax, -0x40(%rbp)
movq 0x6f146(%rip), %rdi     # 0x7afb8
leaq 0x4b263(%rip), %rsi     # 0x570dc
callq 0x31e0
movq %rax, -0x128(%rbp)
jmp 0xbe87
leaq -0x40(%rbp), %rdi
callq 0x60c0
movq -0x128(%rbp), %rdi
movl (%rax), %esi
callq 0x3350
movq %rax, -0x130(%rbp)
jmp 0xbea7
movq -0x130(%rbp), %rdi
movq 0x6f0e3(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xbebc
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xbec7
leaq -0x30(%rbp), %rdi
movq %rdi, -0x140(%rbp)
callq 0x7580
movq -0x140(%rbp), %rdi
movq %rax, -0xd0(%rbp)
movl $0x0, -0xd4(%rbp)
movq -0xd0(%rbp), %rsi
leaq -0xd4(%rbp), %rdx
callq 0xdfb0
movq %rax, -0x138(%rbp)
jmp 0xbf0b
movq -0x138(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq 0x6f08d(%rip), %rdi     # 0x7afb8
leaq 0x4b1aa(%rip), %rsi     # 0x570dc
callq 0x31e0
movq %rax, -0x148(%rbp)
jmp 0xbf40
leaq -0x40(%rbp), %rdi
callq 0x60c0
movq -0x148(%rbp), %rdi
movl (%rax), %esi
callq 0x3350
movq %rax, -0x150(%rbp)
jmp 0xbf60
movq -0x150(%rbp), %rdi
movq 0x6f02a(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0xbf75
leaq -0x30(%rbp), %rdi
callq 0x7660
jmp 0xbf80
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
movq -0x50(%rbp), %rdi
callq 0x3360