// File: /workspace/github_cpp_makefile_star2_O3/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 $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
callq 0x21d0
movdqa 0x3f8f(%rip), %xmm0     # 0x7010
movl $0x5, %eax
movdqa 0x3f92(%rip), %xmm1     # 0x7020
movdqa 0x3f9a(%rip), %xmm2     # 0x7030
pshufd $0xf5, %xmm2, %xmm3     # xmm3 = xmm2[1,1,3,3]
pcmpeqd %xmm4, %xmm4
movdqa 0x3f99(%rip), %xmm5     # 0x7040
movdqa %xmm0, %xmm6
pxor %xmm1, %xmm6
movdqa %xmm2, %xmm8
pcmpgtd %xmm6, %xmm8
pshufd $0xf5, %xmm6, %xmm7     # xmm7 = xmm6[1,1,3,3]
pcmpeqd %xmm3, %xmm7
pand %xmm8, %xmm7
movdqa %xmm0, %xmm6
psubq %xmm4, %xmm6
movd %xmm7, %ecx
testb $0x1, %cl
je 0x30df
movd %xmm6, -0x4(%r14,%rax,4)
pextrw $0x4, %xmm7, %ecx
testb $0x1, %cl
je 0x30f4
pshufd $0xee, %xmm6, %xmm6     # xmm6 = xmm6[2,3,2,3]
movd %xmm6, (%r14,%rax,4)
paddq %xmm5, %xmm0
addq $0x2, %rax
cmpq $0xb, %rax
jne 0x30a7
leaq 0x20(%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 0x3ed7(%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
xorps %xmm1, %xmm1
cvtsi2sdq 0x8(%rdi), %xmm1
divsd %xmm3, %xmm1
addsd %xmm0, %xmm1
subsd %xmm1, %xmm2
movsd 0x38(%rbx), %xmm0
movapd %xmm2, 0x30(%rsp)
addsd %xmm2, %xmm0
movsd %xmm0, 0x38(%rbx)
xorl %esi, %esi
callq 0x21d0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x34fe
leaq 0x20(%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 0x3e51(%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 0x6dd7(%rip), %r15      # 0x9fd8
leaq 0x3eca(%rip), %rsi      # 0x70d2
movl $0x15, %edx
movq %r15, %rdi
callq 0x2180
movq 0x8(%r14), %r14
testq %r14, %r14
je 0x323a
movq %r14, %rdi
callq 0x2080
movq 0x6dab(%rip), %rdi      # 0x9fd8
movq %r14, %rsi
movq %rax, %rdx
callq 0x2180
jmp 0x3252
movq (%r15), %rax
movq -0x18(%rax), %rax
leaq (%r15,%rax), %rdi
movl 0x20(%r15,%rax), %esi
orl $0x1, %esi
callq 0x2200
movq 0x6d7f(%rip), %r14      # 0x9fd8
leaq 0x3e88(%rip), %rsi      # 0x70e8
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 0x20(%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 0x3d25(%rip), %xmm3     # 0x7008
divsd %xmm3, %xmm1
imulq $0x3e8, (%r14), %rax    # imm = 0x3E8
xorps %xmm2, %xmm2
cvtsi2sd %rax, %xmm2
addsd %xmm0, %xmm1
xorps %xmm0, %xmm0
cvtsi2sdq 0x8(%r14), %xmm0
divsd %xmm3, %xmm0
addsd %xmm2, %xmm0
movapd 0x30(%rsp), %xmm2
addsd 0x8(%rsp), %xmm2
subsd %xmm0, %xmm1
addsd %xmm1, %xmm2
movupd 0x40(%rbx), %xmm0
unpcklpd %xmm2, %xmm1            # xmm1 = xmm1[0],xmm2[0]
addpd %xmm0, %xmm1
movupd %xmm1, 0x40(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rdx, %r12
movq %rax, %rdi
cmpl $0x3, %r12d
jne 0x3353
callq 0x2070
jmp 0x34d2
callq 0x2070
cmpl $0x2, %r12d
jne 0x3430
movq %rax, %r15
movq 0x6c6c(%rip), %rdi      # 0x9fd8
leaq 0x3d32(%rip), %rsi      # 0x70a5
movl $0x11, %edx
callq 0x2180
movq 0x8(%r14), %rsi
movq 0x6c50(%rip), %rdi      # 0x9fd8
callq 0x2150
movq %rax, %r12
leaq 0x3d20(%rip), %rsi      # 0x70b7
movl $0x4, %edx
movq %rax, %rdi
callq 0x2180
movq %r12, %rdi
callq 0x2090
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0x6c1c(%rip), %rdi      # 0x9fd8
movq %rax, %rsi
callq 0x2150
movq %rax, %rdi
callq 0x2090
cmpl $-0x1, 0x20(%rbx)
je 0x34d2
movq 0x6bfb(%rip), %rdi      # 0x9fd8
leaq 0x3cd8(%rip), %rsi      # 0x70bc
movl $0x13, %edx
callq 0x2180
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x6bdc(%rip), %rdi      # 0x9fd8
callq 0x2180
movq %rax, %r15
leaq 0x3cc5(%rip), %rsi      # 0x70d0
movl $0x1, %edx
movq %rax, %rdi
callq 0x2180
movl 0x20(%rbx), %esi
movq %r15, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x2090
jmp 0x34d2
movq 0x6ba1(%rip), %rdi      # 0x9fd8
leaq 0x3c67(%rip), %rsi      # 0x70a5
movl $0x11, %edx
callq 0x2180
movq 0x8(%r14), %rsi
movq 0x6b85(%rip), %rdi      # 0x9fd8
callq 0x2150
movq %rax, %r15
leaq 0x3c55(%rip), %rsi      # 0x70b7
movl $0x4, %edx
movq %rax, %rdi
callq 0x2180
movq %r15, %rdi
callq 0x2090
cmpl $-0x1, 0x20(%rbx)
je 0x34d2
movq 0x6b54(%rip), %rdi      # 0x9fd8
leaq 0x3c31(%rip), %rsi      # 0x70bc
movl $0x13, %edx
callq 0x2180
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq 0x6b35(%rip), %rdi      # 0x9fd8
callq 0x2180
movq %rax, %r15
leaq 0x3c1e(%rip), %rsi      # 0x70d0
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 0x3188
movq %rax, %rbx
callq 0x21f0
jmp 0x34ee
movq %rax, %rbx
callq 0x21f0
movq %rbx, %rdi
callq 0x2230
movq %rax, %rdi
callq 0x2a3c