// File: AMDmi3[P]dangling_ptr/tests/testing.h
// Function: void Tester::ExpectEqual<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int, Tester::DummyArgument)
void ExpectEqual(const std::string& expression_str, const T1& sample, const T2& expected, const std::string& description, int flags, DummyArgument) {
		std::string message;

		if (sample == expected)
			message = Stylify(EXPRESSION, expression_str) + " returned " + Stylify(LITERAL, QuoteLiteral(sample)) + " as expected";
		else
			message = Stylify(EXPRESSION, expression_str) + " returned " + Stylify(LITERAL, QuoteLiteral(sample)) + " while expected " + Stylify(LITERAL, QuoteLiteral(expected));

		RegisterTest(sample == expected, flags, message, description);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movl %r9d, -0x34(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x2b0(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x32d0
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xff10
testb $0x1, %al
jne 0xf9bd
jmp 0xfbb4
movq -0x2b0(%rbp), %rsi
movq -0x18(%rbp), %rcx
leaq -0xd8(%rbp), %rdi
movl $0x4, %edx
callq 0xf1b0
jmp 0xf9db
leaq 0x2b92(%rip), %rdx      # 0x12574
leaq -0xb8(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0xc8e0
jmp 0xf9f7
movq -0x20(%rbp), %rsi
leaq -0x148(%rbp), %rdi
callq 0x30b0
jmp 0xfa09
leaq -0x128(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0x3510
jmp 0xfa1e
movq -0x2b0(%rbp), %rsi
leaq -0x108(%rbp), %rdi
movl $0x3, %edx
leaq -0x128(%rbp), %rcx
callq 0xf1b0
jmp 0xfa3f
leaq -0x98(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0x108(%rbp), %rdx
callq 0xc710
jmp 0xfa5b
leaq 0x2b1d(%rip), %rdx      # 0x1257f
leaq -0x78(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0xc8e0
jmp 0xfa74
leaq -0x58(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x3280
leaq -0x78(%rbp), %rdi
callq 0x3130
leaq -0x98(%rbp), %rdi
callq 0x3130
leaq -0x108(%rbp), %rdi
callq 0x3130
leaq -0x128(%rbp), %rdi
callq 0x3130
leaq -0x148(%rbp), %rdi
callq 0x3130
leaq -0xb8(%rbp), %rdi
callq 0x3130
leaq -0xd8(%rbp), %rdi
callq 0x3130
jmp 0xfeba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfef5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfb97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfb8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfb7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfb73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x3130
leaq -0x108(%rbp), %rdi
callq 0x3130
leaq -0x128(%rbp), %rdi
callq 0x3130
leaq -0x148(%rbp), %rdi
callq 0x3130
leaq -0xb8(%rbp), %rdi
callq 0x3130
leaq -0xd8(%rbp), %rdi
callq 0x3130
jmp 0xfef5
movq -0x2b0(%rbp), %rsi
movq -0x18(%rbp), %rcx
leaq -0x1e8(%rbp), %rdi
movl $0x4, %edx
callq 0xf1b0
jmp 0xfbd2
leaq 0x299b(%rip), %rdx      # 0x12574
leaq -0x1c8(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0xc8e0
jmp 0xfbee
movq -0x20(%rbp), %rsi
leaq -0x248(%rbp), %rdi
callq 0x30b0
jmp 0xfc00
leaq -0x228(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x3510
jmp 0xfc15
movq -0x2b0(%rbp), %rsi
leaq -0x208(%rbp), %rdi
movl $0x3, %edx
leaq -0x228(%rbp), %rcx
callq 0xf1b0
jmp 0xfc36
leaq -0x1a8(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
leaq -0x208(%rbp), %rdx
callq 0xc710
jmp 0xfc52
leaq 0x2a93(%rip), %rdx      # 0x126ec
leaq -0x188(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0xc8e0
jmp 0xfc6e
movq -0x28(%rbp), %rsi
leaq -0x2a8(%rbp), %rdi
callq 0x30b0
jmp 0xfc80
leaq -0x288(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x3510
jmp 0xfc95
movq -0x2b0(%rbp), %rsi
leaq -0x268(%rbp), %rdi
movl $0x3, %edx
leaq -0x288(%rbp), %rcx
callq 0xf1b0
jmp 0xfcb6
leaq -0x168(%rbp), %rdi
leaq -0x188(%rbp), %rsi
leaq -0x268(%rbp), %rdx
callq 0xc710
jmp 0xfcd2
leaq -0x58(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x3280
leaq -0x168(%rbp), %rdi
callq 0x3130
leaq -0x268(%rbp), %rdi
callq 0x3130
leaq -0x288(%rbp), %rdi
callq 0x3130
leaq -0x2a8(%rbp), %rdi
callq 0x3130
leaq -0x188(%rbp), %rdi
callq 0x3130
leaq -0x1a8(%rbp), %rdi
callq 0x3130
leaq -0x208(%rbp), %rdi
callq 0x3130
leaq -0x228(%rbp), %rdi
callq 0x3130
leaq -0x248(%rbp), %rdi
callq 0x3130
leaq -0x1c8(%rbp), %rdi
callq 0x3130
leaq -0x1e8(%rbp), %rdi
callq 0x3130
jmp 0xfeba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfeac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfea0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfe94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfe88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfe7c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfe70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfe64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfe58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0xfe4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x268(%rbp), %rdi
callq 0x3130
leaq -0x288(%rbp), %rdi
callq 0x3130
leaq -0x2a8(%rbp), %rdi
callq 0x3130
leaq -0x188(%rbp), %rdi
callq 0x3130
leaq -0x1a8(%rbp), %rdi
callq 0x3130
leaq -0x208(%rbp), %rdi
callq 0x3130
leaq -0x228(%rbp), %rdi
callq 0x3130
leaq -0x248(%rbp), %rdi
callq 0x3130
leaq -0x1c8(%rbp), %rdi
callq 0x3130
leaq -0x1e8(%rbp), %rdi
callq 0x3130
jmp 0xfef5
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xff10
movq -0x2b0(%rbp), %rdi
movl -0x34(%rbp), %edx
movq -0x30(%rbp), %r8
movzbl %al, %esi
leaq -0x58(%rbp), %rcx
callq 0xed20
jmp 0xfee3
leaq -0x58(%rbp), %rdi
callq 0x3130
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
leaq -0x58(%rbp), %rdi
callq 0x3130
movq -0xe0(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)