// File: /workspace/github_cpp_makefile_star2_O2/zencoders[P]algoritmica/tests/littletest.hpp
// Function: littletest::test<empty_insertsort>::run_test(littletest::test_runner*)
virtual void run_test(test_runner* tr)
        {
            double set_up_duration = 0.0, tear_down_duration = 0.0, test_duration = 0.0;
            timeval before, after;
            try
            {
                gettimeofday(&before, NULL);
                static_cast<test_impl* >(this)->suite_set_up();
                gettimeofday(&after, NULL);
                set_up_duration = calculate_duration(&before, &after);
                tr->add_set_up_time(set_up_duration);
            }
            catch(std::exception& e)
            {
                std::cout << "Exception during " << static_cast<test_impl* >(this)->__lt_name__ << " set up" << std::endl;
                std::cout << e.what() << std::endl;
            }
            catch(...)
            {
                std::cout << "Exception during " << static_cast<test_impl* >(this)->__lt_name__ << " set up" << std::endl;
            }
            try
            {
                gettimeofday(&before, NULL);
                (*static_cast<test_impl*>(this))(tr);
            }
            catch(assert_unattended& au)
            {
                ;
            }
            catch(std::exception& e)
            {
                std::cout << "Exception during " << static_cast<test_impl* >(this)->__lt_name__ << " run" << std::endl;
                std::cout << e.what() << std::endl;
                if(tr->last_checkpoint_line != -1)
                    std::cout << "Last checkpoint in " << tr->last_checkpoint_file << ":" << tr->last_checkpoint_line << std::endl;
            }
            catch(...)
            {
                std::cout << "Exception during " << static_cast<test_impl* >(this)->__lt_name__ << " run" << std::endl;
                if(tr->last_checkpoint_line != -1)
                    std::cout << "Last checkpoint in " << tr->last_checkpoint_file << ":" << tr->last_checkpoint_line << std::endl;
            }
            gettimeofday(&after, NULL);

            test_duration = calculate_duration(&before, &after);

            tr->add_good_time(test_duration);

            std::cout << "- Time spent during \"" << static_cast<test_impl* >(this)->__lt_name__ << "\": " << test_duration << std::endl;

            try
            {
                gettimeofday(&before, NULL);
                static_cast<test_impl* >(this)->suite_tear_down();
                gettimeofday(&after, NULL);
                tear_down_duration = calculate_duration(&before, &after);
                tr->add_tear_down_time(tear_down_duration);
            }
            catch(std::exception& e)
            {
                std::cout << "Exception during " << static_cast<test_impl* >(this)->__lt_name__ << " tear down" << std::endl;
                std::cout << e.what() << std::endl;
            }
            catch(...)
            {
                std::cout << "Exception during " << static_cast<test_impl* >(this)->__lt_name__ << " tear down" << std::endl;
            }
            double total = set_up_duration + test_duration + tear_down_duration;
            tr->add_total_time(total);
        }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x38(%rsp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x21b0
leaq 0x10(%r14), %rdi
callq 0x2d54
leaq 0x28(%rsp), %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x21b0
movq %r15, %rdi
movq %r12, %rsi
callq 0x242c
movsd 0x38(%rbx), %xmm1
movapd %xmm0, 0x10(%rsp)
addsd %xmm0, %xmm1
movsd %xmm1, 0x38(%rbx)
movq %r15, %rdi
xorl %esi, %esi
callq 0x21b0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2d36
leaq 0x28(%rsp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x21b0
leaq 0x38(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x242c
movsd %xmm0, 0x8(%rsp)
movsd 0x30(%rbx), %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, 0x30(%rbx)
movq 0x7632(%rip), %rdi      # 0x9fd8
leaq 0x36e5(%rip), %rsi      # 0x6092
callq 0x2140
movq 0x8(%r14), %rsi
movq %rax, %rdi
callq 0x2140
leaq 0x36e3(%rip), %rsi      # 0x60a8
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x21a0
movq %rax, %rdi
callq 0x2090
movq %r12, %rdi
xorl %esi, %esi
callq 0x21b0
movq %r15, %rdi
xorl %esi, %esi
callq 0x21b0
movq %r12, %rdi
movq %r15, %rsi
callq 0x242c
movapd 0x10(%rsp), %xmm2
addsd 0x8(%rsp), %xmm2
addsd %xmm0, %xmm2
movupd 0x40(%rbx), %xmm1
unpcklpd %xmm2, %xmm0            # xmm0 = xmm0[0],xmm2[0]
addpd %xmm1, %xmm0
movupd %xmm0, 0x40(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rdx, %r12
movq %rax, %rdi
cmpl $0x3, %r12d
jne 0x2a46
callq 0x2050
jmp 0x2b76
callq 0x2050
cmpl $0x2, %r12d
jne 0x2afa
movq %rax, %r15
movq 0x7579(%rip), %rdi      # 0x9fd8
leaq 0x35ff(%rip), %rsi      # 0x6065
callq 0x2140
movq 0x8(%r14), %rsi
movq %rax, %rdi
callq 0x2140
leaq 0x35f9(%rip), %rsi      # 0x6077
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x2090
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0x753a(%rip), %rdi      # 0x9fd8
movq %rax, %rsi
callq 0x2140
movq %rax, %rdi
callq 0x2090
cmpl $-0x1, 0x20(%rbx)
je 0x2b76
movq 0x7519(%rip), %rdi      # 0x9fd8
leaq 0x35b6(%rip), %rsi      # 0x607c
callq 0x2140
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2130
leaq 0x35b3(%rip), %rsi      # 0x6090
movq %rax, %rdi
callq 0x2140
movl 0x20(%rbx), %esi
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2090
jmp 0x2b76
movq 0x74d7(%rip), %rdi      # 0x9fd8
leaq 0x355d(%rip), %rsi      # 0x6065
callq 0x2140
movq 0x8(%r14), %rsi
movq %rax, %rdi
callq 0x2140
leaq 0x3557(%rip), %rsi      # 0x6077
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x2090
cmpl $-0x1, 0x20(%rbx)
je 0x2b76
movq 0x749b(%rip), %rdi      # 0x9fd8
leaq 0x3538(%rip), %rsi      # 0x607c
callq 0x2140
movq %rax, %rdi
movq %rbx, %rsi
callq 0x2130
leaq 0x3535(%rip), %rsi      # 0x6090
movq %rax, %rdi
callq 0x2140
movl 0x20(%rbx), %esi
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2090
callq 0x21d0
jmp 0x296c
movq %rax, %rbx
callq 0x21d0
jmp 0x2b92
movq %rax, %rbx
callq 0x21d0
movq %rbx, %rdi
callq 0x2200
movq %rax, %rdi
callq 0x28f5