// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/map/test_map_non_member_overloads.cpp
// Function: test_map_non_member_overloads_relation_operators()
void
test_map_non_member_overloads_relation_operators()
{
	ft::map<char, int> foo, bar;
	foo['a'] = 100;
	foo['b'] = 200;
	bar['a'] = 10;
	bar['z'] = 1000;

	if (foo == bar) std::cout << "foo and bar are equal" << std::endl;
	if (foo != bar) std::cout << "foo and bar are not equal" << std::endl;
	if (foo < bar) std::cout << "foo is less than bar" << std::endl;
	if (foo > bar) std::cout << "foo is greater than bar" << std::endl;
	if (foo <= bar) std::cout << "foo is less than or equal to bar" << std::endl;
	if (foo >= bar) std::cout << "foo is greater than or equal to bar" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x68, %rsp
leaq -0x78(%rbp), %rbx
xorl %eax, %eax
movl %eax, (%rbx)
movq %rax, 0x8(%rbx)
movq %rbx, 0x10(%rbx)
movq %rbx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
leaq -0x48(%rbp), %r14
movl %eax, (%r14)
movq %rax, 0x8(%r14)
movq %r14, 0x10(%r14)
movq %r14, 0x18(%r14)
movq %rax, 0x20(%r14)
leaq -0x19(%rbp), %rsi
movb $0x61, (%rsi)
leaq -0x80(%rbp), %rdi
callq 0xcf7a
movl $0x64, (%rax)
leaq -0x19(%rbp), %rsi
movb $0x62, (%rsi)
leaq -0x80(%rbp), %rdi
callq 0xcf7a
movl $0xc8, (%rax)
leaq -0x19(%rbp), %rsi
movb $0x61, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0xcf7a
movl $0xa, (%rax)
leaq -0x19(%rbp), %rsi
movb $0x7a, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0xcf7a
movl $0x3e8, (%rax)          # imm = 0x3E8
movq -0x58(%rbp), %rax
cmpq -0x28(%rbp), %rax
jne 0xe42c
movq -0x68(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq %rbx, %rsi
callq 0xe95e
testb %al, %al
je 0xe42c
movq 0x25be3(%rip), %r15     # 0x33fd0
leaq 0x1806e(%rip), %rsi     # 0x26462
movl $0x15, %edx
movq %r15, %rdi
callq 0x2230
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x25bb1(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x58(%rbp), %rax
cmpq -0x28(%rbp), %rax
jne 0xe44a
movq -0x68(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq %rbx, %rsi
callq 0xe95e
testb %al, %al
jne 0xe490
movq 0x25b7f(%rip), %r15     # 0x33fd0
leaq 0x18020(%rip), %rsi     # 0x26478
movl $0x19, %edx
movq %r15, %rdi
callq 0x2230
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x25b4d(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x68(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq %rbx, %rsi
movq %r14, %rcx
callq 0xe9c3
testb %al, %al
je 0xe4ed
movq 0x25b22(%rip), %r15     # 0x33fd0
leaq 0x17fdd(%rip), %rsi     # 0x26492
movl $0x14, %edx
movq %r15, %rdi
callq 0x2230
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x25af0(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x38(%rbp), %rdi
movq -0x68(%rbp), %rdx
movq %r14, %rsi
movq %rbx, %rcx
callq 0xe9c3
testb %al, %al
je 0xe54a
movq 0x25ac5(%rip), %r15     # 0x33fd0
leaq 0x17f95(%rip), %rsi     # 0x264a7
movl $0x17, %edx
movq %r15, %rdi
callq 0x2230
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x25a93(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x38(%rbp), %rdi
movq -0x68(%rbp), %rdx
movq %r14, %rsi
movq %rbx, %rcx
callq 0xe9c3
testb %al, %al
jne 0xe5a7
movq 0x25a68(%rip), %r15     # 0x33fd0
leaq 0x17f50(%rip), %rsi     # 0x264bf
movl $0x20, %edx
movq %r15, %rdi
callq 0x2230
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x25a36(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x68(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq %rbx, %rsi
movq %r14, %rcx
callq 0xe9c3
testb %al, %al
jne 0xe604
movq 0x25a0b(%rip), %rbx     # 0x33fd0
leaq 0x17f14(%rip), %rsi     # 0x264e0
movl $0x23, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x259d9(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x50(%rbp), %rdi
callq 0xcfe2
leaq -0x80(%rbp), %rdi
callq 0xcfe2
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0xe629
jmp 0xe629
jmp 0xe629
jmp 0xe629
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0xcfe2
leaq -0x80(%rbp), %rdi
callq 0xcfe2
movq %rbx, %rdi
callq 0x2340