// File: /workspace/github_cpp_makefile_star2_O3/dadocolussi[P]gdc-circular_queue/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 );
            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), %r12
movq %r12, -0x10(%r12)
xorl %eax, %eax
movq %rax, -0x8(%r12)
movb %al, (%r12)
leaq 0x18(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x88(%rsp), %rdi
movq %rdx, %rsi
callq 0xec6a
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 0x1d380
movq 0x200(%r14), %rax
movq %rax, 0x208(%r14)
movl $0x1, 0x210(%r14)
movq %r15, %rdi
movq %r12, %rsi
callq 0x1b810
movq %rax, 0x40(%r14)
movq %r14, %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0x1d48c
movq 0x40(%r14), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
jne 0x144ea
movq (%r14), %rax
movq %r14, %rdi
callq *0x58(%rax)
testb %al, %al
je 0x14499
callq 0xe13b
movq (%rax), %rcx
movq %rax, %rdi
callq *0x28(%rcx)
testb %al, %al
je 0x14509
movq (%r14), %rax
movq %r14, %rdi
callq *0x58(%rax)
testb %al, %al
je 0x14491
movq 0x110(%r14), %rax
subq 0x50(%rsp), %rax
movq 0x118(%r14), %rcx
movq 0x120(%r14), %rdx
movq %rax, (%rbx)
xorl %eax, %eax
subq 0x58(%rsp), %rdx
setne %al
shll $0x4, %eax
addq $0x18, %rax
subq 0x60(%rsp), %rcx
movq %rcx, 0x8(%rbx)
movq %rdx, 0x10(%rbx)
movl $0x20, %ecx
cmoveq %rax, %rcx
movq 0x138(%r14), %rax
movq %rax, %rdx
subq 0x68(%rsp), %rdx
movdqu 0x128(%r14), %xmm0
movdqa %xmm0, %xmm1
psubq 0x70(%rsp), %xmm1
movdqu %xmm1, 0x18(%rbx)
movq %rdx, 0x28(%rbx)
incq (%rbx,%rcx)
movdqu 0x18(%rbx), %xmm1
paddq %xmm0, %xmm1
movdqu %xmm1, 0x128(%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 0x1c2c8
movq (%r15), %rax
leaq 0x198(%rsp), %rsi
movq %r15, %rdi
leaq 0x38(%rsp), %r14
callq *0x68(%rax)
leaq 0x198(%rsp), %rdi
callq 0x13290
pxor %xmm0, %xmm0
movq 0x48(%rsp), %rax
movdqu %xmm0, (%rax)
leaq 0x88(%rsp), %rdi
callq 0x15090
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x14628
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb4a0
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x1463f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb4a0
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 0x13290
jmp 0x14674
jmp 0x14671
movq %rax, %rbx
jmp 0x14686
jmp 0x14671
jmp 0x14671
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x15090
leaq 0x38(%rsp), %r12
leaq 0x18(%rsp), %rax
movq 0x8(%rsp), %rdi
cmpq %rax, %rdi
je 0x146a2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb4a0
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x146b9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb4a0
movq %rbx, %rdi
callq 0xb820
nop