// File: /workspace/github_c_makefile_star2_O2/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 $0x80, %rsp
callq 0x14d0
leaq 0x1047e7(%rip), %rdi    # 0x105d5a
callq 0x1050
movl $0x2000, %edi           # imm = 0x2000
callq 0x1080
movq %rax, 0x28(%rsp)
vmovapd 0x1045c1(%rip), %xmm0   # 0x105b50
vmovapd %xmm0, 0x30(%rsp)
cmpq $-0x1, 0x106acb(%rip)   # 0x108068
jne 0x15f9
pushq $-0x1
popq %rsi
movl $0x1f4, %edi            # imm = 0x1F4
subl $0x1, %edi
jb 0x15e4
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %r8d
negl %r9d
shlq $0x20, %r9
movl %r8d, %r8d
rdtscp
movl %edx, %r11d
movl %eax, %r10d
cpuid
shlq $0x20, %r11
movl %r10d, %eax
subq %r8, %rax
addq %r9, %rax
addq %r11, %rax
cmpq %rsi, %rax
cmovbq %rax, %rsi
jmp 0x15a7
movq %rsi, 0x106a7d(%rip)    # 0x108068
leaq 0x104607(%rip), %rdi    # 0x105bf9
xorl %eax, %eax
callq 0x1060
pushq $-0x1
popq %rbx
leaq 0x104610(%rip), %rdi    # 0x105c13
leaq 0x104612(%rip), %rsi    # 0x105c1c
xorl %r14d, %r14d
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
movl $0x1f4, %r15d           # imm = 0x1F4
movq 0x28(%rsp), %r12
subl $0x1, %r15d
jb 0x16a4
movq %r12, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xffff, %edx           # imm = 0xFFFF
callq 0x11ac
movq %rbx, 0x20(%rsp)
movq %r14, 0x18(%rsp)
cpuid
rdtsc
movl %edx, %r14d
movl %eax, %esi
negl %r14d
shlq $0x20, %r14
movl %esi, %r13d
movq %r12, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x30(%rsp), %rdx
callq 0x11e7
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x20(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq 0x1069e0(%rip), %r13    # 0x108068
addq %rdi, %rax
subq %r13, %r14
addq %rax, %r14
cmpq %rbx, %r14
cmovbq %r14, %rbx
addq %r14, 0x18(%rsp)
movq 0x18(%rsp), %r14
jmp 0x1626
vcvtusi2sd %rbx, %xmm1, %xmm0
vmulsd 0x1044ae(%rip), %xmm0, %xmm0 # 0x105b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %r14, %xmm1, %xmm1
vdivsd 0x1044a4(%rip), %xmm1, %xmm1 # 0x105b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x18(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x104562(%rip), %rdi    # 0x105c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x18(%rsp), %xmm2, %xmm0
leaq 0x104571(%rip), %rdi    # 0x105c5e
movb $0x1, %al
callq 0x1060
pushq $0xa
popq %rdi
callq 0x1040
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x10695d(%rip)   # 0x108068
jne 0x1767
pushq $-0x1
popq %rsi
movl $0x1f4, %edi            # imm = 0x1F4
subl $0x1, %edi
jb 0x1752
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %r8d
negl %r9d
shlq $0x20, %r9
movl %r8d, %r8d
rdtscp
movl %edx, %r11d
movl %eax, %r10d
cpuid
shlq $0x20, %r11
movl %r10d, %eax
subq %r8, %rax
addq %r9, %rax
addq %r11, %rax
cmpq %rsi, %rax
cmovbq %rax, %rsi
jmp 0x1715
movq %rsi, 0x10690f(%rip)    # 0x108068
leaq 0x104499(%rip), %rdi    # 0x105bf9
xorl %eax, %eax
callq 0x1060
leaq 0x1044a5(%rip), %rdi    # 0x105c13
leaq 0x10450b(%rip), %rsi    # 0x105c80
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
pushq $-0x1
popq %rax
movl $0x1f4, %r15d           # imm = 0x1F4
movq 0x28(%rsp), %r13
subl $0x1, %r15d
jb 0x180f
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xffff, %edx           # imm = 0xFFFF
movq %rax, 0x20(%rsp)
callq 0x11ac
movq %rbx, 0x18(%rsp)
cpuid
rdtsc
movl %edx, %r14d
movl %eax, %esi
negl %r14d
shlq $0x20, %r14
movl %esi, %r12d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x30(%rsp), %rdx
callq 0x121f
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x18(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq 0x106873(%rip), %r12    # 0x108068
addq %rdi, %rax
subq %r12, %r14
addq %rax, %r14
movq 0x20(%rsp), %rax
cmpq %rax, %r14
cmovbq %r14, %rax
addq %r14, %rbx
jmp 0x1793
vcvtusi2sd %rax, %xmm2, %xmm0
vmulsd 0x104343(%rip), %xmm0, %xmm0 # 0x105b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x104339(%rip), %xmm1, %xmm1 # 0x105b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x18(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x1043f7(%rip), %rdi    # 0x105c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x18(%rsp), %xmm2, %xmm0
leaq 0x104406(%rip), %rdi    # 0x105c5e
movb $0x1, %al
callq 0x1060
pushq $0xa
popq %rdi
callq 0x1040
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x1067f2(%rip)   # 0x108068
jne 0x18d2
pushq $-0x1
popq %rsi
movl $0x1f4, %edi            # imm = 0x1F4
subl $0x1, %edi
jb 0x18bd
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %r8d
negl %r9d
shlq $0x20, %r9
movl %r8d, %r8d
rdtscp
movl %edx, %r11d
movl %eax, %r10d
cpuid
shlq $0x20, %r11
movl %r10d, %eax
subq %r8, %rax
addq %r9, %rax
addq %r11, %rax
cmpq %rsi, %rax
cmovbq %rax, %rsi
jmp 0x1880
movq %rsi, 0x1067a4(%rip)    # 0x108068
leaq 0x10432e(%rip), %rdi    # 0x105bf9
xorl %eax, %eax
callq 0x1060
leaq 0x10433a(%rip), %rdi    # 0x105c13
leaq 0x1043c3(%rip), %rsi    # 0x105ca3
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
pushq $-0x1
popq %rax
movl $0x1f4, %r15d           # imm = 0x1F4
movq 0x28(%rsp), %r13
subl $0x1, %r15d
jb 0x197a
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xffff, %edx           # imm = 0xFFFF
movq %rax, 0x20(%rsp)
callq 0x11ac
movq %rbx, 0x18(%rsp)
cpuid
rdtsc
movl %edx, %r14d
movl %eax, %esi
negl %r14d
shlq $0x20, %r14
movl %esi, %r12d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x30(%rsp), %rdx
callq 0x12b7
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x18(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq 0x106708(%rip), %r12    # 0x108068
addq %rdi, %rax
subq %r12, %r14
addq %rax, %r14
movq 0x20(%rsp), %rax
cmpq %rax, %r14
cmovbq %r14, %rax
addq %r14, %rbx
jmp 0x18fe
vcvtusi2sd %rax, %xmm2, %xmm0
vmulsd 0x1041d8(%rip), %xmm0, %xmm0 # 0x105b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x1041ce(%rip), %xmm1, %xmm1 # 0x105b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x18(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x10428c(%rip), %rdi    # 0x105c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x18(%rsp), %xmm2, %xmm0
leaq 0x10429b(%rip), %rdi    # 0x105c5e
movb $0x1, %al
callq 0x1060
pushq $0xa
popq %rdi
callq 0x1040
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x106687(%rip)   # 0x108068
jne 0x1a3d
pushq $-0x1
popq %rsi
movl $0x1f4, %edi            # imm = 0x1F4
subl $0x1, %edi
jb 0x1a28
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %r8d
negl %r9d
shlq $0x20, %r9
movl %r8d, %r8d
rdtscp
movl %edx, %r11d
movl %eax, %r10d
cpuid
shlq $0x20, %r11
movl %r10d, %eax
subq %r8, %rax
addq %r9, %rax
addq %r11, %rax
cmpq %rsi, %rax
cmovbq %rax, %rsi
jmp 0x19eb
movq %rsi, 0x106639(%rip)    # 0x108068
leaq 0x1041c3(%rip), %rdi    # 0x105bf9
xorl %eax, %eax
callq 0x1060
leaq 0x1041cf(%rip), %rdi    # 0x105c13
leaq 0x10427d(%rip), %rsi    # 0x105cc8
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
pushq $-0x1
popq %rax
movl $0x1f4, %r15d           # imm = 0x1F4
movq 0x28(%rsp), %r13
subl $0x1, %r15d
jb 0x1ae5
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xff, %edx
movq %rax, 0x20(%rsp)
callq 0x11ac
movq %rbx, 0x18(%rsp)
cpuid
rdtsc
movl %edx, %r14d
movl %eax, %esi
negl %r14d
shlq $0x20, %r14
movl %esi, %r12d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x30(%rsp), %rdx
callq 0x133e
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x18(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq 0x10659d(%rip), %r12    # 0x108068
addq %rdi, %rax
subq %r12, %r14
addq %rax, %r14
movq 0x20(%rsp), %rax
cmpq %rax, %r14
cmovbq %r14, %rax
addq %r14, %rbx
jmp 0x1a69
vcvtusi2sd %rax, %xmm2, %xmm0
vmulsd 0x10406d(%rip), %xmm0, %xmm0 # 0x105b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x104063(%rip), %xmm1, %xmm1 # 0x105b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x18(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x104121(%rip), %rdi    # 0x105c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x18(%rsp), %xmm2, %xmm0
leaq 0x104130(%rip), %rdi    # 0x105c5e
movb $0x1, %al
callq 0x1060
pushq $0xa
popq %rdi
callq 0x1040
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x10651c(%rip)   # 0x108068
jne 0x1ba8
pushq $-0x1
popq %rsi
movl $0x1f4, %edi            # imm = 0x1F4
subl $0x1, %edi
jb 0x1b93
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %r8d
negl %r9d
shlq $0x20, %r9
movl %r8d, %r8d
rdtscp
movl %edx, %r11d
movl %eax, %r10d
cpuid
shlq $0x20, %r11
movl %r10d, %eax
subq %r8, %rax
addq %r9, %rax
addq %r11, %rax
cmpq %rsi, %rax
cmovbq %rax, %rsi
jmp 0x1b56
movq %rsi, 0x1064ce(%rip)    # 0x108068
leaq 0x104058(%rip), %rdi    # 0x105bf9
xorl %eax, %eax
callq 0x1060
leaq 0x104064(%rip), %rdi    # 0x105c13
leaq 0x104132(%rip), %rsi    # 0x105ce8
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
pushq $-0x1
popq %rax
movl $0x1f4, %r12d           # imm = 0x1F4
movq 0x28(%rsp), %r15
subl $0x1, %r12d
jb 0x1c4e
movq %r15, %rdi
movl $0x800, %esi            # imm = 0x800
pushq $0xf
popq %rdx
movq %rax, 0x20(%rsp)
callq 0x11ac
movq %rbx, 0x18(%rsp)
cpuid
rdtsc
movl %edx, %r14d
movl %eax, %esi
negl %r14d
shlq $0x20, %r14
movl %esi, %r13d
movq %r15, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x30(%rsp), %rdx
callq 0x1376
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x18(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq 0x106434(%rip), %r13    # 0x108068
addq %rdi, %rax
subq %r13, %r14
addq %rax, %r14
movq 0x20(%rsp), %rax
cmpq %rax, %r14
cmovbq %r14, %rax
addq %r14, %rbx
jmp 0x1bd4
vcvtusi2sd %rax, %xmm2, %xmm0
vmulsd 0x103f04(%rip), %xmm0, %xmm0 # 0x105b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x103efa(%rip), %xmm1, %xmm1 # 0x105b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x18(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x103fb8(%rip), %rdi    # 0x105c3b
movb $0x1, %al
callq 0x1060
vcvtss2sd 0x18(%rsp), %xmm2, %xmm0
leaq 0x103fc7(%rip), %rdi    # 0x105c5e
movb $0x1, %al
callq 0x1060
pushq $0xa
popq %rdi
callq 0x1040
xorl %edi, %edi
callq 0x1090
vmovapd 0x103ecb(%rip), %ymm0   # 0x105b80
vmovapd %ymm0, 0x40(%rsp)
cmpq $-0x1, 0x1063a5(%rip)   # 0x108068
jne 0x1d22
pushq $-0x1
popq %rsi
movl $0x1f4, %edi            # imm = 0x1F4
subl $0x1, %edi
jb 0x1d0a
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %r8d
negl %r9d
shlq $0x20, %r9
movl %r8d, %r8d
rdtscp
movl %edx, %r11d
movl %eax, %r10d
cpuid
shlq $0x20, %r11
movl %r10d, %eax
subq %r8, %rax
addq %r9, %rax
addq %r11, %rax
cmpq %rsi, %rax
cmovbq %rax, %rsi
jmp 0x1ccd
movq %rsi, 0x106357(%rip)    # 0x108068
leaq 0x103ee1(%rip), %rdi    # 0x105bf9
xorl %eax, %eax
vzeroupper
callq 0x1060
leaq 0x103eea(%rip), %rdi    # 0x105c13
leaq 0x103fd8(%rip), %rsi    # 0x105d08
xorl %ebx, %ebx
xorl %eax, %eax
vzeroupper
callq 0x1060
xorl %edi, %edi
callq 0x1090
pushq $-0x1
popq %rax
movl $0x1f4, %r15d           # imm = 0x1F4
movq 0x28(%rsp), %r13
subl $0x1, %r15d
jb 0x1dd0
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xff, %edx
movq %rax, 0x20(%rsp)
vzeroupper
callq 0x11ac
movq %rbx, 0x18(%rsp)
cpuid
rdtsc
movl %edx, %r14d
movl %eax, %esi
negl %r14d
shlq $0x20, %r14
movl %esi, %r12d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x40(%rsp), %rdx
callq 0x13ae
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x18(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq 0x1062b2(%rip), %r12    # 0x108068
addq %rdi, %rax
subq %r12, %r14
addq %rax, %r14
movq 0x20(%rsp), %rax
cmpq %rax, %r14
cmovbq %r14, %rax
addq %r14, %rbx
jmp 0x1d51
vcvtusi2sd %rax, %xmm2, %xmm0
vmulsd 0x103d82(%rip), %xmm0, %xmm0 # 0x105b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x103d78(%rip), %xmm1, %xmm1 # 0x105b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x18(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x103e36(%rip), %rdi    # 0x105c3b
movb $0x1, %al
vzeroupper
callq 0x1060
vcvtss2sd 0x18(%rsp), %xmm2, %xmm0
leaq 0x103e42(%rip), %rdi    # 0x105c5e
movb $0x1, %al
callq 0x1060
pushq $0xa
popq %rdi
callq 0x1040
xorl %edi, %edi
callq 0x1090
cmpq $-0x1, 0x10622e(%rip)   # 0x108068
jne 0x1e96
pushq $-0x1
popq %rsi
movl $0x1f4, %edi            # imm = 0x1F4
subl $0x1, %edi
jb 0x1e81
cpuid
rdtsc
movl %edx, %r9d
movl %eax, %r8d
negl %r9d
shlq $0x20, %r9
movl %r8d, %r8d
rdtscp
movl %edx, %r11d
movl %eax, %r10d
cpuid
shlq $0x20, %r11
movl %r10d, %eax
subq %r8, %rax
addq %r9, %rax
addq %r11, %rax
cmpq %rsi, %rax
cmovbq %rax, %rsi
jmp 0x1e44
movq %rsi, 0x1061e0(%rip)    # 0x108068
leaq 0x103d6a(%rip), %rdi    # 0x105bf9
xorl %eax, %eax
callq 0x1060
leaq 0x103d76(%rip), %rdi    # 0x105c13
leaq 0x103e88(%rip), %rsi    # 0x105d2c
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x1060
xorl %edi, %edi
callq 0x1090
pushq $-0x1
popq %rax
movl $0x1f4, %r15d           # imm = 0x1F4
movq 0x28(%rsp), %r13
subl $0x1, %r15d
jb 0x1f41
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
movl $0xff, %edx
movq %rax, 0x20(%rsp)
vzeroupper
callq 0x11ac
movq %rbx, 0x18(%rsp)
cpuid
rdtsc
movl %edx, %r14d
movl %eax, %esi
negl %r14d
shlq $0x20, %r14
movl %esi, %r12d
movq %r13, %rdi
movl $0x800, %esi            # imm = 0x800
leaq 0x40(%rsp), %rdx
callq 0x13e7
rdtscp
movl %edx, %edi
movl %eax, %esi
cpuid
movq 0x18(%rsp), %rbx
shlq $0x20, %rdi
movl %esi, %eax
addq 0x106141(%rip), %r12    # 0x108068
addq %rdi, %rax
subq %r12, %r14
addq %rax, %r14
movq 0x20(%rsp), %rax
cmpq %rax, %r14
cmovbq %r14, %rax
addq %r14, %rbx
jmp 0x1ec2
vcvtusi2sd %rax, %xmm2, %xmm0
vmulsd 0x103c11(%rip), %xmm0, %xmm0 # 0x105b60
vcvtsd2ss %xmm0, %xmm0, %xmm0
vcvtusi2sd %rbx, %xmm2, %xmm1
vdivsd 0x103c07(%rip), %xmm1, %xmm1 # 0x105b68
vcvtsd2ss %xmm1, %xmm1, %xmm1
vmovss %xmm1, 0x18(%rsp)
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x103cc5(%rip), %rdi    # 0x105c3b
movb $0x1, %al
vzeroupper
callq 0x1060
vcvtss2sd 0x18(%rsp), %xmm2, %xmm0
leaq 0x103cd1(%rip), %rdi    # 0x105c5e
movb $0x1, %al
callq 0x1060
pushq $0xa
popq %rdi
callq 0x1040
xorl %edi, %edi
callq 0x1090
movzbl 0x30(%rsp), %eax
movzbl 0x40(%rsp), %esi
addl %eax, %esi
leaq 0x103d9f(%rip), %rdi    # 0x105d55
xorl %eax, %eax
callq 0x1060
movq 0x28(%rsp), %rdi
callq 0x1030
xorl %eax, %eax
leaq -0x28(%rbp), %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq