// File: 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
subq $0x100, %rsp            # imm = 0x100
leaq -0x30(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x1bf70
leaq -0x60(%rbp), %rdi
callq 0x1bf70
movq -0x88(%rbp), %rdi
movb $0x61, -0x61(%rbp)
leaq -0x61(%rbp), %rsi
callq 0x1c3f0
movq %rax, -0x80(%rbp)
jmp 0x20e9e
movq -0x80(%rbp), %rax
movl $0x64, (%rax)
movb $0x62, -0x75(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x75(%rbp), %rsi
callq 0x1c3f0
movq %rax, -0x90(%rbp)
jmp 0x20ec2
movq -0x90(%rbp), %rax
movl $0xc8, (%rax)
movb $0x61, -0x76(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x76(%rbp), %rsi
callq 0x1c3f0
movq %rax, -0x98(%rbp)
jmp 0x20ee9
movq -0x98(%rbp), %rax
movl $0xa, (%rax)
movb $0x7a, -0x77(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x77(%rbp), %rsi
callq 0x1c3f0
movq %rax, -0xa0(%rbp)
jmp 0x20f10
movq -0xa0(%rbp), %rax
movl $0x3e8, (%rax)          # imm = 0x3E8
leaq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x213e0
movb %al, -0xa1(%rbp)
jmp 0x20f32
movb -0xa1(%rbp), %al
testb $0x1, %al
jne 0x20f3e
jmp 0x20f94
movq 0x5a073(%rip), %rdi     # 0x7afb8
leaq 0x364f6(%rip), %rsi     # 0x57442
callq 0x31e0
movq %rax, -0xb0(%rbp)
jmp 0x20f5a
movq -0xb0(%rbp), %rdi
movq 0x5a030(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x20f6f
jmp 0x20f94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x1c230
leaq -0x30(%rbp), %rdi
callq 0x1c230
jmp 0x21153
leaq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x21410
movb %al, -0xb1(%rbp)
jmp 0x20fa9
movb -0xb1(%rbp), %al
testb $0x1, %al
jne 0x20fb5
jmp 0x20fe8
movq 0x59ffc(%rip), %rdi     # 0x7afb8
leaq 0x36495(%rip), %rsi     # 0x57458
callq 0x31e0
movq %rax, -0xc0(%rbp)
jmp 0x20fd1
movq -0xc0(%rbp), %rdi
movq 0x59fb9(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x20fe6
jmp 0x20fe8
leaq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x21440
movb %al, -0xc1(%rbp)
jmp 0x20ffd
movb -0xc1(%rbp), %al
testb $0x1, %al
jne 0x21009
jmp 0x2103c
movq 0x59fa8(%rip), %rdi     # 0x7afb8
leaq 0x3645b(%rip), %rsi     # 0x57472
callq 0x31e0
movq %rax, -0xd0(%rbp)
jmp 0x21025
movq -0xd0(%rbp), %rdi
movq 0x59f65(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x2103a
jmp 0x2103c
leaq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x21470
movb %al, -0xd1(%rbp)
jmp 0x21051
movb -0xd1(%rbp), %al
testb $0x1, %al
jne 0x2105d
jmp 0x21090
movq 0x59f54(%rip), %rdi     # 0x7afb8
leaq 0x3641c(%rip), %rsi     # 0x57487
callq 0x31e0
movq %rax, -0xe0(%rbp)
jmp 0x21079
movq -0xe0(%rbp), %rdi
movq 0x59f11(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x2108e
jmp 0x21090
leaq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x214a0
movb %al, -0xe1(%rbp)
jmp 0x210a5
movb -0xe1(%rbp), %al
testb $0x1, %al
jne 0x210b1
jmp 0x210e4
movq 0x59f00(%rip), %rdi     # 0x7afb8
leaq 0x363e0(%rip), %rsi     # 0x5749f
callq 0x31e0
movq %rax, -0xf0(%rbp)
jmp 0x210cd
movq -0xf0(%rbp), %rdi
movq 0x59ebd(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x210e2
jmp 0x210e4
leaq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x214d0
movb %al, -0xf1(%rbp)
jmp 0x210f9
movb -0xf1(%rbp), %al
testb $0x1, %al
jne 0x21105
jmp 0x21138
movq 0x59eac(%rip), %rdi     # 0x7afb8
leaq 0x363ad(%rip), %rsi     # 0x574c0
callq 0x31e0
movq %rax, -0x100(%rbp)
jmp 0x21121
movq -0x100(%rbp), %rdi
movq 0x59e69(%rip), %rsi     # 0x7af98
callq 0x3220
jmp 0x21136
jmp 0x21138
leaq -0x60(%rbp), %rdi
callq 0x1c230
leaq -0x30(%rbp), %rdi
callq 0x1c230
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x3360
nopl (%rax)