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

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

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

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

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

	it = set.upper_bound(-42);
	if (it != set.end())
		std::cout << *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 0x4e76
addl $0xa, %r12d
cmpl $0x64, %r12d
jne 0x94b1
movq -0x48(%rbp), %rcx
movq %r15, %rax
testq %rcx, %rcx
je 0x94f0
movq %r15, %rax
xorl %edx, %edx
cmpl $0x15, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x94d9
cmpq %r15, %rax
je 0x951d
movl 0x20(%rax), %esi
movq 0x2aad1(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
jmp 0x954c
movq 0x2aaac(%rip), %rbx     # 0x33fd0
leaq 0x1ce81(%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), %rcx
movq %r15, %rax
testq %rcx, %rcx
je 0x9585
movq %r15, %rax
xorl %edx, %edx
cmpl $0x2b, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x956e
cmpq %r15, %rax
je 0x95b2
movl 0x20(%rax), %esi
movq 0x2aa3c(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
jmp 0x95e1
movq 0x2aa17(%rip), %rbx     # 0x33fd0
leaq 0x1cdec(%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), %rcx
movq %r15, %rax
testq %rcx, %rcx
je 0x961d
movq %r15, %rax
xorl %edx, %edx
cmpl $0x8f, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x9603
cmpq %r15, %rax
je 0x964a
movl 0x20(%rax), %esi
movq 0x2a9a4(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
jmp 0x9679
movq 0x2a97f(%rip), %rbx     # 0x33fd0
leaq 0x1cd54(%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), %rcx
movq %r15, %rax
testq %rcx, %rcx
je 0x96b2
movq %r15, %rax
xorl %edx, %edx
cmpl $-0x29, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x969b
cmpq %r15, %rax
je 0x96df
movl 0x20(%rax), %esi
movq 0x2a90f(%rip), %rdi     # 0x33fd0
callq 0x2330
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
jmp 0x970e
movq 0x2a8ea(%rip), %rbx     # 0x33fd0
leaq 0x1ccbf(%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 0x35fe
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9739
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340