// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
leaq -0x50(%rbp), %r15
movl $0x0, (%r15)
xorl %r12d, %r12d
movq %r12, 0x8(%r15)
movq %r15, 0x10(%r15)
movq %r15, 0x18(%r15)
movq %r12, 0x20(%r15)
leaq -0x58(%rbp), %rbx
leaq -0x24(%rbp), %r14
movl %r12d, -0x24(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4e54
addl $0xa, %r12d
cmpl $0x64, %r12d
jne 0x926f
movq -0x48(%rbp), %rax
testq %rax, %rax
je 0x92d8
movq %r15, %rcx
xorl %edx, %edx
cmpl $0x14, 0x20(%rax)
setl %dl
cmovgeq %rax, %rcx
movq 0x10(%rax,%rdx,8), %rax
testq %rax, %rax
jne 0x9294
cmpq %r15, %rcx
je 0x92d8
movl 0x20(%rcx), %esi
movq 0x2ad16(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
jmp 0x9307
movq 0x2acf1(%rip), %rbx     # 0x33fd0
leaq 0x1d0c6(%rip), %rsi     # 0x263ac
movl $0x5, %edx
movq %rbx, %rdi
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
callq 0x2150
movq -0x48(%rbp), %rax
testq %rax, %rax
je 0x936a
movq %r15, %rcx
xorl %edx, %edx
cmpl $0x2a, 0x20(%rax)
setl %dl
cmovgeq %rax, %rcx
movq 0x10(%rax,%rdx,8), %rax
testq %rax, %rax
jne 0x9326
cmpq %r15, %rcx
je 0x936a
movl 0x20(%rcx), %esi
movq 0x2ac84(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
jmp 0x9399
movq 0x2ac5f(%rip), %rbx     # 0x33fd0
leaq 0x1d034(%rip), %rsi     # 0x263ac
movl $0x5, %edx
movq %rbx, %rdi
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
callq 0x2150
movq -0x48(%rbp), %rax
testq %rax, %rax
je 0x93ff
movq %r15, %rcx
xorl %edx, %edx
cmpl $0x8e, 0x20(%rax)
setl %dl
cmovgeq %rax, %rcx
movq 0x10(%rax,%rdx,8), %rax
testq %rax, %rax
jne 0x93b8
cmpq %r15, %rcx
je 0x93ff
movl 0x20(%rcx), %esi
movq 0x2abef(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
jmp 0x942e
movq 0x2abca(%rip), %rbx     # 0x33fd0
leaq 0x1cf9f(%rip), %rsi     # 0x263ac
movl $0x5, %edx
movq %rbx, %rdi
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
callq 0x2150
movq -0x48(%rbp), %rax
testq %rax, %rax
je 0x9491
movq %r15, %rcx
xorl %edx, %edx
cmpl $-0x2a, 0x20(%rax)
setl %dl
cmovgeq %rax, %rcx
movq 0x10(%rax,%rdx,8), %rax
testq %rax, %rax
jne 0x944d
cmpq %r15, %rcx
je 0x9491
movl 0x20(%rcx), %esi
movq 0x2ab5d(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
jmp 0x94c0
movq 0x2ab38(%rip), %rbx     # 0x33fd0
leaq 0x1cf0d(%rip), %rsi     # 0x263ac
movl $0x5, %edx
movq %rbx, %rdi
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
callq 0x2150
leaq -0x58(%rbp), %rdi
callq 0x3602
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x94eb
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340