// File: /workspace/github_cpp_makefile_star2_O3/dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
void runCurrentTest( std::string& redirectedCout, std::string& redirectedCerr ) {
            TestCaseInfo const& testCaseInfo = m_activeTestCase->getTestCaseInfo();
            SectionInfo testCaseSection( testCaseInfo.lineInfo, testCaseInfo.name, testCaseInfo.description );
            m_reporter->sectionStarting( testCaseSection );
            Counts prevAssertions = m_totals.assertions;
            double duration = 0;
            try {
                m_lastAssertionInfo = AssertionInfo( "TEST_CASE", testCaseInfo.lineInfo, "", ResultDisposition::Normal );

                seedRng( *m_config );

                Timer timer;
                timer.start();
                if( m_reporter->getPreferences().shouldRedirectStdOut ) {
                    StreamRedirect coutRedir( Catch::cout(), redirectedCout );
                    StreamRedirect cerrRedir( Catch::cerr(), redirectedCerr );
                    invokeActiveTestCase();
                }
                else {
                    invokeActiveTestCase();
                }
                duration = timer.getElapsedSeconds();
            }
            catch( TestFailureException& ) {
                // This just means the test was aborted due to failure
            }
            catch(...) {
                makeUnexpectedResultBuilder().useActiveException();
            }
            m_testCaseTracker->close();
            handleUnfinishedSections();
            m_messages.clear();

            Counts assertions = m_totals.assertions - prevAssertions;
            bool missingAssertions = testForMissingAssertions( assertions );

            if( testCaseInfo.okToFail() ) {
                std::swap( assertions.failedButOk, assertions.failed );
                m_totals.assertions.failed -= assertions.failedButOk;
                m_totals.assertions.failedButOk += assertions.failedButOk;
            }

            SectionStats testCaseSectionStats( testCaseSection, assertions, duration, missingAssertions );
            m_reporter->sectionEnded( testCaseSectionStats );
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4e8, %rsp            # imm = 0x4E8
movq %rdx, (%rsp)
movq %rsi, %r12
movq %rdi, %rbx
movq 0x38(%rdi), %r14
leaq 0xe0(%r14), %r13
leaq 0x40(%r14), %rcx
leaq 0x48(%rsp), %rbp
movq %rbp, %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x10244
movq 0x140(%rbx), %rdi
movq (%rdi), %rax
movq %rbp, %rsi
callq *0x48(%rax)
movupd 0x110(%rbx), %xmm0
movapd %xmm0, 0x30(%rsp)
movq 0x120(%rbx), %rax
movq %rax, 0x8(%rsp)
leaq 0xc0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x27738(%rip), %rsi     # 0x44c3e
leaq 0x2773a(%rip), %rdx     # 0x44c47
leaq 0xb0(%rsp), %rdi
callq 0x31a82
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x284b7(%rip), %rdx     # 0x459e1
leaq 0x10(%rsp), %rdi
movq %rdx, %rsi
callq 0x31a82
leaq 0x248(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x10(%rsp), %rcx
movq %r13, %rdx
movl $0x1, %r8d
callq 0xe328
leaq 0x160(%rbx), %rdi
leaq 0x248(%rsp), %rsi
callq 0xb590
leaq 0x180(%rbx), %rdi
leaq 0x268(%rsp), %r13
movq %r13, %rsi
callq 0xb590
movq 0x20(%r13), %rax
movq %rax, 0x1a0(%rbx)
leaq 0x1a8(%rbx), %rdi
leaq 0x290(%rsp), %r13
movq %r13, %rsi
callq 0xb590
movl 0x20(%r13), %eax
movl %eax, 0x1c8(%rbx)
movq (%r13), %rdi
leaq 0x2a0(%rsp), %rax
cmpq %rax, %rdi
je 0x1d5d2
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0xb4a0
leaq 0x278(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1d5f3
movq 0x278(%rsp), %rsi
incq %rsi
callq 0xb4a0
leaq 0x258(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1d614
movq 0x258(%rsp), %rsi
incq %rsi
callq 0xb4a0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x1d62b
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb4a0
movq 0xb0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1d648
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xb4a0
movq 0x108(%rbx), %rdi
callq 0x100be
leaq 0x248(%rsp), %r13
movq %r13, %rdi
xorl %esi, %esi
callq 0xb710
movq (%r13), %rbp
movq 0x8(%r13), %r13
movq 0x140(%rbx), %rdi
movq (%rdi), %rax
callq *0x20(%rax)
testb $0x1, %al
je 0x1d6d2
movq 0x42922(%rip), %rsi     # 0x5ffa8
leaq 0x248(%rsp), %rdi
movq %r12, %rdx
callq 0x1d9e6
movq 0x4294b(%rip), %rsi     # 0x5ffe8
leaq 0xb0(%rsp), %rdi
movq (%rsp), %rdx
callq 0x1d9e6
movq %rbx, %rdi
callq 0x1da66
leaq 0xb0(%rsp), %rdi
callq 0x1dadc
leaq 0x248(%rsp), %rdi
callq 0x1dadc
jmp 0x1d6da
movq %rbx, %rdi
callq 0x1da66
leaq 0x248(%rsp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0xb710
movl (%r15), %eax
movl 0x8(%r15), %ecx
subl %ebp, %eax
imull $0xf4240, %eax, %eax    # imm = 0xF4240
subl %r13d, %ecx
addl %eax, %ecx
cvtsi2sd %rcx, %xmm0
divsd 0x268fb(%rip), %xmm0    # 0x44008
movsd %xmm0, (%rsp)
movq 0x40(%rbx), %rdi
movq (%rdi), %rax
callq *0x50(%rax)
movq %rbx, %rdi
callq 0x1c272
leaq 0x148(%rbx), %rdi
movq 0x148(%rbx), %rsi
callq 0x1b7e0
movdqu 0x110(%rbx), %xmm0
psubq 0x30(%rsp), %xmm0
leaq 0xb0(%rsp), %rsi
movdqa %xmm0, (%rsi)
movq 0x120(%rbx), %rax
subq 0x8(%rsp), %rax
movq %rax, 0x10(%rsi)
movq %rbx, %rdi
callq 0x1bad8
testb $0xc, 0x108(%r14)
je 0x1d7a1
movq 0xb8(%rsp), %rcx
movq 0xc0(%rsp), %rdx
movq %rcx, 0xc0(%rsp)
movq %rdx, 0xb8(%rsp)
subq %rcx, 0x118(%rbx)
addq %rcx, 0x120(%rbx)
movzbl %al, %ecx
leaq 0x248(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
movsd (%rsp), %xmm0
callq 0x1bb2e
movq 0x140(%rbx), %rdi
movq (%rdi), %rax
leaq 0x248(%rsp), %rsi
callq *0x60(%rax)
leaq 0x248(%rsp), %rdi
callq 0x1321e
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1d806
movq 0x98(%rsp), %rsi
incq %rsi
callq 0xb4a0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1d821
movq 0x78(%rsp), %rsi
incq %rsi
callq 0xb4a0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1d83c
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xb4a0
addq $0x4e8, %rsp            # imm = 0x4E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rdx, %r13
movq %rax, %r12
leaq 0xb0(%rsp), %rdi
callq 0x1dadc
jmp 0x1d869
movq %rdx, %r13
movq %rax, %r12
leaq 0x248(%rsp), %rdi
callq 0x1dadc
jmp 0x1d8e9
jmp 0x1d8e3
jmp 0x1d8e3
movq %rax, %rbx
leaq 0x248(%rsp), %rdi
callq 0x1321e
jmp 0x1d997
jmp 0x1d8e3
jmp 0x1d994
jmp 0x1d8e3
jmp 0x1d994
movq %rdx, %r13
movq %rax, %r12
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x1d8c4
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb4a0
jmp 0x1d8c4
movq %rdx, %r13
movq %rax, %r12
movq 0xb0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1d8e9
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0xb4a0
jmp 0x1d8e9
movq %rdx, %r13
movq %rax, %r12
movq %r12, %rdi
callq 0xb190
cmpl $0x2, %r13d
jne 0x1d90a
xorpd %xmm0, %xmm0
movsd %xmm0, (%rsp)
callq 0xb750
jmp 0x1d712
leaq 0x180(%rbx), %rdx
movq 0x160(%rbx), %rsi
movq 0x1a8(%rbx), %rcx
movl 0x1c8(%rbx), %r8d
leaq 0x280b4(%rip), %r9      # 0x459e1
leaq 0x248(%rsp), %rdi
callq 0x113b8
leaq 0x248(%rsp), %rdi
movl $0x1, %esi
callq 0x116d4
leaq 0x248(%rsp), %rdi
callq 0x1519a
xorpd %xmm0, %xmm0
movsd %xmm0, (%rsp)
callq 0xb750
jmp 0x1d712
movq %rax, %rbx
leaq 0x248(%rsp), %rdi
callq 0x1519a
jmp 0x1d981
movq %rax, %rbx
callq 0xb750
jmp 0x1d997
movq %rax, %rdi
callq 0x14d37
jmp 0x1d994
jmp 0x1d994
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x15342
movq %rbx, %rdi
callq 0xb820
nop