// File: /workspace/github_cpp_makefile_star2_O3/shreyas-gopalakrishna[P]Concurrent-Skip-list/benchmark.cpp
// Function: generate_input(int)
void generate_input(int max_number){
    // generating insert data
    for(int i = 1; i <= max_number; i++){
        numbers_insert.push_back(i);
    }

    // generating delete data
    for(size_t i = 0; i < numbers_insert.size(); i++){
        numbers_delete.push_back(numbers_insert[i]);
    }

    // generating search data
    for(size_t i = 0; i < numbers_insert.size(); i++){
        numbers_get.push_back(numbers_insert[i]);
    }

    // generating range data
    for(size_t i = 0; i < num_threads; i++){
        int a = (rand() % static_cast<int>(max_number + 1));
        int b = a + (rand() % static_cast<int>(max_number - a + 1));
        numbers_range.push_back(make_pair(a,b));
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movl %edi, %ebx
movl $0x1, 0x4(%rsp)
movq 0x8b7a(%rip), %rsi      # 0xb2a8
testl %edi, %edi
jle 0x2786
movl $0x1, %ecx
movq 0x8b72(%rip), %rax      # 0xb2b0
leaq 0x8b5b(%rip), %r14      # 0xb2a0
leaq 0x4(%rsp), %r15
cmpq %rax, %rsi
je 0x275e
movl %ecx, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8b4c(%rip)      # 0xb2a8
jmp 0x2777
movq %r14, %rdi
movq %r15, %rdx
callq 0x4226
movq 0x8b38(%rip), %rsi      # 0xb2a8
movq 0x8b39(%rip), %rax      # 0xb2b0
movl 0x4(%rsp), %edx
leal 0x1(%rdx), %ecx
movl %ecx, 0x4(%rsp)
cmpl %ebx, %edx
jl 0x274a
movq 0x8b13(%rip), %rcx      # 0xb2a0
cmpq %rcx, %rsi
je 0x2804
movq 0x8b27(%rip), %rax      # 0xb2c0
movq 0x8b28(%rip), %rdi      # 0xb2c8
xorl %r15d, %r15d
leaq 0x8b0e(%rip), %r14      # 0xb2b8
xorl %r12d, %r12d
leaq (%rcx,%r15), %rdx
cmpq %rdi, %rax
je 0x27c7
movl (%rdx), %edx
movl %edx, (%rax)
addq $0x4, %rax
movq %rax, 0x8afb(%rip)      # 0xb2c0
jmp 0x27ee
movq %r14, %rdi
movq %rax, %rsi
callq 0x4226
movq 0x8ae7(%rip), %rax      # 0xb2c0
movq 0x8ae8(%rip), %rdi      # 0xb2c8
movq 0x8ac1(%rip), %rsi      # 0xb2a8
movq 0x8ab2(%rip), %rcx      # 0xb2a0
incq %r12
movq %rsi, %rdx
subq %rcx, %rdx
sarq $0x2, %rdx
addq $0x4, %r15
cmpq %rdx, %r12
jb 0x27ad
cmpq %rcx, %rsi
je 0x287b
movq 0x8ac8(%rip), %rax      # 0xb2d8
movq 0x8ac9(%rip), %rdi      # 0xb2e0
xorl %r15d, %r15d
leaq 0x8aaf(%rip), %r14      # 0xb2d0
xorl %r12d, %r12d
leaq (%rcx,%r15), %rdx
cmpq %rdi, %rax
je 0x283e
movl (%rdx), %edx
movl %edx, (%rax)
addq $0x4, %rax
movq %rax, 0x8a9c(%rip)      # 0xb2d8
jmp 0x2865
movq %r14, %rdi
movq %rax, %rsi
callq 0x4226
movq 0x8a88(%rip), %rax      # 0xb2d8
movq 0x8a89(%rip), %rdi      # 0xb2e0
movq 0x8a4a(%rip), %rsi      # 0xb2a8
movq 0x8a3b(%rip), %rcx      # 0xb2a0
incq %r12
movq %rsi, %rdx
subq %rcx, %rdx
sarq $0x2, %rdx
addq $0x4, %r15
cmpq %rdx, %r12
jb 0x2824
cmpq $0x0, 0x893d(%rip)      # 0xb1c0
je 0x28d4
incl %ebx
xorl %r13d, %r13d
leaq 0x8a57(%rip), %r14      # 0xb2e8
leaq 0x8(%rsp), %r15
callq 0x2070
cltd
idivl %ebx
movl %edx, %r12d
callq 0x2070
movl %ebx, %ecx
subl %r12d, %ecx
cltd
idivl %ecx
addl %r12d, %edx
shlq $0x20, %rdx
orq %rdx, %r12
movq %r12, 0x8(%rsp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x4362
incq %r13
cmpq 0x88ee(%rip), %r13      # 0xb1c0
jb 0x2896
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq