// File: DimitriDaSilva[P]42_ft_containers/tester/containers/map/test_map_operations.cpp
// Function: test_map_operations_lower_bound()
void
test_map_operations_lower_bound()
{
	ft::map<char, int> map;
	ft::map<char, int>::iterator it;
	ft::map<char, int>::const_iterator const_it;

	for (char i = '0'; i <= '9'; i++)
		map.insert(ft::make_pair(i, i));

	it = map.lower_bound('0');
	if (it != map.end())
		std::cout << " [" << it->first << "] = " << it->second << std::endl;
	else
		std::cout << "end()" << std::endl;

	it = map.lower_bound('!');
	if (it != map.end())
		std::cout << " [" << it->first << "] = " << it->second << std::endl;
	else
		std::cout << "end()" << std::endl;

	const_it = map.lower_bound('?');
	if (const_it != map.end())
		std::cout << " [" << const_it->first << "] = " << const_it->second << std::endl;
	else
		std::cout << "end()" << std::endl;

	const_it = map.lower_bound('-');
	if (const_it != map.end())
		std::cout << " [" << const_it->first << "] = " << const_it->second << std::endl;
	else
		std::cout << "end()" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
leaq -0x30(%rbp), %rdi
callq 0x1bf70
leaq -0x38(%rbp), %rdi
callq 0x1bf90
leaq -0x40(%rbp), %rdi
callq 0x1c2e0
movb $0x30, -0x41(%rbp)
movsbl -0x41(%rbp), %eax
cmpl $0x39, %eax
jg 0x1a8c7
leaq -0x41(%rbp), %rsi
movq %rsi, %rdi
callq 0x1bff0
movw %ax, -0xea(%rbp)
jmp 0x1a868
movw -0xea(%rbp), %ax
movw %ax, -0x43(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x43(%rbp), %rsi
callq 0x1bfb0
movb %dl, -0xf9(%rbp)
movq %rax, -0xf8(%rbp)
jmp 0x1a88f
movb -0xf9(%rbp), %al
movq -0xf8(%rbp), %rcx
movq %rcx, -0x68(%rbp)
movb %al, -0x60(%rbp)
movb -0x41(%rbp), %al
addb $0x1, %al
movb %al, -0x41(%rbp)
jmp 0x1a84a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x1c230
jmp 0x1adab
movb $0x30, -0x71(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x71(%rbp), %rsi
callq 0x1c300
movq %rax, -0x108(%rbp)
jmp 0x1a8e1
movq -0x108(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x1c1c0
movq %rax, -0x80(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1c160
testb $0x1, %al
jne 0x1a917
jmp 0x1a9a8
movq 0x6069a(%rip), %rdi     # 0x7afb8
leaq 0x3ccf2(%rip), %rsi     # 0x57617
callq 0x31e0
movq %rax, -0x110(%rbp)
jmp 0x1a933
leaq -0x38(%rbp), %rdi
callq 0x1c330
movq -0x110(%rbp), %rdi
movsbl (%rax), %esi
callq 0x3250
movq %rax, -0x118(%rbp)
jmp 0x1a954
movq -0x118(%rbp), %rdi
leaq 0x3ccb8(%rip), %rsi     # 0x5761a
callq 0x31e0
movq %rax, -0x120(%rbp)
jmp 0x1a970
leaq -0x38(%rbp), %rdi
callq 0x1c330
movq -0x120(%rbp), %rdi
movl 0x4(%rax), %esi
callq 0x3350
movq %rax, -0x128(%rbp)
jmp 0x1a991
movq -0x128(%rbp), %rdi
movq 0x605f9(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x1a9a6
jmp 0x1a9db
movq 0x60609(%rip), %rdi     # 0x7afb8
leaq 0x3c9d6(%rip), %rsi     # 0x5738c
callq 0x31e0
movq %rax, -0x130(%rbp)
jmp 0x1a9c4
movq -0x130(%rbp), %rdi
movq 0x605c6(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x1a9d9
jmp 0x1a9db
movb $0x21, -0x89(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x89(%rbp), %rsi
callq 0x1c300
movq %rax, -0x138(%rbp)
jmp 0x1a9fb
movq -0x138(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x1c1c0
movq %rax, -0x98(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x1c160
testb $0x1, %al
jne 0x1aa3d
jmp 0x1aace
movq 0x60574(%rip), %rdi     # 0x7afb8
leaq 0x3cbcc(%rip), %rsi     # 0x57617
callq 0x31e0
movq %rax, -0x140(%rbp)
jmp 0x1aa59
leaq -0x38(%rbp), %rdi
callq 0x1c330
movq -0x140(%rbp), %rdi
movsbl (%rax), %esi
callq 0x3250
movq %rax, -0x148(%rbp)
jmp 0x1aa7a
movq -0x148(%rbp), %rdi
leaq 0x3cb92(%rip), %rsi     # 0x5761a
callq 0x31e0
movq %rax, -0x150(%rbp)
jmp 0x1aa96
leaq -0x38(%rbp), %rdi
callq 0x1c330
movq -0x150(%rbp), %rdi
movl 0x4(%rax), %esi
callq 0x3350
movq %rax, -0x158(%rbp)
jmp 0x1aab7
movq -0x158(%rbp), %rdi
movq 0x604d3(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x1aacc
jmp 0x1ab01
movq 0x604e3(%rip), %rdi     # 0x7afb8
leaq 0x3c8b0(%rip), %rsi     # 0x5738c
callq 0x31e0
movq %rax, -0x160(%rbp)
jmp 0x1aaea
movq -0x160(%rbp), %rdi
movq 0x604a0(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x1aaff
jmp 0x1ab01
movb $0x3f, -0xa9(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xa9(%rbp), %rsi
callq 0x1c300
movq %rax, -0x168(%rbp)
jmp 0x1ab21
movq -0x168(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0xa0(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x1c350
movq -0xa0(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x1c1c0
movq %rax, -0xc0(%rbp)
leaq -0xb8(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x1c350
leaq -0x40(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x1c370
testb $0x1, %al
jne 0x1ab89
jmp 0x1ac1a
movq 0x60428(%rip), %rdi     # 0x7afb8
leaq 0x3ca80(%rip), %rsi     # 0x57617
callq 0x31e0
movq %rax, -0x170(%rbp)
jmp 0x1aba5
leaq -0x40(%rbp), %rdi
callq 0x1c3a0
movq -0x170(%rbp), %rdi
movsbl (%rax), %esi
callq 0x3250
movq %rax, -0x178(%rbp)
jmp 0x1abc6
movq -0x178(%rbp), %rdi
leaq 0x3ca46(%rip), %rsi     # 0x5761a
callq 0x31e0
movq %rax, -0x180(%rbp)
jmp 0x1abe2
leaq -0x40(%rbp), %rdi
callq 0x1c3a0
movq -0x180(%rbp), %rdi
movl 0x4(%rax), %esi
callq 0x3350
movq %rax, -0x188(%rbp)
jmp 0x1ac03
movq -0x188(%rbp), %rdi
movq 0x60387(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x1ac18
jmp 0x1ac4d
movq 0x60397(%rip), %rdi     # 0x7afb8
leaq 0x3c764(%rip), %rsi     # 0x5738c
callq 0x31e0
movq %rax, -0x190(%rbp)
jmp 0x1ac36
movq -0x190(%rbp), %rdi
movq 0x60354(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x1ac4b
jmp 0x1ac4d
movb $0x2d, -0xd1(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xd1(%rbp), %rsi
callq 0x1c300
movq %rax, -0x198(%rbp)
jmp 0x1ac6d
movq -0x198(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0xc8(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x1c350
movq -0xc8(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x1c1c0
movq %rax, -0xe8(%rbp)
leaq -0xe0(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x1c350
leaq -0x40(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x1c370
testb $0x1, %al
jne 0x1acd5
jmp 0x1ad66
movq 0x602dc(%rip), %rdi     # 0x7afb8
leaq 0x3c934(%rip), %rsi     # 0x57617
callq 0x31e0
movq %rax, -0x1a0(%rbp)
jmp 0x1acf1
leaq -0x40(%rbp), %rdi
callq 0x1c3a0
movq -0x1a0(%rbp), %rdi
movsbl (%rax), %esi
callq 0x3250
movq %rax, -0x1a8(%rbp)
jmp 0x1ad12
movq -0x1a8(%rbp), %rdi
leaq 0x3c8fa(%rip), %rsi     # 0x5761a
callq 0x31e0
movq %rax, -0x1b0(%rbp)
jmp 0x1ad2e
leaq -0x40(%rbp), %rdi
callq 0x1c3a0
movq -0x1b0(%rbp), %rdi
movl 0x4(%rax), %esi
callq 0x3350
movq %rax, -0x1b8(%rbp)
jmp 0x1ad4f
movq -0x1b8(%rbp), %rdi
movq 0x6023b(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x1ad64
jmp 0x1ad99
movq 0x6024b(%rip), %rdi     # 0x7afb8
leaq 0x3c618(%rip), %rsi     # 0x5738c
callq 0x31e0
movq %rax, -0x1c0(%rbp)
jmp 0x1ad82
movq -0x1c0(%rbp), %rdi
movq 0x60208(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x1ad97
jmp 0x1ad99
leaq -0x30(%rbp), %rdi
callq 0x1c230
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x3360
nopw %cs:(%rax,%rax)