// File: /workspace/github_cpp_makefile_star2_O3/AndreRenaud[P]simple_options/./acutest.h
// Function: acutest_do_run_
static int
acutest_do_run_(const struct acutest_test_* test, int index)
{
    int status = -1;

    acutest_was_aborted_ = 0;
    acutest_current_test_ = test;
    acutest_current_index_ = index;
    acutest_test_failures_ = 0;
    acutest_test_already_logged_ = 0;
    acutest_cond_failed_ = 0;

#ifdef __cplusplus
    try {
#endif
        acutest_init_(test->name);
        acutest_begin_test_line_(test);

        /* This is good to do in case the test unit crashes. */
        fflush(stdout);
        fflush(stderr);

        if(!acutest_worker_) {
            acutest_abort_has_jmp_buf_ = 1;
            if(setjmp(acutest_abort_jmp_buf_) != 0) {
                acutest_was_aborted_ = 1;
                goto aborted;
            }
        }

        acutest_timer_get_time_(&acutest_timer_start_);
        test->func();
aborted:
        acutest_abort_has_jmp_buf_ = 0;
        acutest_timer_get_time_(&acutest_timer_end_);

        if(acutest_verbose_level_ >= 3) {
            acutest_line_indent_(1);
            if(acutest_test_failures_ == 0) {
                acutest_colored_printf_(ACUTEST_COLOR_GREEN_INTENSIVE_, "SUCCESS: ");
                printf("All conditions have passed.\n");

                if(acutest_timer_) {
                    acutest_line_indent_(1);
                    printf("Duration: ");
                    acutest_timer_print_diff_();
                    printf("\n");
                }
            } else {
                acutest_colored_printf_(ACUTEST_COLOR_RED_INTENSIVE_, "FAILED: ");
                if(!acutest_was_aborted_) {
                    printf("%d condition%s %s failed.\n",
                            acutest_test_failures_,
                            (acutest_test_failures_ == 1) ? "" : "s",
                            (acutest_test_failures_ == 1) ? "has" : "have");
                } else {
                    printf("Aborted.\n");
                }
            }
            printf("\n");
        } else if(acutest_verbose_level_ >= 1 && acutest_test_failures_ == 0) {
            acutest_finish_test_line_(0);
        }

        status = (acutest_test_failures_ == 0) ? 0 : -1;

#ifdef __cplusplus
    } catch(std::exception& e) {
        const char* what = e.what();
        acutest_check_(0, NULL, 0, "Threw std::exception");
        if(what != NULL)
            acutest_message_("std::exception::what(): %s", what);

        if(acutest_verbose_level_ >= 3) {
            acutest_line_indent_(1);
            acutest_colored_printf_(ACUTEST_COLOR_RED_INTENSIVE_, "FAILED: ");
            printf("C++ exception.\n\n");
        }
    } catch(...) {
        acutest_check_(0, NULL, 0, "Threw an exception");

        if(acutest_verbose_level_ >= 3) {
            acutest_line_indent_(1);
            acutest_colored_printf_(ACUTEST_COLOR_RED_INTENSIVE_, "FAILED: ");
            printf("C++ exception.\n\n");
        }
    }
#endif

    acutest_fini_(test->name);
    acutest_case_(NULL);
    acutest_current_test_ = NULL;

    return status;
}

// Assembly:
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
movb $0x0, 0x507d(%rip)      # 0xa334
movq %rdi, 0x4eca(%rip)      # 0xa188
movl %esi, 0x5044(%rip)      # 0xa308
xorl %eax, %eax
movl %eax, 0x4ec4(%rip)      # 0xa190
movl %eax, 0x4eae(%rip)      # 0xa180
movl %eax, 0x4f08(%rip)      # 0xa1e0
cmpb $0x0, 0x5001(%rip)      # 0xa2e0
jne 0x5366
movl 0x4e7d(%rip), %eax      # 0xa168
cmpl $0x3, %eax
jl 0x530e
movq (%rbx), %rdx
leaq 0x14f0(%rip), %rsi      # 0x67ea
xorl %eax, %eax
movl $0x3, %edi
callq 0x2f53
incl 0x4e74(%rip)            # 0xa180
jmp 0x5366
testl %eax, %eax
jle 0x535c
movq (%rbx), %rdx
leaq 0x14d8(%rip), %rsi      # 0x67f4
xorl %eax, %eax
movl $0x3, %edi
callq 0x2f53
movaps 0xe91(%rip), %xmm0      # 0x61c0
movaps %xmm0, (%rsp)
movaps %xmm0, 0x10(%rsp)
movaps %xmm0, 0x20(%rsp)
cmpl $0x2f, %eax
jg 0x5366
movl $0x30, %esi
subl %eax, %esi
leaq 0x1131(%rip), %rdi      # 0x6481
xorl %eax, %eax
movq %rsp, %rdx
callq 0x2120
jmp 0x5366
movl $0x1, 0x4e1a(%rip)      # 0xa180
movq 0x4c6b(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
callq 0x21d0
movq 0x4c7c(%rip), %rax      # 0x9ff8
movq (%rax), %rdi
callq 0x21d0
cmpb $0x0, 0x4f5d(%rip)      # 0xa2e8
jne 0x53ad
movb $0x1, 0x4e50(%rip)      # 0xa1e4
leaq 0x4e55(%rip), %rdi      # 0xa1f0
callq 0x2170
testl %eax, %eax
je 0x53ad
movb $0x1, 0x4f89(%rip)      # 0xa334
jmp 0x53c2
movl 0x4f7d(%rip), %edi      # 0xa330
leaq 0x4f56(%rip), %rsi      # 0xa310
callq 0x20e0
callq *0x8(%rbx)
movb $0x0, 0x4e1b(%rip)      # 0xa1e4
movl 0x4f61(%rip), %edi      # 0xa330
leaq 0x4f4a(%rip), %rsi      # 0xa320
callq 0x20e0
movl 0x4d87(%rip), %eax      # 0xa168
cmpl $0x3, %eax
jl 0x542a
movl $0x1, %edi
callq 0x2eed
cmpl $0x0, 0x4d99(%rip)      # 0xa190
je 0x544b
leaq 0x13c6(%rip), %rsi      # 0x67c6
xorl %eax, %eax
movl $0x5, %edi
callq 0x2f53
cmpb $0x0, 0x4f21(%rip)      # 0xa334
je 0x549c
leaq 0x1ecd(%rip), %rdi      # 0x72ed
callq 0x20a0
jmp 0x54d7
testl %eax, %eax
jle 0x54e1
cmpl $0x0, 0x4d57(%rip)      # 0xa190
jne 0x54e1
xorl %edi, %edi
callq 0x2e0d
jmp 0x54e1
leaq 0x136a(%rip), %rsi      # 0x67bc
xorl %eax, %eax
movl $0x4, %edi
callq 0x2f53
leaq 0x1e91(%rip), %rdi      # 0x72f6
callq 0x20a0
cmpl $0x0, 0x4e9b(%rip)      # 0xa30c
je 0x54d7
movl $0x1, %edi
callq 0x2eed
leaq 0xfd7(%rip), %rdi       # 0x645b
xorl %eax, %eax
callq 0x2120
callq 0x4fb7
movl $0xa, %edi
callq 0x2040
jmp 0x54d7
movl 0x4cee(%rip), %esi      # 0xa190
cmpl $0x1, %esi
leaq 0xb99(%rip), %rax       # 0x6045
leaq 0xba3(%rip), %rdx       # 0x6056
cmoveq %rax, %rdx
leaq 0xe4c(%rip), %rax       # 0x630a
leaq 0xe49(%rip), %rcx       # 0x630e
cmoveq %rax, %rcx
leaq 0x12ff(%rip), %rdi      # 0x67cf
xorl %eax, %eax
callq 0x2120
movl $0xa, %edi
callq 0x2040
movl 0x4ca9(%rip), %eax      # 0xa190
cmpl $0x2, 0x4c7a(%rip)      # 0xa168
jl 0x550a
cmpb $0x0, 0x4ca9(%rip)      # 0xa1a0
je 0x550a
movl $0x0, 0x4c91(%rip)      # 0xa194
movb $0x0, 0x4c96(%rip)      # 0xa1a0
xorl %ecx, %ecx
negl %eax
movl %ecx, %eax
sbbl %ecx, %eax
movq $0x0, 0x4c6b(%rip) # 0xa188
addq $0x30, %rsp
popq %rbx
retq