// File: /workspace/github_c_makefile_star2_O2/zpole[P]IICV/src/test_mathop.c
// Function: main
int
main (int argc VL_UNUSED, char** argv VL_UNUSED)
{
  int error = 0 ;

  /* -----------------------------------------------------------------
   *                                                  vl_fast_resqrt_*
   * -------------------------------------------------------------- */

  VL_PRINTF ("%20s %10s %10s %10s\n", "func", "elaps [s]", "eval/s", "chksum") ;

#define SFX f
#define SFX2 FLT
#define T float
#define SQRT sqrtf
#define ABS  fabsf
#define ONE 1.0F
#include "test_mathop_fast_resqrt.tc"
#undef ONE
#undef ABS
#undef SQRT
#undef T
#undef SFX2
#undef SFX

#define SFX d
#define SFX2 DBL
#define T float
#define SQRT sqrt
#define ABS  fabs
#define ONE 1.0
#include "test_mathop_fast_resqrt.tc"
#undef ONE
#undef ABS
#undef SQRT
#undef T
#undef SFX2
#undef SFX

  VL_PRINTF("\n") ;

  /* -----------------------------------------------------------------
   *                                                  vl_fast_sqrt_ui*
   * -------------------------------------------------------------- */

  VL_PRINTF ("%20s %10s %10s %10s\n", "func", "elaps [s]", "eval/s", "chksum") ;

#undef SFX
#undef T
#undef STEP
#define SFX 32
#define T vl_uint32
#define STEP 7
#include "test_mathop_fast_sqrt_ui.tc"

#undef SFX
#undef T
#undef STEP
#define SFX 16
#define T vl_uint16
#define STEP 0
#include "test_mathop_fast_sqrt_ui.tc"

#undef SFX
#undef T
#undef STEP
#define SFX 8
#define T vl_uint8
#define STEP 0
#include "test_mathop_fast_sqrt_ui.tc"

  return error ;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x50, %rsp
callq 0x1040
movq %rax, %r9
leaq 0xf49(%rip), %rdi       # 0x20f0
leaq 0xf57(%rip), %rsi       # 0x2105
leaq 0xf55(%rip), %rdx       # 0x210a
leaq 0xf58(%rip), %rcx       # 0x2114
leaq 0xf58(%rip), %r8        # 0x211b
xorl %eax, %eax
callq *%r9
movss 0xe34(%rip), %xmm2      # 0x2004
movss 0xe30(%rip), %xmm1      # 0x2008
xorps %xmm0, %xmm0
movss %xmm0, 0x10(%rsp)
movss 0xe23(%rip), %xmm0      # 0x200c
ucomiss %xmm2, %xmm0
jbe 0x1287
movss %xmm1, 0x30(%rsp)
movaps %xmm2, %xmm0
movss %xmm2, (%rsp)
callq 0x1bee
movss (%rsp), %xmm2
movaps %xmm0, %xmm3
ucomiss 0xe08(%rip), %xmm2      # 0x201c
jb 0x121c
sqrtss %xmm2, %xmm0
jmp 0x1235
movaps %xmm2, %xmm0
movss %xmm3, 0x20(%rsp)
callq 0x1060
movss 0x20(%rsp), %xmm3
movss (%rsp), %xmm2
movss 0xdd7(%rip), %xmm1      # 0x2014
divss %xmm0, %xmm1
subss %xmm3, %xmm1
andps 0xe84(%rip), %xmm1      # 0x20d0
divss %xmm3, %xmm1
mulss 0xdc0(%rip), %xmm1      # 0x2018
movss 0x10(%rsp), %xmm0
maxss %xmm1, %xmm0
movss %xmm0, 0x10(%rsp)
movss 0x30(%rsp), %xmm0
addss %xmm0, %xmm2
cvtss2sd %xmm0, %xmm0
mulsd 0xdd2(%rip), %xmm0      # 0x2050
cvtsd2ss %xmm0, %xmm1
jmp 0x11e1
callq 0x1040
movq %rax, %rcx
cvtss2sd 0x10(%rsp), %xmm0
movsd %xmm0, (%rsp)
leaq 0xe92(%rip), %rdi       # 0x2133
leaq 0xe7a(%rip), %rsi       # 0x2122
movb $0x1, %al
callq *%rcx
xorl %ebp, %ebp
movsd (%rsp), %xmm0
ucomisd 0xd6d(%rip), %xmm0      # 0x2028
movl $0x0, %ebx
jbe 0x12df
callq 0x1040
movq %rax, %rcx
leaq 0xe85(%rip), %rdi       # 0x2156
leaq 0xe4a(%rip), %rsi       # 0x2122
xorl %eax, %eax
callq *%rcx
pushq $0x1
popq %rbx
pushq $0x1
popq %r14
callq 0x1030
movss 0xd14(%rip), %xmm0      # 0x2004
movss 0xd10(%rip), %xmm1      # 0x2008
movss 0xd0c(%rip), %xmm2      # 0x200c
ucomiss %xmm0, %xmm2
jbe 0x131d
incl %ebp
addss %xmm1, %xmm0
cvtss2sd %xmm1, %xmm1
mulsd 0xd39(%rip), %xmm1      # 0x2050
cvtsd2ss %xmm1, %xmm1
jmp 0x1300
callq 0x1050
movsd %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
cvtsi2sd %ebp, %xmm1
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
leaq 0xe3c(%rip), %rdi       # 0x217f
leaq 0xdd8(%rip), %rsi       # 0x2122
movb $0x2, %al
callq *%rcx
callq 0x1030
movss 0xca9(%rip), %xmm1      # 0x2004
movss 0xca5(%rip), %xmm3      # 0x2008
xorl %ebp, %ebp
xorps %xmm2, %xmm2
movss 0xc9c(%rip), %xmm0      # 0x200c
ucomiss %xmm1, %xmm0
jbe 0x13b3
ucomiss %xmm2, %xmm1
jae 0x139b
movaps %xmm1, %xmm0
movss %xmm1, (%rsp)
movss %xmm3, 0x10(%rsp)
callq 0x1060
movss 0x10(%rsp), %xmm3
xorps %xmm2, %xmm2
movss (%rsp), %xmm1
incl %ebp
addss %xmm3, %xmm1
cvtss2sd %xmm3, %xmm0
mulsd 0xca3(%rip), %xmm0      # 0x2050
cvtsd2ss %xmm0, %xmm3
jmp 0x1368
callq 0x1050
movsd %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
cvtsi2sd %ebp, %xmm1
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
leaq 0xda6(%rip), %rdi       # 0x217f
leaq 0xdb3(%rip), %rsi       # 0x2193
movb $0x2, %al
callq *%rcx
movss 0xc24(%rip), %xmm1      # 0x2010
xorpd %xmm0, %xmm0
movss %xmm0, (%rsp)
xorps %xmm2, %xmm2
cvtss2sd %xmm2, %xmm3
movsd 0xc2c(%rip), %xmm0      # 0x2030
ucomisd %xmm3, %xmm0
jbe 0x14c0
movss %xmm2, 0x30(%rsp)
movss %xmm1, 0x10(%rsp)
movaps %xmm3, %xmm0
movsd %xmm3, 0x20(%rsp)
callq 0x1c33
movsd 0x20(%rsp), %xmm1
movaps %xmm0, %xmm2
ucomisd 0xc2f(%rip), %xmm1      # 0x2068
jb 0x1441
sqrtsd %xmm1, %xmm0
jmp 0x1456
movapd %xmm1, %xmm0
movsd %xmm2, 0x20(%rsp)
callq 0x1080
movsd 0x20(%rsp), %xmm2
movsd 0xbfa(%rip), %xmm1      # 0x2058
divsd %xmm0, %xmm1
cvtsd2ss %xmm2, %xmm0
cvtsd2ss %xmm1, %xmm1
subss %xmm0, %xmm1
andps 0xc5b(%rip), %xmm1      # 0x20d0
cvtss2sd %xmm1, %xmm1
cvtss2sd %xmm0, %xmm0
divsd %xmm0, %xmm1
mulsd 0xbd7(%rip), %xmm1      # 0x2060
cvtsd2ss %xmm1, %xmm0
movss (%rsp), %xmm1
maxss %xmm0, %xmm1
movss %xmm1, (%rsp)
movss 0x10(%rsp), %xmm0
movss 0x30(%rsp), %xmm2
addss %xmm0, %xmm2
cvtss2sd %xmm0, %xmm0
mulsd 0xb99(%rip), %xmm0      # 0x2050
cvtsd2ss %xmm0, %xmm1
jmp 0x13f8
callq 0x1040
movq %rax, %rcx
cvtss2sd (%rsp), %xmm0
movsd %xmm0, (%rsp)
leaq 0xc5a(%rip), %rdi       # 0x2133
leaq 0xcbc(%rip), %rsi       # 0x219c
movb $0x1, %al
callq *%rcx
movsd (%rsp), %xmm0
ucomisd 0xb37(%rip), %xmm0      # 0x2028
jbe 0x1510
callq 0x1040
movq %rax, %rcx
leaq 0xc54(%rip), %rdi       # 0x2156
leaq 0xc93(%rip), %rsi       # 0x219c
xorl %eax, %eax
callq *%rcx
pushq $0x1
popq %rbx
callq 0x1030
xorpd %xmm0, %xmm0
movss 0xaef(%rip), %xmm1      # 0x2010
xorl %ebp, %ebp
movsd 0xb05(%rip), %xmm3      # 0x2030
cvtss2sd %xmm0, %xmm2
ucomisd %xmm2, %xmm3
jbe 0x154d
incl %ebp
addss %xmm1, %xmm0
cvtss2sd %xmm1, %xmm1
mulsd 0xb09(%rip), %xmm1      # 0x2050
cvtsd2ss %xmm1, %xmm1
jmp 0x152b
callq 0x1050
movsd %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
cvtsi2sd %ebp, %xmm1
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
leaq 0xc0c(%rip), %rdi       # 0x217f
leaq 0xc22(%rip), %rsi       # 0x219c
movb $0x2, %al
callq *%rcx
callq 0x1030
xorps %xmm2, %xmm2
movss 0xa82(%rip), %xmm3      # 0x2010
xorl %ebp, %ebp
xorpd %xmm0, %xmm0
cvtss2sd %xmm0, %xmm4
movsd 0xa90(%rip), %xmm1      # 0x2030
ucomisd %xmm4, %xmm1
jbe 0x15e1
ucomiss %xmm2, %xmm0
jae 0x15c9
movss %xmm3, (%rsp)
movss %xmm0, 0x10(%rsp)
callq 0x1060
movss 0x10(%rsp), %xmm0
movss (%rsp), %xmm3
xorps %xmm2, %xmm2
incl %ebp
addss %xmm3, %xmm0
cvtss2sd %xmm3, %xmm1
mulsd 0xa75(%rip), %xmm1      # 0x2050
cvtsd2ss %xmm1, %xmm3
jmp 0x1594
callq 0x1050
movsd %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
cvtsi2sd %ebp, %xmm1
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
leaq 0xb78(%rip), %rdi       # 0x217f
leaq 0xb85(%rip), %rsi       # 0x2193
movb $0x2, %al
callq *%rcx
callq 0x1040
movq %rax, %rcx
leaq 0xb5c(%rip), %rdi       # 0x217d
xorl %r15d, %r15d
xorl %eax, %eax
callq *%rcx
callq 0x1040
movq %rax, %r9
leaq 0xab9(%rip), %rdi       # 0x20f0
leaq 0xac7(%rip), %rsi       # 0x2105
leaq 0xac5(%rip), %rdx       # 0x210a
leaq 0xac8(%rip), %rcx       # 0x2114
leaq 0xac8(%rip), %r8        # 0x211b
xorl %eax, %eax
callq *%r9
callq 0x1030
pushq $0x1e
popq %rax
xorl %edx, %edx
xorl %ebp, %ebp
movl %edx, %edi
xorl %esi, %esi
movl %eax, %ecx
testl %ecx, %ecx
js 0x1693
leal 0x1(,%rsi,4), %r8d
shll %cl, %r8d
xorl %r9d, %r9d
cmpl %r8d, %edi
cmovbl %r15d, %r8d
setae %r9b
subl %r8d, %edi
leal (%r9,%rsi,2), %esi
addl $-0x2, %ecx
jmp 0x166a
addl %esi, %ebp
subl $-0x80, %edx
jne 0x1664
callq 0x1050
movsd %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
leaq 0xafa(%rip), %rdi       # 0x21ad
leaq 0xaf8(%rip), %rsi       # 0x21b2
xorl %r15d, %r15d
xorl %eax, %eax
callq *%rcx
callq 0x1040
movq %rax, %rcx
movsd 0x967(%rip), %xmm1      # 0x2038
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
leaq 0xae3(%rip), %rdi       # 0x21c4
movl %ebp, %esi
movb $0x2, %al
callq *%rcx
callq 0x1030
xorl %r12d, %r12d
movl %r15d, %eax
cvtsi2sd %rax, %xmm0
sqrtsd %xmm0, %xmm0
callq 0x1070
cvttsd2si %xmm0, %rax
addl %eax, %r12d
subl $-0x80, %r15d
jne 0x16ef
callq 0x1050
movsd %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
leaq 0xa86(%rip), %rdi       # 0x21ad
leaq 0xa65(%rip), %rsi       # 0x2193
xorl %r15d, %r15d
xorl %eax, %eax
callq *%rcx
callq 0x1040
movq %rax, %rcx
movsd 0x8f3(%rip), %xmm1      # 0x2038
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
leaq 0xa6f(%rip), %rdi       # 0x21c4
movl %ebp, %esi
movb $0x2, %al
callq *%rcx
cmpl %r12d, %ebp
je 0x1776
callq 0x1040
movq %rax, %rcx
leaq 0xa6b(%rip), %rdi       # 0x21da
xorl %eax, %eax
callq *%rcx
movl %r14d, %ebx
callq 0x1030
pushq $0xe
popq %rax
xorl %ebp, %ebp
xorl %edx, %edx
xorl %esi, %esi
movl %edx, %edi
movl %eax, %ecx
testl %ecx, %ecx
js 0x17bc
leal 0x1(,%rsi,4), %r8d
shll %cl, %r8d
movzwl %di, %r9d
andl $0xfffd, %r8d           # imm = 0xFFFD
xorl %r10d, %r10d
cmpl %r9d, %r8d
setbe %r10b
cmoval %r15d, %r8d
subl %r8d, %edi
leal (%r10,%rsi,2), %esi
addl $-0x2, %ecx
jmp 0x1788
movzwl %si, %ecx
addl %ecx, %ebp
incl %edx
cmpl $0x10000, %edx          # imm = 0x10000
jne 0x1782
callq 0x1050
movsd %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
leaq 0x9c9(%rip), %rdi       # 0x21ad
leaq 0xa24(%rip), %rsi       # 0x220f
xorl %eax, %eax
callq *%rcx
callq 0x1040
movq %rax, %rcx
movsd 0x841(%rip), %xmm1      # 0x2040
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
movzwl %bp, %ebp
leaq 0xa0f(%rip), %rdi       # 0x2221
movl %ebp, %esi
movb $0x2, %al
callq *%rcx
callq 0x1030
movsd 0x85b(%rip), %xmm0      # 0x2080
movl $0x10000, %r14d         # imm = 0x10000
xorpd %xmm1, %xmm1
movapd %xmm1, 0x20(%rsp)
movaps %xmm0, 0x10(%rsp)
movdqa 0x10(%rsp), %xmm0
punpcklwd 0x898(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3]
pshufd $0xee, %xmm0, %xmm1     # xmm1 = xmm0[2,3,2,3]
cvtdq2pd %xmm1, %xmm1
cvtdq2pd %xmm0, %xmm0
sqrtpd %xmm0, %xmm0
movapd %xmm0, 0x30(%rsp)
sqrtpd %xmm1, %xmm0
movapd %xmm0, 0x40(%rsp)
callq 0x1070
movapd %xmm0, (%rsp)
movaps 0x40(%rsp), %xmm0
movhlps %xmm0, %xmm0            # xmm0 = xmm0[1,1]
callq 0x1070
movaps (%rsp), %xmm1
movlhps %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
movaps %xmm1, (%rsp)
movaps 0x30(%rsp), %xmm0
callq 0x1070
movaps %xmm0, 0x40(%rsp)
movapd 0x30(%rsp), %xmm0
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
callq 0x1070
movapd 0x40(%rsp), %xmm4
unpcklpd %xmm0, %xmm4            # xmm4 = xmm4[0],xmm0[0]
cvttpd2dq %xmm4, %xmm0
movapd %xmm0, %xmm1
movapd 0x7cd(%rip), %xmm3      # 0x2090
subpd %xmm3, %xmm4
cvttpd2dq %xmm4, %xmm2
psrad $0x1f, %xmm1
andpd %xmm1, %xmm2
movapd (%rsp), %xmm4
cvttpd2dq %xmm4, %xmm1
orpd %xmm0, %xmm2
movapd %xmm1, %xmm0
psrad $0x1f, %xmm0
subpd %xmm3, %xmm4
cvttpd2dq %xmm4, %xmm3
andpd %xmm0, %xmm3
movdqa 0x10(%rsp), %xmm0
orpd %xmm1, %xmm3
movdqa 0x20(%rsp), %xmm1
unpcklpd %xmm3, %xmm2            # xmm2 = xmm2[0],xmm3[0]
paddd %xmm2, %xmm1
paddw 0x78a(%rip), %xmm0      # 0x20a0
addl $-0x4, %r14d
jne 0x182f
pshufd $0xee, %xmm1, %xmm0     # xmm0 = xmm1[2,3,2,3]
paddd %xmm1, %xmm0
pshufd $0x55, %xmm0, %xmm1     # xmm1 = xmm0[1,1,1,1]
paddd %xmm0, %xmm1
movd %xmm1, %r15d
callq 0x1050
movq %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
leaq 0x85d(%rip), %rdi       # 0x21ad
leaq 0x83c(%rip), %rsi       # 0x2193
xorl %r14d, %r14d
xorl %eax, %eax
callq *%rcx
callq 0x1040
movq %rax, %rcx
movsd 0x6d2(%rip), %xmm1      # 0x2040
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
leaq 0x8a3(%rip), %rdi       # 0x2221
movl %ebp, %esi
movb $0x2, %al
callq *%rcx
movzwl %r15w, %eax
cmpl %eax, %ebp
je 0x19a2
callq 0x1040
movq %rax, %rcx
leaq 0x89d(%rip), %rdi       # 0x2238
xorl %eax, %eax
callq *%rcx
pushq $0x1
popq %rbx
callq 0x1030
pushq $0x6
popq %rax
xorl %ebp, %ebp
xorl %edx, %edx
xorl %esi, %esi
movl %edx, %edi
movl %eax, %ecx
testl %ecx, %ecx
js 0x19eb
addb %sil, %sil
movzbl %sil, %esi
leal 0x1(,%rsi,2), %r8d
shll %cl, %r8d
movzbl %dil, %edi
andl $0xfd, %r8d
cmpl %edi, %r8d
setbe %r9b
cmoval %r14d, %r8d
subb %r8b, %dil
orb %r9b, %sil
addl $-0x2, %ecx
jmp 0x19b4
movzbl %sil, %ecx
addl %ecx, %ebp
incl %edx
cmpl $0x100, %edx            # imm = 0x100
jne 0x19ae
callq 0x1050
movsd %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
leaq 0x799(%rip), %rdi       # 0x21ad
leaq 0x852(%rip), %rsi       # 0x226d
xorl %eax, %eax
callq *%rcx
callq 0x1040
movq %rax, %rcx
movsd 0x619(%rip), %xmm1      # 0x2048
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
movzbl %bpl, %ebp
leaq 0x83b(%rip), %rdi       # 0x227e
movl %ebp, %esi
movb $0x2, %al
callq *%rcx
callq 0x1030
movd 0x65a(%rip), %xmm1      # 0x20b0
movl $0x100, %r14d           # imm = 0x100
xorpd %xmm2, %xmm2
movapd %xmm2, (%rsp)
movdqa %xmm1, 0x20(%rsp)
movdqa %xmm1, %xmm0
pxor %xmm1, %xmm1
punpcklbw %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
pshufd $0xee, %xmm0, %xmm1     # xmm1 = xmm0[2,3,2,3]
cvtdq2pd %xmm1, %xmm1
cvtdq2pd %xmm0, %xmm0
sqrtpd %xmm0, %xmm0
movapd %xmm0, 0x30(%rsp)
sqrtpd %xmm1, %xmm0
movapd %xmm0, 0x40(%rsp)
callq 0x1070
movapd %xmm0, 0x10(%rsp)
movaps 0x40(%rsp), %xmm0
movhlps %xmm0, %xmm0            # xmm0 = xmm0[1,1]
callq 0x1070
movaps 0x10(%rsp), %xmm1
movlhps %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
movaps %xmm1, 0x10(%rsp)
movaps 0x30(%rsp), %xmm0
callq 0x1070
movaps %xmm0, 0x40(%rsp)
movapd 0x30(%rsp), %xmm0
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
callq 0x1070
movapd 0x40(%rsp), %xmm4
unpcklpd %xmm0, %xmm4            # xmm4 = xmm4[0],xmm0[0]
cvttpd2dq %xmm4, %xmm0
movapd %xmm0, %xmm1
movapd 0x597(%rip), %xmm3      # 0x2090
subpd %xmm3, %xmm4
cvttpd2dq %xmm4, %xmm2
psrad $0x1f, %xmm1
andpd %xmm1, %xmm2
movapd 0x10(%rsp), %xmm4
cvttpd2dq %xmm4, %xmm1
orpd %xmm0, %xmm2
movapd %xmm1, %xmm0
psrad $0x1f, %xmm0
subpd %xmm3, %xmm4
cvttpd2dq %xmm4, %xmm3
andpd %xmm0, %xmm3
orpd %xmm1, %xmm3
movdqa 0x20(%rsp), %xmm1
unpcklpd %xmm3, %xmm2            # xmm2 = xmm2[0],xmm3[0]
movdqa (%rsp), %xmm0
paddd %xmm2, %xmm0
movdqa %xmm0, (%rsp)
movdqa (%rsp), %xmm2
paddb 0x56a(%rip), %xmm1      # 0x20c0
addl $-0x4, %r14d
jne 0x1a60
pshufd $0xee, %xmm2, %xmm0     # xmm0 = xmm2[2,3,2,3]
paddd %xmm2, %xmm0
pshufd $0x55, %xmm0, %xmm1     # xmm1 = xmm0[1,1,1,1]
paddd %xmm0, %xmm1
movd %xmm1, %r14d
callq 0x1050
movq %xmm0, (%rsp)
callq 0x1040
movq %rax, %rcx
leaq 0x61d(%rip), %rdi       # 0x21ad
leaq 0x5fc(%rip), %rsi       # 0x2193
xorl %eax, %eax
callq *%rcx
callq 0x1040
movq %rax, %rcx
movsd 0x49d(%rip), %xmm1      # 0x2048
movsd (%rsp), %xmm0
divsd %xmm0, %xmm1
leaq 0x6c3(%rip), %rdi       # 0x227e
movl %ebp, %esi
movb $0x2, %al
callq *%rcx
movzbl %r14b, %eax
cmpl %eax, %ebp
je 0x1bdf
callq 0x1040
movq %rax, %rcx
leaq 0x6be(%rip), %rdi       # 0x2296
xorl %eax, %eax
callq *%rcx
pushq $0x1
popq %rbx
movl %ebx, %eax
addq $0x50, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq