// File: /workspace/github_cpp_makefile_star2_O3/dadocolussi[P]gdc-nanomap/unit_tests/catch.hpp
// Function: Catch::RunContext::runTest(Catch::TestCase const&)
Totals runTest( TestCase const& testCase ) {
            Totals prevTotals = m_totals;

            std::string redirectedCout;
            std::string redirectedCerr;

            TestCaseInfo testInfo = testCase.getTestCaseInfo();

            m_reporter->testCaseStarting( testInfo );

            m_activeTestCase = &testCase;

            do {
                m_trackerContext.startRun();
                do {
                    m_trackerContext.startCycle();
                    m_testCaseTracker = &SectionTracker::acquire( m_trackerContext, testInfo.name );
                    runCurrentTest( redirectedCout, redirectedCerr );
                }
                while( !m_testCaseTracker->isSuccessfullyCompleted() && !aborting() );
            }
            // !TBD: deprecated - this will be replaced by indexed trackers
            while( getCurrentContext().advanceGeneratorsForCurrentTest() && !aborting() );

            Totals deltaTotals = m_totals.delta( prevTotals );
            if( testInfo.expectedToFail() && deltaTotals.testCases.passed > 0 ) {
                deltaTotals.assertions.failed++;
                deltaTotals.testCases.passed--;
                deltaTotals.testCases.failed++;
            }
            m_totals.testCases += deltaTotals.testCases;
            m_reporter->testCaseEnded( TestCaseStats(   testInfo,
                                                        deltaTotals,
                                                        redirectedCout,
                                                        redirectedCerr,
                                                        aborting() ) );

            m_activeTestCase = CATCH_NULL;
            m_testCaseTracker = CATCH_NULL;

            return deltaTotals;
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x328, %rsp            # imm = 0x328
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
movq 0x110(%rsi), %rax
movq %rax, 0x50(%rsp)
movq 0x118(%rsi), %rax
movq %rax, 0x60(%rsp)
movq 0x120(%rsi), %rax
movq %rax, 0x58(%rsp)
movdqu 0x128(%rsi), %xmm0
movdqa %xmm0, 0x70(%rsp)
movq 0x138(%rsi), %rax
movq %rax, 0x68(%rsp)
leaq 0x38(%rsp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x18(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x88(%rsp), %rdi
movq %rdx, %rsi
callq 0xd82c
movq 0x140(%r14), %rdi
movq (%rdi), %rax
leaq 0x88(%rsp), %rsi
callq *0x40(%rax)
leaq 0x38(%r14), %rax
movq %rax, 0x48(%rsp)
movq %r15, 0x38(%r14)
leaq 0x200(%r14), %r15
leaq 0x88(%rsp), %r12
leaq 0x28(%rsp), %r13
leaq 0x8(%rsp), %rbp
movq %r15, %rdi
callq 0x2ba3a
movq 0x200(%r14), %rax
movq %rax, 0x208(%r14)
movl $0x1, 0x210(%r14)
movq %r15, %rdi
movq %r12, %rsi
callq 0x29ed8
movq %rax, 0x40(%r14)
movq %r14, %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0x2bb46
movq 0x40(%r14), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
jne 0x22b2e
movq (%r14), %rax
movq %r14, %rdi
callq *0x58(%rax)
testb %al, %al
je 0x22add
callq 0xcced
movq (%rax), %rcx
movq %rax, %rdi
callq *0x28(%rcx)
testb %al, %al
je 0x22b4d
movq (%r14), %rax
movq %r14, %rdi
callq *0x58(%rax)
testb %al, %al
je 0x22ad5
movq 0x110(%r14), %rax
subq 0x50(%rsp), %rax
movq 0x118(%r14), %rcx
movq 0x120(%r14), %rdx
xorl %esi, %esi
subq 0x58(%rsp), %rdx
setne %sil
shll $0x4, %esi
addq $0x18, %rsi
subq 0x60(%rsp), %rcx
movq %rax, (%rbx)
movq %rcx, 0x8(%rbx)
movq %rdx, 0x10(%rbx)
movq 0x138(%r14), %rax
movl $0x20, %edx
cmoveq %rsi, %rdx
movq %rax, %rsi
subq 0x68(%rsp), %rsi
movdqu 0x128(%r14), %xmm0
movdqa %xmm0, %xmm1
psubq 0x70(%rsp), %xmm1
movdqu %xmm1, 0x18(%rbx)
movq %rsi, 0x28(%rbx)
incq (%rbx,%rdx)
movb 0x190(%rsp), %dil
shrb $0x2, %dil
movq 0x18(%rbx), %rsi
movq 0x20(%rbx), %rdx
testq %rsi, %rsi
setne %r8b
andb %dil, %r8b
cmpb $0x1, %r8b
jne 0x22bfa
incq %rcx
movq %rcx, 0x8(%rbx)
decq %rsi
movq %rsi, 0x18(%rbx)
incq %rdx
movq %rdx, 0x20(%rbx)
movq %xmm0, %rcx
addq %rsi, %rcx
movq %rcx, 0x128(%r14)
pshufd $0xee, %xmm0, %xmm0     # xmm0 = xmm0[2,3,2,3]
movq %xmm0, %rcx
addq %rdx, %rcx
movq %rcx, 0x130(%r14)
addq 0x28(%rbx), %rax
movq %rax, 0x138(%r14)
movq 0x140(%r14), %r15
movq (%r14), %rax
movq %r14, %rdi
callq *0x58(%rax)
movzbl %al, %r9d
leaq 0x198(%rsp), %rdi
leaq 0x88(%rsp), %rsi
leaq 0x28(%rsp), %rcx
leaq 0x8(%rsp), %r8
movq %rbx, %rdx
callq 0x2a982
movq (%r15), %rax
leaq 0x198(%rsp), %rsi
movq %r15, %rdi
callq *0x68(%rax)
leaq 0x198(%rsp), %rdi
callq 0x11e52
pxor %xmm0, %xmm0
movq 0x48(%rsp), %rax
movdqu %xmm0, (%rax)
leaq 0x88(%rsp), %rdi
callq 0x2371e
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
leaq 0x38(%rsp), %r14
je 0x22cb7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xa3a0
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x22cce
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xa3a0
movq %rbx, %rax
addq $0x328, %rsp            # imm = 0x328
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
callq 0x11e52
jmp 0x22d03
jmp 0x22d00
movq %rax, %rbx
jmp 0x22d10
jmp 0x22d00
jmp 0x22d00
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x2371e
leaq 0x38(%rsp), %r14
leaq 0x18(%rsp), %rax
movq 0x8(%rsp), %rdi
cmpq %rax, %rdi
je 0x22d31
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xa3a0
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x22d48
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xa3a0
movq %rbx, %rdi
callq 0xa660