// File: DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_operations.cpp
// Function: test_set_operations_lower_bound()
void
test_set_operations_lower_bound()
{
	ft::set<int> set;
	//ft::set<int>::iterator it;
	ft::set<int>::const_iterator const_it;

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

	const_it = set.lower_bound(20);
	if (const_it != set.end())
		std::cout << *const_it << std::endl;
	else
		std::cout << "end()" << std::endl;

	const_it = set.lower_bound(42);
	if (const_it != set.end())
		std::cout << *const_it << std::endl;
	else
		std::cout << "end()" << std::endl;

	const_it = set.lower_bound(142);
	if (const_it != set.end())
		std::cout << *const_it << std::endl;
	else
		std::cout << "end()" << std::endl;

	const_it = set.lower_bound(-42);
	if (const_it != set.end())
		std::cout << *const_it << std::endl;
	else
		std::cout << "end()" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
leaq -0x30(%rbp), %rdi
callq 0x4830
leaq -0x38(%rbp), %rdi
callq 0xdf50
movl $0x0, -0x3c(%rbp)
cmpl $0xa, -0x3c(%rbp)
jge 0x11edc
movl -0x3c(%rbp), %ecx
addl %ecx, %ecx
movl %ecx, %eax
leal (%rax,%rax,4), %eax
movl %eax, -0x40(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x7770
movb %dl, -0xc9(%rbp)
movq %rax, -0xc8(%rbp)
jmp 0x11ea3
movb -0xc9(%rbp), %al
movq -0xc8(%rbp), %rcx
movq %rcx, -0x60(%rbp)
movb %al, -0x58(%rbp)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x11e74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4960
jmp 0x12206
movl $0x14, -0x6c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
callq 0x12fb0
movq %rax, -0xd8(%rbp)
jmp 0x11ef9
movq -0xd8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x75b0
movq %rax, -0x78(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x6060
testb $0x1, %al
jne 0x11f2c
jmp 0x11f63
leaq -0x38(%rbp), %rdi
callq 0x60c0
movl (%rax), %esi
movq 0x6907a(%rip), %rdi     # 0x7afb8
callq 0x3350
movq %rax, -0xe0(%rbp)
jmp 0x11f4c
movq -0xe0(%rbp), %rdi
movq 0x6903e(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x11f61
jmp 0x11f96
movq 0x6904e(%rip), %rdi     # 0x7afb8
leaq 0x4541b(%rip), %rsi     # 0x5738c
callq 0x31e0
movq %rax, -0xe8(%rbp)
jmp 0x11f7f
movq -0xe8(%rbp), %rdi
movq 0x6900b(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x11f94
jmp 0x11f96
movl $0x2a, -0x84(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x84(%rbp), %rsi
callq 0x12fb0
movq %rax, -0xf0(%rbp)
jmp 0x11fb9
movq -0xf0(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x75b0
movq %rax, -0x90(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x6060
testb $0x1, %al
jne 0x11ff2
jmp 0x12029
leaq -0x38(%rbp), %rdi
callq 0x60c0
movl (%rax), %esi
movq 0x68fb4(%rip), %rdi     # 0x7afb8
callq 0x3350
movq %rax, -0xf8(%rbp)
jmp 0x12012
movq -0xf8(%rbp), %rdi
movq 0x68f78(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x12027
jmp 0x1205c
movq 0x68f88(%rip), %rdi     # 0x7afb8
leaq 0x45355(%rip), %rsi     # 0x5738c
callq 0x31e0
movq %rax, -0x100(%rbp)
jmp 0x12045
movq -0x100(%rbp), %rdi
movq 0x68f45(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x1205a
jmp 0x1205c
movl $0x8e, -0x9c(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x9c(%rbp), %rsi
callq 0x12fb0
movq %rax, -0x108(%rbp)
jmp 0x1207f
movq -0x108(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x75b0
movq %rax, -0xa8(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x6060
testb $0x1, %al
jne 0x120be
jmp 0x120f5
leaq -0x38(%rbp), %rdi
callq 0x60c0
movl (%rax), %esi
movq 0x68ee8(%rip), %rdi     # 0x7afb8
callq 0x3350
movq %rax, -0x110(%rbp)
jmp 0x120de
movq -0x110(%rbp), %rdi
movq 0x68eac(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x120f3
jmp 0x12128
movq 0x68ebc(%rip), %rdi     # 0x7afb8
leaq 0x45289(%rip), %rsi     # 0x5738c
callq 0x31e0
movq %rax, -0x118(%rbp)
jmp 0x12111
movq -0x118(%rbp), %rdi
movq 0x68e79(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x12126
jmp 0x12128
movl $0xffffffd6, -0xb4(%rbp) # imm = 0xFFFFFFD6
leaq -0x30(%rbp), %rdi
leaq -0xb4(%rbp), %rsi
callq 0x12fb0
movq %rax, -0x120(%rbp)
jmp 0x1214b
movq -0x120(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x75b0
movq %rax, -0xc0(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x6060
testb $0x1, %al
jne 0x1218a
jmp 0x121c1
leaq -0x38(%rbp), %rdi
callq 0x60c0
movl (%rax), %esi
movq 0x68e1c(%rip), %rdi     # 0x7afb8
callq 0x3350
movq %rax, -0x128(%rbp)
jmp 0x121aa
movq -0x128(%rbp), %rdi
movq 0x68de0(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x121bf
jmp 0x121f4
movq 0x68df0(%rip), %rdi     # 0x7afb8
leaq 0x451bd(%rip), %rsi     # 0x5738c
callq 0x31e0
movq %rax, -0x130(%rbp)
jmp 0x121dd
movq -0x130(%rbp), %rdi
movq 0x68dad(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x121f2
jmp 0x121f4
leaq -0x30(%rbp), %rdi
callq 0x4960
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3360
nop