// File: /workspace/github_c_makefile_star2_O1/lemire[P]simdprune/benchmark.c
// Function: main
int main() {
  testepi8();
  printf("This test measures the latency in CPU cycles.\n");
  const int N = 2048;
  int * bitmasks = malloc(sizeof(int) * N);
  const int repeat = 500;
  __m128i x = _mm_set_epi8(15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0);
  BEST_TIME_NOCHECK(runprune_epi8(bitmasks, N, &x), randomize(bitmasks, N, (1<<16)-1), repeat, N, true);
  BEST_TIME_NOCHECK(runthinprune_epi8(bitmasks, N, &x), randomize(bitmasks, N, (1<<16)-1), repeat, N, true);
  BEST_TIME_NOCHECK(runskinnyprune_epi8(bitmasks, N, &x), randomize(bitmasks, N, (1<<16)-1), repeat, N, true);
#ifdef __AVX512VBMI2__ 
  BEST_TIME_NOCHECK(runbmiprune_epi8(bitmasks, N, &x), randomize(bitmasks, N, (1<<16)-1), repeat, N, true);
#endif // __AVX512VBMI2__
  BEST_TIME_NOCHECK(runprune_epi16(bitmasks, N, &x), randomize(bitmasks, N, (1<<8)-1), repeat, N, true);
  BEST_TIME_NOCHECK(runprune_epi32(bitmasks, N, &x), randomize(bitmasks, N, (1<<4)-1), repeat, N, true);
#ifdef __AVX2__
  __m256i xx = _mm256_set_epi32(7,6,5,4,3,2,1,0);
  BEST_TIME_NOCHECK(runprune256_epi32(bitmasks, N, &xx), randomize(bitmasks, N, (1<<8)-1), repeat, N, true);
  BEST_TIME_NOCHECK(runpext_prune256_epi32(bitmasks, N, &xx), randomize(bitmasks, N, (1<<8)-1), repeat, N, true);
  printf("%d \n", _mm_extract_epi8(x,0) + _mm256_extract_epi8(xx,0));
#endif // __AVX2__
  free(bitmasks);
  return EXIT_SUCCESS;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
andq $-0x20, %rsp
subq $0xa0, %rsp
callq 0x1483
leaq 0x1057b2(%rip), %rdi    # 0x106d5a
callq 0x1050
movl $0x2000, %edi           # imm = 0x2000
callq 0x1080
movq %rax, 0x18(%rsp)
vmovapd 0x10558c(%rip), %xmm0   # 0x106b50
vmovapd %xmm0, 0x50(%rsp)
cmpq $-0x1, 0x107a96(%rip)   # 0x109068
jne 0x162f
movq $-0x1, %rsi
movl $0x1f4, %edi            # imm = 0x1F4
movq %rsi, %r8
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %esi
negl %r9d
shlq $0x20, %r9
movl %esi, %r10d
rdtscp
movl %edx, %r11d
movl %eax, %esi
cpuid
shlq $0x20, %r11
movl %esi, %esi
subq %r10, %rsi
addq %r9, %rsi
addq %r11, %rsi
cmpq %r8, %rsi
cmovaeq %r8, %rsi
decl %edi
jne 0x15e0
movq %rsi, 0x107a47(%rip)    # 0x109068
leaq 0x1055d1(%rip), %rdi    # 0x106bf9
xorl %eax, %eax
callq 0x1060
leaq 0x1055dd(%rip), %rdi    # 0x106c13
leaq 0x1055df(%rip), %rsi    # 0x106c1c
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
movq $-0x1, %r12
movl $0x1f4, %eax            # imm = 0x1F4
movq 0x18(%rsp), %r13
movl %eax, 0x20(%rsp)
movq %rbx, 0x10(%rsp)
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xffff, %edx           # imm = 0xFFFF
callq 0x11ac
cpuid
rdtsc
movl %edx, %r15d
movl %eax, %esi
negl %r15d
shlq $0x20, %r15
movl %esi, %r14d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x50(%rsp), %rdx
callq 0x11e2
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x10(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq %rdi, %rax
addq 0x1079ac(%rip), %r14    # 0x109068
subq %r14, %r15
addq %rax, %r15
movl 0x20(%rsp), %eax
cmpq %r12, %r15
cmovbq %r15, %r12
addq %r15, %rbx
decl %eax
jne 0x165e
vcvtusi2sd %r12, %xmm1, %xmm0
vmulsd 0x10547e(%rip), %xmm0, %xmm0 # 0x106b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm1, %xmm1
vdivsd 0x105474(%rip), %xmm1, %xmm1 # 0x106b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x10(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x105532(%rip), %rdi    # 0x106c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x10(%rsp), %xmm2, %xmm0
leaq 0x105541(%rip), %rdi    # 0x106c5e
movb $0x1, %al
callq 0x1060
movl $0xa, %edi
callq 0x1040
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x10792b(%rip)   # 0x109068
jne 0x179a
movq $-0x1, %rsi
movl $0x1f4, %edi            # imm = 0x1F4
movq %rsi, %r8
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %esi
negl %r9d
shlq $0x20, %r9
movl %esi, %r10d
rdtscp
movl %edx, %r11d
movl %eax, %esi
cpuid
shlq $0x20, %r11
movl %esi, %esi
subq %r10, %rsi
addq %r9, %rsi
addq %r11, %rsi
cmpq %r8, %rsi
cmovaeq %r8, %rsi
decl %edi
jne 0x174b
movq %rsi, 0x1078dc(%rip)    # 0x109068
leaq 0x105466(%rip), %rdi    # 0x106bf9
xorl %eax, %eax
callq 0x1060
leaq 0x105472(%rip), %rdi    # 0x106c13
leaq 0x1054d8(%rip), %rsi    # 0x106c80
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
movq $-0x1, %r12
movl $0x1f4, %eax            # imm = 0x1F4
movq 0x18(%rsp), %r13
movl %eax, 0x20(%rsp)
movq %rbx, 0x10(%rsp)
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xffff, %edx           # imm = 0xFFFF
callq 0x11ac
cpuid
rdtsc
movl %edx, %r15d
movl %eax, %esi
negl %r15d
shlq $0x20, %r15
movl %esi, %r14d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x50(%rsp), %rdx
callq 0x1214
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x10(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq %rdi, %rax
addq 0x107841(%rip), %r14    # 0x109068
subq %r14, %r15
addq %rax, %r15
movl 0x20(%rsp), %eax
cmpq %r12, %r15
cmovbq %r15, %r12
addq %r15, %rbx
decl %eax
jne 0x17c9
vcvtusi2sd %r12, %xmm2, %xmm0
vmulsd 0x105313(%rip), %xmm0, %xmm0 # 0x106b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x105309(%rip), %xmm1, %xmm1 # 0x106b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x10(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x1053c7(%rip), %rdi    # 0x106c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x10(%rsp), %xmm2, %xmm0
leaq 0x1053d6(%rip), %rdi    # 0x106c5e
movb $0x1, %al
callq 0x1060
movl $0xa, %edi
callq 0x1040
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x1077c0(%rip)   # 0x109068
jne 0x1905
movq $-0x1, %rsi
movl $0x1f4, %edi            # imm = 0x1F4
movq %rsi, %r8
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %esi
negl %r9d
shlq $0x20, %r9
movl %esi, %r10d
rdtscp
movl %edx, %r11d
movl %eax, %esi
cpuid
shlq $0x20, %r11
movl %esi, %esi
subq %r10, %rsi
addq %r9, %rsi
addq %r11, %rsi
cmpq %r8, %rsi
cmovaeq %r8, %rsi
decl %edi
jne 0x18b6
movq %rsi, 0x107771(%rip)    # 0x109068
leaq 0x1052fb(%rip), %rdi    # 0x106bf9
xorl %eax, %eax
callq 0x1060
leaq 0x105307(%rip), %rdi    # 0x106c13
leaq 0x105390(%rip), %rsi    # 0x106ca3
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
movq $-0x1, %r12
movl $0x1f4, %eax            # imm = 0x1F4
movq 0x18(%rsp), %r13
movl %eax, 0x20(%rsp)
movq %rbx, 0x10(%rsp)
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xffff, %edx           # imm = 0xFFFF
callq 0x11ac
cpuid
rdtsc
movl %edx, %r15d
movl %eax, %esi
negl %r15d
shlq $0x20, %r15
movl %esi, %r14d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x50(%rsp), %rdx
callq 0x1298
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x10(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq %rdi, %rax
addq 0x1076d6(%rip), %r14    # 0x109068
subq %r14, %r15
addq %rax, %r15
movl 0x20(%rsp), %eax
cmpq %r12, %r15
cmovbq %r15, %r12
addq %r15, %rbx
decl %eax
jne 0x1934
vcvtusi2sd %r12, %xmm2, %xmm0
vmulsd 0x1051a8(%rip), %xmm0, %xmm0 # 0x106b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x10519e(%rip), %xmm1, %xmm1 # 0x106b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x10(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x10525c(%rip), %rdi    # 0x106c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x10(%rsp), %xmm2, %xmm0
leaq 0x10526b(%rip), %rdi    # 0x106c5e
movb $0x1, %al
callq 0x1060
movl $0xa, %edi
callq 0x1040
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x107655(%rip)   # 0x109068
jne 0x1a70
movq $-0x1, %rsi
movl $0x1f4, %edi            # imm = 0x1F4
movq %rsi, %r8
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %esi
negl %r9d
shlq $0x20, %r9
movl %esi, %r10d
rdtscp
movl %edx, %r11d
movl %eax, %esi
cpuid
shlq $0x20, %r11
movl %esi, %esi
subq %r10, %rsi
addq %r9, %rsi
addq %r11, %rsi
cmpq %r8, %rsi
cmovaeq %r8, %rsi
decl %edi
jne 0x1a21
movq %rsi, 0x107606(%rip)    # 0x109068
leaq 0x105190(%rip), %rdi    # 0x106bf9
xorl %eax, %eax
callq 0x1060
leaq 0x10519c(%rip), %rdi    # 0x106c13
leaq 0x10524a(%rip), %rsi    # 0x106cc8
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
movq $-0x1, %r12
movl $0x1f4, %eax            # imm = 0x1F4
movq 0x18(%rsp), %r13
movl %eax, 0x20(%rsp)
movq %rbx, 0x10(%rsp)
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xff, %edx
callq 0x11ac
cpuid
rdtsc
movl %edx, %r15d
movl %eax, %esi
negl %r15d
shlq $0x20, %r15
movl %esi, %r14d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x50(%rsp), %rdx
callq 0x1300
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x10(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq %rdi, %rax
addq 0x10756b(%rip), %r14    # 0x109068
subq %r14, %r15
addq %rax, %r15
movl 0x20(%rsp), %eax
cmpq %r12, %r15
cmovbq %r15, %r12
addq %r15, %rbx
decl %eax
jne 0x1a9f
vcvtusi2sd %r12, %xmm2, %xmm0
vmulsd 0x10503d(%rip), %xmm0, %xmm0 # 0x106b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x105033(%rip), %xmm1, %xmm1 # 0x106b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x10(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x1050f1(%rip), %rdi    # 0x106c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x10(%rsp), %xmm2, %xmm0
leaq 0x105100(%rip), %rdi    # 0x106c5e
movb $0x1, %al
callq 0x1060
movl $0xa, %edi
callq 0x1040
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x1074ea(%rip)   # 0x109068
jne 0x1bdb
movq $-0x1, %rsi
movl $0x1f4, %edi            # imm = 0x1F4
movq %rsi, %r8
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %esi
negl %r9d
shlq $0x20, %r9
movl %esi, %r10d
rdtscp
movl %edx, %r11d
movl %eax, %esi
cpuid
shlq $0x20, %r11
movl %esi, %esi
subq %r10, %rsi
addq %r9, %rsi
addq %r11, %rsi
cmpq %r8, %rsi
cmovaeq %r8, %rsi
decl %edi
jne 0x1b8c
movq %rsi, 0x10749b(%rip)    # 0x109068
leaq 0x105025(%rip), %rdi    # 0x106bf9
xorl %eax, %eax
callq 0x1060
leaq 0x105031(%rip), %rdi    # 0x106c13
leaq 0x1050ff(%rip), %rsi    # 0x106ce8
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
movq $-0x1, %r12
movl $0x1f4, %eax            # imm = 0x1F4
movq 0x18(%rsp), %r13
movl %eax, 0x20(%rsp)
movq %rbx, 0x10(%rsp)
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xf, %edx
callq 0x11ac
cpuid
rdtsc
movl %edx, %r15d
movl %eax, %esi
negl %r15d
shlq $0x20, %r15
movl %esi, %r14d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x50(%rsp), %rdx
callq 0x1332
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x10(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq %rdi, %rax
addq 0x107400(%rip), %r14    # 0x109068
subq %r14, %r15
addq %rax, %r15
movl 0x20(%rsp), %eax
cmpq %r12, %r15
cmovbq %r15, %r12
addq %r15, %rbx
decl %eax
jne 0x1c0a
vcvtusi2sd %r12, %xmm2, %xmm0
vmulsd 0x104ed2(%rip), %xmm0, %xmm0 # 0x106b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x104ec8(%rip), %xmm1, %xmm1 # 0x106b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x10(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x104f86(%rip), %rdi    # 0x106c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x10(%rsp), %xmm2, %xmm0
leaq 0x104f95(%rip), %rdi    # 0x106c5e
movb $0x1, %al
callq 0x1060
movl $0xa, %edi
callq 0x1040
xorl %edi, %edi
callq 0x1090
vmovapd 0x104e97(%rip), %ymm0   # 0x106b80
vmovapd %ymm0, 0x60(%rsp)
cmpq $-0x1, 0x107371(%rip)   # 0x109068
jne 0x1d57
movq $-0x1, %rsi
movl $0x1f4, %edi            # imm = 0x1F4
movq %rsi, %r8
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %esi
negl %r9d
shlq $0x20, %r9
movl %esi, %r10d
rdtscp
movl %edx, %r11d
movl %eax, %esi
cpuid
shlq $0x20, %r11
movl %esi, %esi
subq %r10, %rsi
addq %r9, %rsi
addq %r11, %rsi
cmpq %r8, %rsi
cmovaeq %r8, %rsi
decl %edi
jne 0x1d05
movq %rsi, 0x107322(%rip)    # 0x109068
leaq 0x104eac(%rip), %rdi    # 0x106bf9
xorl %eax, %eax
vzeroupper
callq 0x1060
leaq 0x104eb5(%rip), %rdi    # 0x106c13
leaq 0x104fa3(%rip), %rsi    # 0x106d08
xorl %ebx, %ebx
xorl %eax, %eax
vzeroupper
callq 0x1060
xorl %edi, %edi
callq 0x1090
movq $-0x1, %r12
movl $0x1f4, %eax            # imm = 0x1F4
movq 0x18(%rsp), %r13
movl %eax, 0x20(%rsp)
movq %rbx, 0x10(%rsp)
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xff, %edx
vzeroupper
callq 0x11ac
cpuid
rdtsc
movl %edx, %r15d
movl %eax, %esi
negl %r15d
shlq $0x20, %r15
movl %esi, %r14d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x60(%rsp), %rdx
callq 0x1364
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x10(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq %rdi, %rax
addq 0x10727e(%rip), %r14    # 0x109068
subq %r14, %r15
addq %rax, %r15
movl 0x20(%rsp), %eax
cmpq %r12, %r15
cmovbq %r15, %r12
addq %r15, %rbx
decl %eax
jne 0x1d89
vcvtusi2sd %r12, %xmm2, %xmm0
vmulsd 0x104d50(%rip), %xmm0, %xmm0 # 0x106b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x104d46(%rip), %xmm1, %xmm1 # 0x106b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x10(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x104e04(%rip), %rdi    # 0x106c3b
movb $0x1, %al
vzeroupper
callq 0x1060
vcvtss2sd 0x10(%rsp), %xmm2, %xmm0
leaq 0x104e10(%rip), %rdi    # 0x106c5e
movb $0x1, %al
callq 0x1060
movl $0xa, %edi
callq 0x1040
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x1071f8(%rip)   # 0x109068
jne 0x1ecf
movq $-0x1, %rsi
movl $0x1f4, %edi            # imm = 0x1F4
movq %rsi, %r8
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %esi
negl %r9d
shlq $0x20, %r9
movl %esi, %r10d
rdtscp
movl %edx, %r11d
movl %eax, %esi
cpuid
shlq $0x20, %r11
movl %esi, %esi
subq %r10, %rsi
addq %r9, %rsi
addq %r11, %rsi
cmpq %r8, %rsi
cmovaeq %r8, %rsi
decl %edi
jne 0x1e7e
movq %rsi, 0x1071a9(%rip)    # 0x109068
leaq 0x104d33(%rip), %rdi    # 0x106bf9
xorl %eax, %eax
callq 0x1060
xorl %ebx, %ebx
leaq 0x104d3d(%rip), %rdi    # 0x106c13
leaq 0x104e4f(%rip), %rsi    # 0x106d2c
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
movq $-0x1, %r12
vmovdqa 0x60(%rsp), %ymm1
movabsq $0x101010101010101, %r14 # imm = 0x101010101010101
movabsq $0x706050403020100, %r15 # imm = 0x706050403020100
xorl %r13d, %r13d
movq 0x18(%rsp), %r10
vmovdqa %ymm1, 0x20(%rsp)
movq %rbx, 0x10(%rsp)
movq %r10, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xff, %edx
vzeroupper
callq 0x11ac
vmovdqa 0x20(%rsp), %ymm1
movq 0x18(%rsp), %r10
cpuid
rdtsc
movl %edx, %esi
movl %eax, %edi
negl %esi
shlq $0x20, %rsi
xorl %eax, %eax
movl (%r10,%rax,4), %ecx
pdepq %r14, %rcx, %rcx
movq %rcx, %rdx
shlq $0x8, %rdx
subq %rcx, %rdx
pextq %rdx, %r15, %rcx
vmovq %rcx, %xmm0
vpmovzxbd %xmm0, %ymm0    # ymm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero,xmm0[4],zero,zero,zero,xmm0[5],zero,zero,zero,xmm0[6],zero,zero,zero,xmm0[7],zero,zero,zero
vpermd %ymm1, %ymm0, %ymm1
incq %rax
cmpq $0x800, %rax            # imm = 0x800
jne 0x1f4f
movl %edi, %edi
rdtscp
movl %edx, %r9d
movl %eax, %r8d
cpuid
shlq $0x20, %r9
movl %r8d, %eax
addq %r9, %rax
addq 0x1070c9(%rip), %rdi    # 0x109068
subq %rdi, %rsi
addq %rax, %rsi
cmpq %r12, %rsi
cmovbq %rsi, %r12
addq %rsi, %r13
movq 0x10(%rsp), %rbx
incl %ebx
cmpl $0x1f4, %ebx            # imm = 0x1F4
jne 0x1f14
vmovdqa %ymm1, 0x60(%rsp)
vcvtusi2sd %r12, %xmm2, %xmm0
vmulsd 0x104b8a(%rip), %xmm0, %xmm0 # 0x106b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %r13, %xmm2, %xmm1
vdivsd 0x104b80(%rip), %xmm1, %xmm1 # 0x106b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x10(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x104c3e(%rip), %rdi    # 0x106c3b
movb $0x1, %al
movq %r10, %rbx
vzeroupper
callq 0x1060
vcvtss2sd 0x10(%rsp), %xmm2, %xmm0
leaq 0x104c47(%rip), %rdi    # 0x106c5e
movb $0x1, %al
callq 0x1060
movl $0xa, %edi
callq 0x1040
xorl %edi, %edi
callq 0x1090
movzbl 0x50(%rsp), %eax
movzbl 0x60(%rsp), %esi
addl %eax, %esi
leaq 0x104d13(%rip), %rdi    # 0x106d55
xorl %eax, %eax
callq 0x1060
movq %rbx, %rdi
callq 0x1030
xorl %eax, %eax
leaq -0x28(%rbp), %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq