// File: /workspace/github_cpp_makefile_star2_O1/zencoders[P]algoritmica/tests/littletest.hpp
// Function: littletest::test<ordered_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 $0x38, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
callq 0x21d0
movl $0x4, %eax
leal -0x3(%rax), %ecx
movl %ecx, (%r14,%rax,4)
incq %rax
cmpq $0x9, %rax
jne 0x2ffc
leaq 0x28(%rsp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x21d0
imulq $0x3e8, (%r15), %rax    # imm = 0x3E8
cvtsi2sd %rax, %xmm0
cvtsi2sdq 0x8(%r15), %xmm2
movsd 0x3fd3(%rip), %xmm3     # 0x7008
divsd %xmm3, %xmm2
addsd %xmm0, %xmm2
leaq 0x10(%rsp), %rdi
imulq $0x3e8, (%rdi), %rax    # imm = 0x3E8
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
cvtsi2sdq 0x8(%rdi), %xmm1
divsd %xmm3, %xmm1
addsd %xmm0, %xmm1
subsd %xmm1, %xmm2
movsd 0x38(%rbx), %xmm0
movsd %xmm2, 0x20(%rsp)
addsd %xmm2, %xmm0
movsd %xmm0, 0x38(%rbx)
xorl %esi, %esi
callq 0x21d0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3406
leaq 0x28(%rsp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x21d0
imulq $0x3e8, (%r15), %rax    # imm = 0x3E8
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
xorps %xmm2, %xmm2
cvtsi2sdq 0x8(%r15), %xmm2
movsd 0x3f50(%rip), %xmm3     # 0x7008
divsd %xmm3, %xmm2
addsd %xmm0, %xmm2
imulq $0x3e8, 0x10(%rsp), %rax # imm = 0x3E8
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
xorps %xmm1, %xmm1
cvtsi2sdq 0x18(%rsp), %xmm1
divsd %xmm3, %xmm1
addsd %xmm0, %xmm1
subsd %xmm1, %xmm2
movsd 0x30(%rbx), %xmm0
movsd %xmm2, 0x8(%rsp)
addsd %xmm2, %xmm0
movsd %xmm0, 0x30(%rbx)
movq 0x6ed6(%rip), %r15      # 0x9fd8
leaq 0x3f89(%rip), %rsi      # 0x7092
movl $0x15, %edx
movq %r15, %rdi
callq 0x2180
movq 0x8(%r14), %r14
testq %r14, %r14
je 0x313b
movq %r14, %rdi
callq 0x2080
movq 0x6eaa(%rip), %rdi      # 0x9fd8
movq %r14, %rsi
movq %rax, %rdx
callq 0x2180
jmp 0x3153
movq (%r15), %rax
movq -0x18(%rax), %rax
leaq (%r15,%rax), %rdi
movl 0x20(%r15,%rax), %esi
orl $0x1, %esi
callq 0x2200
movq 0x6e7e(%rip), %r14      # 0x9fd8
leaq 0x3f47(%rip), %rsi      # 0x70a8
movl $0x3, %edx
movq %r14, %rdi
callq 0x2180
movq %r14, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x21c0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2140
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20c0
leaq 0x10(%rsp), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x21d0
leaq 0x28(%rsp), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x21d0
imulq $0x3e8, (%r15), %rax    # imm = 0x3E8
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
xorps %xmm1, %xmm1
cvtsi2sdq 0x8(%r15), %xmm1
movsd 0x3e24(%rip), %xmm4     # 0x7008
divsd %xmm4, %xmm1
imulq $0x3e8, (%r14), %rax    # imm = 0x3E8
xorps %xmm2, %xmm2
cvtsi2sd %rax, %xmm2
xorps %xmm3, %xmm3
cvtsi2sdq 0x8(%r14), %xmm3
addsd %xmm0, %xmm1
divsd %xmm4, %xmm3
addsd %xmm2, %xmm3
subsd %xmm3, %xmm1
movsd 0x40(%rbx), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x40(%rbx)
movsd 0x20(%rsp), %xmm0
addsd 0x8(%rsp), %xmm0
addsd %xmm1, %xmm0
addsd 0x48(%rbx), %xmm0
movsd %xmm0, 0x48(%rbx)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rdx, %r12
movq %rax, %rdi
cmpl $0x3, %r12d
jne 0x325a
callq 0x2070
jmp 0x33d9
callq 0x2070
cmpl $0x2, %r12d
jne 0x3337
movq %rax, %r15
movq 0x6d65(%rip), %rdi      # 0x9fd8
leaq 0x3deb(%rip), %rsi      # 0x7065
movl $0x11, %edx
callq 0x2180
movq 0x8(%r14), %rsi
movq 0x6d49(%rip), %rdi      # 0x9fd8
callq 0x2150
movq %rax, %r12
leaq 0x3dd9(%rip), %rsi      # 0x7077
movl $0x4, %edx
movq %rax, %rdi
callq 0x2180
movq %r12, %rdi
callq 0x2090
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0x6d15(%rip), %rdi      # 0x9fd8
movq %rax, %rsi
callq 0x2150
movq %rax, %rdi
callq 0x2090
cmpl $-0x1, 0x20(%rbx)
je 0x33d9
movq 0x6cf4(%rip), %rdi      # 0x9fd8
leaq 0x3d91(%rip), %rsi      # 0x707c
movl $0x13, %edx
callq 0x2180
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x6cd5(%rip), %rdi      # 0x9fd8
callq 0x2180
movq %rax, %r15
leaq 0x3d7e(%rip), %rsi      # 0x7090
movl $0x1, %edx
movq %rax, %rdi
callq 0x2180
movl 0x20(%rbx), %esi
movq %r15, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x2090
jmp 0x33d9
movq 0x6c9a(%rip), %rdi      # 0x9fd8
leaq 0x3d20(%rip), %rsi      # 0x7065
movl $0x11, %edx
callq 0x2180
movq 0x8(%r14), %rsi
movq 0x6c7e(%rip), %rdi      # 0x9fd8
callq 0x2150
movq %rax, %r15
leaq 0x3d0e(%rip), %rsi      # 0x7077
movl $0x4, %edx
movq %rax, %rdi
callq 0x2180
movq %r15, %rdi
callq 0x2090
cmpl $-0x1, 0x20(%rbx)
je 0x33d9
movq 0x6c4d(%rip), %rdi      # 0x9fd8
leaq 0x3cea(%rip), %rsi      # 0x707c
movl $0x13, %edx
callq 0x2180
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x6c2e(%rip), %rdi      # 0x9fd8
callq 0x2180
movq %rax, %r15
leaq 0x3cd7(%rip), %rsi      # 0x7090
movl $0x1, %edx
movq %rax, %rdi
callq 0x2180
movl 0x20(%rbx), %esi
movq %r15, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x2090
callq 0x21f0
jmp 0x3089
movq %rax, %rbx
callq 0x21f0
jmp 0x33f5
movq %rax, %rbx
callq 0x21f0
movq %rbx, %rdi
callq 0x2230
movq %rax, %rdi
callq 0x2a3c
nop