// File: /workspace/github_cpp_makefile_star2_O1/DimitriDaSilva[P]42_ft_containers/tester/containers/set/test_set_non_member_overloads.cpp
// Function: test_set_non_member_overloads_relation_operators()
void
test_set_non_member_overloads_relation_operators()
{
	ft::set<int> foo, bar;

	foo.insert(10);
	bar.insert(20);
	bar.insert(30);
	foo.insert(40);

	// foo ({10,40}) vs bar ({20,30}):
	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 -0x1c(%rbp), %rsi
movl $0xa, (%rsi)
leaq -0x80(%rbp), %rdi
callq 0x4e76
leaq -0x1c(%rbp), %rsi
movl $0x14, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x4e76
leaq -0x1c(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x4e76
leaq -0x1c(%rbp), %rsi
movl $0x28, (%rsi)
leaq -0x80(%rbp), %rdi
callq 0x4e76
movq -0x58(%rbp), %rax
cmpq -0x28(%rbp), %rax
jne 0xa0e0
movq -0x68(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq %rbx, %rsi
callq 0xa504
testb %al, %al
je 0xa0e0
movq 0x29f2f(%rip), %r15     # 0x33fd0
leaq 0x1c3ba(%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 0x29efd(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x58(%rbp), %rax
cmpq -0x28(%rbp), %rax
jne 0xa0fe
movq -0x68(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq %rbx, %rsi
callq 0xa504
testb %al, %al
jne 0xa144
movq 0x29ecb(%rip), %r15     # 0x33fd0
leaq 0x1c36c(%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 0x29e99(%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 0xa55e
testb %al, %al
je 0xa1a1
movq 0x29e6e(%rip), %r15     # 0x33fd0
leaq 0x1c329(%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 0x29e3c(%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 0xa55e
testb %al, %al
je 0xa1fe
movq 0x29e11(%rip), %r15     # 0x33fd0
leaq 0x1c2e1(%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 0x29ddf(%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 0xa55e
testb %al, %al
jne 0xa25b
movq 0x29db4(%rip), %r15     # 0x33fd0
leaq 0x1c29c(%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 0x29d82(%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 0xa55e
testb %al, %al
jne 0xa2b8
movq 0x29d57(%rip), %rbx     # 0x33fd0
leaq 0x1c260(%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 0x29d25(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x50(%rbp), %rdi
callq 0x35fe
leaq -0x80(%rbp), %rdi
callq 0x35fe
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0xa2dd
jmp 0xa2dd
jmp 0xa2dd
jmp 0xa2dd
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x35fe
leaq -0x80(%rbp), %rdi
callq 0x35fe
movq %rbx, %rdi
callq 0x2340