// File: /workspace/github_cpp_makefile_star2_O3/kkloberdanz[P]Sort/main.cpp
// Function: test()
void test() {
    srand(time(0));
    std::vector<double> V;
    std::vector<double> Vcopy;
    std::vector<double> sortedVector;

    const int VECTOR_SIZE = 100;

    for (int i = 0; i < VECTOR_SIZE; i++) {
        V.push_back(rand() % 100);
    }

    std::cout << "unsorted\n";
    printVector(V);

    std::cout << "quick\n";
    printVector(kgk::sort(V, "quick"));

    std::cout << "insertion\n";
    printVector(kgk::sort(V, "insertion"));
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0xe0, %rsp
xorl %edi, %edi
callq 0x10f0
movl %eax, %edi
callq 0x1110
xorpd %xmm0, %xmm0
movq %rsp, %rbx
movapd %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movl $0x64, %ebp
leaq 0x20(%rsp), %r14
callq 0x1040
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
subl %ecx, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x20(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x1840
movsd %xmm0, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x8(%rsp)
jmp 0x184b
movq %rbx, %rdi
movq %r14, %rdx
callq 0x271c
decl %ebp
jne 0x17f8
movq 0x3782(%rip), %rdi      # 0x4fd8
leaq 0x1821(%rip), %rsi      # 0x307e
movl $0x9, %edx
callq 0x1140
leaq 0x88(%rsp), %rdi
movq %rsp, %rsi
callq 0x1f5e
leaq 0x88(%rsp), %rdi
callq 0x1eac
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x1896
callq 0x1100
movq 0x373b(%rip), %rdi      # 0x4fd8
leaq 0x17e4(%rip), %rsi      # 0x3088
movl $0x6, %edx
callq 0x1140
leaq 0x58(%rsp), %rdi
movq %rsp, %rsi
callq 0x1f5e
leaq 0xd0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1787(%rip), %rsi      # 0x3055
leaq 0x1785(%rip), %rdx      # 0x305a
leaq 0xc0(%rsp), %rdi
callq 0x2358
leaq 0x70(%rsp), %rdi
leaq 0x58(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x1fde
leaq 0x70(%rsp), %rdi
callq 0x1eac
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x1912
callq 0x1100
movq 0xc0(%rsp), %rdi
cmpq %r14, %rdi
je 0x1924
callq 0x1100
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x1933
callq 0x1100
movq 0x369e(%rip), %rdi      # 0x4fd8
leaq 0x174e(%rip), %rsi      # 0x308f
movl $0xa, %edx
callq 0x1140
leaq 0x28(%rsp), %rdi
movq %rsp, %rsi
callq 0x1f5e
leaq 0xb0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x172f(%rip), %rsi      # 0x309a
leaq 0x1731(%rip), %rdx      # 0x30a3
leaq 0xa0(%rsp), %rdi
callq 0x2358
leaq 0x40(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x1fde
leaq 0x40(%rsp), %rdi
callq 0x1eac
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x19af
callq 0x1100
movq 0xa0(%rsp), %rdi
cmpq %r14, %rdi
je 0x19c1
callq 0x1100
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x19d0
callq 0x1100
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19de
callq 0x1100
addq $0xe0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x1a01
callq 0x1100
jmp 0x1a01
movq %rax, %rbx
movq 0xa0(%rsp), %rdi
cmpq %r14, %rdi
je 0x1a18
callq 0x1100
jmp 0x1a18
movq %rax, %rbx
movq 0x28(%rsp), %rdi
jmp 0x1a5f
movq %rax, %rbx
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x1a36
callq 0x1100
jmp 0x1a36
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
cmpq %r14, %rdi
je 0x1a4d
callq 0x1100
jmp 0x1a4d
movq %rax, %rbx
movq 0x58(%rsp), %rdi
jmp 0x1a5f
movq %rax, %rbx
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x1a70
callq 0x1100
jmp 0x1a70
jmp 0x1a6d
movq %rax, %rbx
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a7e
callq 0x1100
movq %rbx, %rdi
callq 0x11a0