// File: /workspace/github_cpp_makefile_star2_O3/AMDmi3[P]testing/./testing.h
// Function: Tester::ExpectNoException(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::function<void ()>&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int, Tester::DummyArgument)
void ExpectNoException(const std::string& expression_str, std::function<void()>&& func, const std::string& description, int flags, DummyArgument) {
		bool thrown = false;
		bool std_exception = false;

		std::string what;

		try {
			func();
		} catch (std::exception& e) {
			thrown = true;
			std_exception = true;
			what = e.what();
		} catch (...) {
			thrown = true;
		}

		std::string message;

		if (thrown && std_exception)
			message = Stylify(EXPRESSION, expression_str) + " has thrown unexpected exception derived from std::exception (what(): " + Stylify(LITERAL, what) + ")";
		else if (thrown)
			message = Stylify(EXPRESSION, expression_str) + " has thrown unexpected exception not derived from std::exception";
		else
			message = Stylify(EXPRESSION, expression_str) + " hasn't thrown any exceptions as expected";

		RegisterTest(!thrown, flags, message, description);
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movl %r8d, %ebp
movq %rcx, %rbx
movq %rsi, %r15
movq %rdi, %r14
leaq 0xb8(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
cmpq $0x0, 0x10(%rdx)
je 0x44e4
movq %rdx, %rdi
callq *0x18(%rdx)
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
movl $0x4, %edx
movq %r15, %rcx
callq 0x4978
leaq 0x6198(%rip), %rsi      # 0xa585
leaq 0x8(%rsp), %rdi
callq 0x2260
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x441e
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4426
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x48(%rsp), %r15
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
movq %r15, %rsi
callq 0x21a0
movq (%r15), %rdi
cmpq %r13, %rdi
je 0x4464
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2170
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x447f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2170
movb $0x1, %al
movzbl %al, %esi
leaq 0x68(%rsp), %rcx
movq %r14, %rdi
movl %ebp, %edx
movq %rbx, %r8
callq 0x4ace
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x44ad
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2170
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x44d2
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x2170
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x2080
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x450e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2170
jmp 0x450e
jmp 0x450b
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x4525
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2170
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x454a
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x2170
movq %rbx, %rdi
callq 0x2240
movq %rdx, %r12
movq %rax, %rdi
callq 0x20a0
cmpl $0x2, %r12d
jne 0x45f7
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
leaq 0xa8(%rsp), %rdi
movq %rax, %rsi
callq 0x21c0
callq 0x2200
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
leaq 0xc8(%rsp), %rdi
movq %r14, %rsi
movl $0x4, %edx
movq %r15, %rcx
callq 0x4978
leaq 0x5f41(%rip), %rsi      # 0xa4fd
leaq 0xc8(%rsp), %rdi
callq 0x2260
leaq 0x38(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x46c3
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x46ce
callq 0x2200
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
movl $0x4, %edx
movq %r15, %rcx
callq 0x4978
leaq 0x5f14(%rip), %rsi      # 0xa544
leaq 0x8(%rsp), %rdi
callq 0x2260
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4661
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4669
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x48(%rsp), %r15
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
movq %r15, %rsi
callq 0x21a0
movq (%r15), %rdi
cmpq %r13, %rdi
je 0x46a7
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2170
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x48b7
movq 0x18(%rsp), %rsi
jmp 0x48af
movups (%rcx), %xmm0
leaq 0x38(%rsp), %rdx
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x88(%rsp), %rdi
leaq 0xa8(%rsp), %rcx
movq %r14, %rsi
movl $0x3, %edx
callq 0x4978
movq 0x28(%rsp), %rcx
movq 0x30(%rsp), %r8
movq 0x90(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq 0x38(%rsp), %rsi
cmpq %rsi, %rcx
je 0x472d
movq 0x38(%rsp), %rdi
movq 0x88(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x4759
leaq 0x98(%rsp), %r9
movl $0xf, %edi
cmpq %r9, %rsi
je 0x4754
movq 0x98(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x4765
leaq 0x28(%rsp), %rdi
callq 0x2060
jmp 0x4776
leaq 0x88(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2180
leaq 0x18(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x479a
movq %rsi, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x47a0
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x58ed(%rip), %rsi      # 0xa0b1
leaq 0x8(%rsp), %rdi
callq 0x2260
leaq 0x58(%rsp), %rcx
movq %rcx, %r13
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x47f8
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x4800
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x48(%rsp), %r15
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
movq %r15, %rsi
callq 0x21a0
movq (%r15), %rdi
cmpq %r13, %rdi
je 0x483e
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2170
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4859
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2170
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x487a
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x2170
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4896
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2170
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x48b7
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x2170
xorl %eax, %eax
jmp 0x4481
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x48e1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2170
jmp 0x48e1
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4907
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x2170
jmp 0x4907
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4934
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x2170
jmp 0x4934
jmp 0x44e9
jmp 0x450b
jmp 0x495b
movq %rax, %rbx
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x450e
movq 0xd8(%rsp), %rsi
jmp 0x44ff
jmp 0x450b
movq %rax, %rbx
jmp 0x4525
movq %rax, %rbx
callq 0x2200
jmp 0x4525
movq %rax, %rdi
callq 0x42e1