// File: /workspace/github_cpp_makefile_star2_O3/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 0x4e54
leaq -0x1c(%rbp), %rsi
movl $0x14, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x4e54
leaq -0x1c(%rbp), %rsi
movl $0x1e, (%rsi)
leaq -0x50(%rbp), %rdi
callq 0x4e54
leaq -0x1c(%rbp), %rsi
movl $0x28, (%rsi)
leaq -0x80(%rbp), %rdi
callq 0x4e54
movq -0x58(%rbp), %rax
cmpq -0x28(%rbp), %rax
jne 0xa154
movq -0x68(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq %rbx, %rsi
callq 0xa578
testb %al, %al
je 0xa154
movq 0x29ebb(%rip), %r15     # 0x33fd0
leaq 0x1c346(%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 0x29e89(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x58(%rbp), %rax
cmpq -0x28(%rbp), %rax
jne 0xa172
movq -0x68(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq %rbx, %rsi
callq 0xa578
testb %al, %al
jne 0xa1b8
movq 0x29e57(%rip), %r15     # 0x33fd0
leaq 0x1c2f8(%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 0x29e25(%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 0xa5cb
testb %al, %al
je 0xa215
movq 0x29dfa(%rip), %r15     # 0x33fd0
leaq 0x1c2b5(%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 0x29dc8(%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 0xa5cb
testb %al, %al
je 0xa272
movq 0x29d9d(%rip), %r15     # 0x33fd0
leaq 0x1c26d(%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 0x29d6b(%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 0xa5cb
testb %al, %al
jne 0xa2cf
movq 0x29d40(%rip), %r15     # 0x33fd0
leaq 0x1c228(%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 0x29d0e(%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 0xa5cb
testb %al, %al
jne 0xa32c
movq 0x29ce3(%rip), %rbx     # 0x33fd0
leaq 0x1c1ec(%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 0x29cb1(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x50(%rbp), %rdi
callq 0x3602
leaq -0x80(%rbp), %rdi
callq 0x3602
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0xa351
jmp 0xa351
jmp 0xa351
jmp 0xa351
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x3602
leaq -0x80(%rbp), %rdi
callq 0x3602
movq %rbx, %rdi
callq 0x2340