@@ -263,4 +263,15 @@
#define __DECL_SIMD_hypotf32x
#define __DECL_SIMD_hypotf64x
#define __DECL_SIMD_hypotf128x
+
+#define __DECL_SIMD_log10
+#define __DECL_SIMD_log10f
+#define __DECL_SIMD_log10l
+#define __DECL_SIMD_log10f16
+#define __DECL_SIMD_log10f32
+#define __DECL_SIMD_log10f64
+#define __DECL_SIMD_log10f128
+#define __DECL_SIMD_log10f32x
+#define __DECL_SIMD_log10f64x
+#define __DECL_SIMD_log10f128x
#endif
@@ -104,7 +104,7 @@ __MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent));
__MATHCALL_VEC (log,, (_Mdouble_ __x));
/* Base-ten logarithm of X. */
-__MATHCALL (log10,, (_Mdouble_ __x));
+__MATHCALL_VEC (log10,, (_Mdouble_ __x));
/* Break VALUE into integral and fractional parts. */
__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
@@ -59,6 +59,7 @@ GLIBC_2.35 _ZGVbN2v_erfc F
GLIBC_2.35 _ZGVbN2v_exp10 F
GLIBC_2.35 _ZGVbN2v_exp2 F
GLIBC_2.35 _ZGVbN2v_expm1 F
+GLIBC_2.35 _ZGVbN2v_log10 F
GLIBC_2.35 _ZGVbN2vv_atan2 F
GLIBC_2.35 _ZGVbN2vv_hypot F
GLIBC_2.35 _ZGVbN4v_acosf F
@@ -74,6 +75,7 @@ GLIBC_2.35 _ZGVbN4v_erff F
GLIBC_2.35 _ZGVbN4v_exp10f F
GLIBC_2.35 _ZGVbN4v_exp2f F
GLIBC_2.35 _ZGVbN4v_expm1f F
+GLIBC_2.35 _ZGVbN4v_log10f F
GLIBC_2.35 _ZGVbN4vv_atan2f F
GLIBC_2.35 _ZGVbN4vv_hypotf F
GLIBC_2.35 _ZGVcN4v_acos F
@@ -89,6 +91,7 @@ GLIBC_2.35 _ZGVcN4v_erfc F
GLIBC_2.35 _ZGVcN4v_exp10 F
GLIBC_2.35 _ZGVcN4v_exp2 F
GLIBC_2.35 _ZGVcN4v_expm1 F
+GLIBC_2.35 _ZGVcN4v_log10 F
GLIBC_2.35 _ZGVcN4vv_atan2 F
GLIBC_2.35 _ZGVcN4vv_hypot F
GLIBC_2.35 _ZGVcN8v_acosf F
@@ -104,6 +107,7 @@ GLIBC_2.35 _ZGVcN8v_erff F
GLIBC_2.35 _ZGVcN8v_exp10f F
GLIBC_2.35 _ZGVcN8v_exp2f F
GLIBC_2.35 _ZGVcN8v_expm1f F
+GLIBC_2.35 _ZGVcN8v_log10f F
GLIBC_2.35 _ZGVcN8vv_atan2f F
GLIBC_2.35 _ZGVcN8vv_hypotf F
GLIBC_2.35 _ZGVdN4v_acos F
@@ -119,6 +123,7 @@ GLIBC_2.35 _ZGVdN4v_erfc F
GLIBC_2.35 _ZGVdN4v_exp10 F
GLIBC_2.35 _ZGVdN4v_exp2 F
GLIBC_2.35 _ZGVdN4v_expm1 F
+GLIBC_2.35 _ZGVdN4v_log10 F
GLIBC_2.35 _ZGVdN4vv_atan2 F
GLIBC_2.35 _ZGVdN4vv_hypot F
GLIBC_2.35 _ZGVdN8v_acosf F
@@ -134,6 +139,7 @@ GLIBC_2.35 _ZGVdN8v_erff F
GLIBC_2.35 _ZGVdN8v_exp10f F
GLIBC_2.35 _ZGVdN8v_exp2f F
GLIBC_2.35 _ZGVdN8v_expm1f F
+GLIBC_2.35 _ZGVdN8v_log10f F
GLIBC_2.35 _ZGVdN8vv_atan2f F
GLIBC_2.35 _ZGVdN8vv_hypotf F
GLIBC_2.35 _ZGVeN16v_acosf F
@@ -149,6 +155,7 @@ GLIBC_2.35 _ZGVeN16v_erff F
GLIBC_2.35 _ZGVeN16v_exp10f F
GLIBC_2.35 _ZGVeN16v_exp2f F
GLIBC_2.35 _ZGVeN16v_expm1f F
+GLIBC_2.35 _ZGVeN16v_log10f F
GLIBC_2.35 _ZGVeN16vv_atan2f F
GLIBC_2.35 _ZGVeN16vv_hypotf F
GLIBC_2.35 _ZGVeN8v_acos F
@@ -164,5 +171,6 @@ GLIBC_2.35 _ZGVeN8v_erfc F
GLIBC_2.35 _ZGVeN8v_exp10 F
GLIBC_2.35 _ZGVeN8v_exp2 F
GLIBC_2.35 _ZGVeN8v_expm1 F
+GLIBC_2.35 _ZGVeN8v_log10 F
GLIBC_2.35 _ZGVeN8vv_atan2 F
GLIBC_2.35 _ZGVeN8vv_hypot F
@@ -118,6 +118,10 @@
# define __DECL_SIMD_hypot __DECL_SIMD_x86_64
# undef __DECL_SIMD_hypotf
# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64
+# undef __DECL_SIMD_log10
+# define __DECL_SIMD_log10 __DECL_SIMD_x86_64
+# undef __DECL_SIMD_log10f
+# define __DECL_SIMD_log10f __DECL_SIMD_x86_64
# endif
#endif
@@ -58,6 +58,8 @@
!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x86_64')
!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64')
!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64')
+!GCC$ builtin (log10) attributes simd (notinbranch) if('x86_64')
+!GCC$ builtin (log10f) attributes simd (notinbranch) if('x86_64')
!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
@@ -101,3 +103,5 @@
!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x32')
!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32')
!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32')
+!GCC$ builtin (log10) attributes simd (notinbranch) if('x32')
+!GCC$ builtin (log10f) attributes simd (notinbranch) if('x32')
@@ -40,6 +40,7 @@ libmvec-funcs = \
expm1 \
hypot \
log \
+ log10 \
pow \
sin \
sincos \
@@ -27,6 +27,7 @@ libmvec {
_ZGVbN2v_exp10; _ZGVcN4v_exp10; _ZGVdN4v_exp10; _ZGVeN8v_exp10;
_ZGVbN2v_exp2; _ZGVcN4v_exp2; _ZGVdN4v_exp2; _ZGVeN8v_exp2;
_ZGVbN2v_expm1; _ZGVcN4v_expm1; _ZGVdN4v_expm1; _ZGVeN8v_expm1;
+ _ZGVbN2v_log10; _ZGVcN4v_log10; _ZGVdN4v_log10; _ZGVeN8v_log10;
_ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2;
_ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot;
_ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf;
@@ -42,6 +43,7 @@ libmvec {
_ZGVbN4v_exp10f; _ZGVcN8v_exp10f; _ZGVdN8v_exp10f; _ZGVeN16v_exp10f;
_ZGVbN4v_exp2f; _ZGVcN8v_exp2f; _ZGVdN8v_exp2f; _ZGVeN16v_exp2f;
_ZGVbN4v_expm1f; _ZGVcN8v_expm1f; _ZGVdN8v_expm1f; _ZGVeN16v_expm1f;
+ _ZGVbN4v_log10f; _ZGVcN8v_log10f; _ZGVdN8v_log10f; _ZGVeN16v_log10f;
_ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f;
_ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf;
}
@@ -1738,6 +1738,26 @@ float: 2
float128: 1
ldouble: 1
+Function: "log10_vlen16":
+float: 1
+
+Function: "log10_vlen2":
+double: 1
+
+Function: "log10_vlen4":
+double: 1
+float: 1
+
+Function: "log10_vlen4_avx2":
+double: 1
+
+Function: "log10_vlen8":
+double: 1
+float: 1
+
+Function: "log10_vlen8_avx2":
+float: 1
+
Function: "log1p":
double: 1
float: 1
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE2 version of vectorized log10, vector length is 2.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define _ZGVbN2v_log10 _ZGVbN2v_log10_sse2
+#include "../svml_d_log102_core.S"
new file mode 100644
@@ -0,0 +1,27 @@
+/* Multiple versions of vectorized log10, vector length is 2.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define SYMBOL_NAME _ZGVbN2v_log10
+#include "ifunc-mathvec-sse4_1.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVbN2v_log10, __GI__ZGVbN2v_log10, __redirect__ZGVbN2v_log10)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,3958 @@
+/* Function log10 vectorized with SSE4.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ https://www.gnu.org/licenses/. */
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *
+ * Get short reciprocal approximation Rcp ~ 1/mantissa(x)
+ * R = Rcp*x - 1.0
+ * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R)
+ * log10(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ .section .text.sse4,"ax",@progbits
+ENTRY(_ZGVbN2v_log10_sse4)
+ pushq %rbp
+ cfi_def_cfa_offset(16)
+ movq %rsp, %rbp
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+ andq $-64, %rsp
+ subq $320, %rsp
+ movaps %xmm0, %xmm6
+
+/* preserve mantissa, set input exponent to 2^(-10) */
+ movups 8576+__svml_dlog10_data_internal(%rip), %xmm5
+
+/* check range */
+ movaps %xmm6, %xmm3
+ andps %xmm6, %xmm5
+ movaps %xmm6, %xmm2
+ orps 8640+__svml_dlog10_data_internal(%rip), %xmm5
+ lea -4222912+__svml_dlog10_data_internal(%rip), %r8
+
+/* reciprocal approximation good to at least 11 bits */
+ cvtpd2ps %xmm5, %xmm7
+ cmpltpd 8704+__svml_dlog10_data_internal(%rip), %xmm3
+ cmpnlepd 8768+__svml_dlog10_data_internal(%rip), %xmm2
+ movlhps %xmm7, %xmm7
+ orps %xmm2, %xmm3
+ rcpps %xmm7, %xmm0
+
+/* combine and get argument value range mask */
+ movmskpd %xmm3, %edx
+
+/* round reciprocal to nearest integer, will have 1+9 mantissa bits */
+ movups .FLT_16(%rip), %xmm1
+
+/* argument reduction */
+ movups 8832+__svml_dlog10_data_internal(%rip), %xmm2
+ cvtps2pd %xmm0, %xmm4
+ addpd %xmm1, %xmm4
+ subpd %xmm1, %xmm4
+ andps %xmm5, %xmm2
+
+/* exponent bits */
+ movaps %xmm6, %xmm0
+ subpd %xmm2, %xmm5
+ mulpd %xmm4, %xmm2
+ mulpd %xmm4, %xmm5
+ subpd 8960+__svml_dlog10_data_internal(%rip), %xmm2
+ addpd %xmm2, %xmm5
+ psrlq $20, %xmm0
+
+/*
+ * prepare table index
+ * table lookup
+ */
+ movaps %xmm4, %xmm3
+ pshufd $221, %xmm0, %xmm7
+ psrlq $40, %xmm3
+
+/* biased exponent in DP format */
+ cvtdq2pd %xmm7, %xmm0
+ movd %xmm3, %eax
+
+/* exponent*log(2.0) */
+ movups 9152+__svml_dlog10_data_internal(%rip), %xmm7
+ cmpltpd %xmm4, %xmm7
+
+/* polynomial */
+ movups 8448+__svml_dlog10_data_internal(%rip), %xmm4
+ mulpd %xmm5, %xmm4
+ pshufd $2, %xmm3, %xmm2
+ movaps %xmm5, %xmm3
+ mulpd %xmm5, %xmm3
+ movd %xmm2, %ecx
+ movups 8480+__svml_dlog10_data_internal(%rip), %xmm2
+ andps 9216+__svml_dlog10_data_internal(%rip), %xmm7
+ addpd 8464+__svml_dlog10_data_internal(%rip), %xmm4
+ mulpd %xmm5, %xmm2
+ mulpd %xmm3, %xmm4
+ addpd 8496+__svml_dlog10_data_internal(%rip), %xmm2
+ addpd %xmm4, %xmm2
+ orps 9280+__svml_dlog10_data_internal(%rip), %xmm7
+ subpd %xmm7, %xmm0
+ mulpd %xmm2, %xmm3
+ mulpd 9344+__svml_dlog10_data_internal(%rip), %xmm0
+ movups 8512+__svml_dlog10_data_internal(%rip), %xmm7
+ mulpd %xmm5, %xmm7
+ movslq %eax, %rax
+ addpd %xmm3, %xmm7
+ movslq %ecx, %rcx
+ movsd (%r8,%rax), %xmm1
+ movhpd (%r8,%rcx), %xmm1
+
+/* reconstruction */
+ addpd %xmm7, %xmm1
+ addpd %xmm1, %xmm0
+ testl %edx, %edx
+ jne L(2)
+
+L(1):
+ movq %rbp, %rsp
+ popq %rbp
+ cfi_def_cfa(7, 8)
+ cfi_restore(6)
+ ret
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+
+L(2):
+ movups %xmm6, 192(%rsp)
+ movups %xmm0, 256(%rsp)
+ xorl %eax, %eax
+ movups %xmm8, 112(%rsp)
+ movups %xmm9, 96(%rsp)
+ movups %xmm10, 80(%rsp)
+ movups %xmm11, 64(%rsp)
+ movups %xmm12, 48(%rsp)
+ movups %xmm13, 32(%rsp)
+ movups %xmm14, 16(%rsp)
+ movups %xmm15, (%rsp)
+ movq %rsi, 136(%rsp)
+ movq %rdi, 128(%rsp)
+ movq %r12, 152(%rsp)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
+ movl %eax, %r12d
+ movq %r13, 144(%rsp)
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+ movl %edx, %r13d
+
+L(3):
+ btl %r12d, %r13d
+ jc L(5)
+
+L(4):
+ incl %r12d
+ cmpl $2, %r12d
+ jl L(3)
+ movups 112(%rsp), %xmm8
+ cfi_restore(25)
+ movups 96(%rsp), %xmm9
+ cfi_restore(26)
+ movups 80(%rsp), %xmm10
+ cfi_restore(27)
+ movups 64(%rsp), %xmm11
+ cfi_restore(28)
+ movups 48(%rsp), %xmm12
+ cfi_restore(29)
+ movups 32(%rsp), %xmm13
+ cfi_restore(30)
+ movups 16(%rsp), %xmm14
+ cfi_restore(31)
+ movups (%rsp), %xmm15
+ cfi_restore(32)
+ movq 136(%rsp), %rsi
+ cfi_restore(4)
+ movq 128(%rsp), %rdi
+ cfi_restore(5)
+ movq 152(%rsp), %r12
+ cfi_restore(12)
+ movq 144(%rsp), %r13
+ cfi_restore(13)
+ movups 256(%rsp), %xmm0
+ jmp L(1)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
+
+L(5):
+ lea 192(%rsp,%r12,8), %rdi
+ lea 256(%rsp,%r12,8), %rsi
+ call __svml_dlog10_cout_rare_internal
+ jmp L(4)
+
+END(_ZGVbN2v_log10_sse4)
+
+ .align 16,0x90
+
+__svml_dlog10_cout_rare_internal:
+
+ cfi_startproc
+
+ xorl %eax, %eax
+ movzwl 6(%rdi), %edx
+ andl $32752, %edx
+ cmpl $32752, %edx
+ je L(11)
+ movsd (%rdi), %xmm2
+ xorl %ecx, %ecx
+ movsd %xmm2, -8(%rsp)
+ movzwl -2(%rsp), %edx
+ testl $32752, %edx
+ jne L(6)
+ movsd 1600+__dlog10_la_CoutTab(%rip), %xmm0
+ movl $-60, %ecx
+ mulsd %xmm0, %xmm2
+ movsd %xmm2, -8(%rsp)
+
+L(6):
+ movsd 1608+__dlog10_la_CoutTab(%rip), %xmm0
+ comisd %xmm0, %xmm2
+ jbe L(8)
+ movaps %xmm2, %xmm1
+ subsd .FLT_90(%rip), %xmm1
+ movsd %xmm1, -16(%rsp)
+ andb $127, -9(%rsp)
+ movsd -16(%rsp), %xmm0
+ comisd 1592+__dlog10_la_CoutTab(%rip), %xmm0
+ jbe L(7)
+ movsd %xmm2, -16(%rsp)
+ pxor %xmm7, %xmm7
+ movzwl -10(%rsp), %edi
+ lea __dlog10_la_CoutTab(%rip), %r10
+ andl $-32753, %edi
+ addl $16368, %edi
+ movw %di, -10(%rsp)
+ movsd -16(%rsp), %xmm3
+ movaps %xmm3, %xmm1
+ movaps %xmm3, %xmm2
+ movsd 1688+__dlog10_la_CoutTab(%rip), %xmm5
+ movzwl -2(%rsp), %edx
+ andl $32752, %edx
+ addsd 1576+__dlog10_la_CoutTab(%rip), %xmm1
+ addsd 1584+__dlog10_la_CoutTab(%rip), %xmm2
+ movsd %xmm1, -24(%rsp)
+ movl -24(%rsp), %r8d
+ movsd %xmm2, -24(%rsp)
+ andl $127, %r8d
+ movsd -24(%rsp), %xmm8
+ movsd 1560+__dlog10_la_CoutTab(%rip), %xmm9
+ movsd 1568+__dlog10_la_CoutTab(%rip), %xmm0
+ shrl $4, %edx
+ subsd 1584+__dlog10_la_CoutTab(%rip), %xmm8
+ lea (%r8,%r8,2), %r9d
+ movsd (%r10,%r9,8), %xmm6
+ lea -1023(%rcx,%rdx), %ecx
+ cvtsi2sd %ecx, %xmm7
+ subsd %xmm8, %xmm3
+ mulsd %xmm6, %xmm8
+ mulsd %xmm7, %xmm9
+ subsd 1624+__dlog10_la_CoutTab(%rip), %xmm8
+ mulsd %xmm3, %xmm6
+ mulsd %xmm0, %xmm7
+ addsd 8(%r10,%r9,8), %xmm9
+ addsd 16(%r10,%r9,8), %xmm7
+ addsd %xmm8, %xmm9
+ movaps %xmm8, %xmm4
+ addsd %xmm6, %xmm4
+ mulsd %xmm4, %xmm5
+ addsd 1680+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1672+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1664+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1656+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1648+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1640+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1632+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm5, %xmm8
+ mulsd %xmm6, %xmm5
+ addsd %xmm5, %xmm7
+ addsd %xmm6, %xmm7
+ addsd %xmm7, %xmm8
+ addsd %xmm8, %xmm9
+ movsd %xmm9, (%rsi)
+ ret
+
+L(7):
+ movsd 1624+__dlog10_la_CoutTab(%rip), %xmm0
+ mulsd %xmm0, %xmm1
+ movsd 1688+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1680+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1672+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1664+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1656+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1648+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1640+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1632+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd %xmm1, %xmm2
+ movsd %xmm2, (%rsi)
+ ret
+
+L(8):
+ ucomisd %xmm0, %xmm2
+ jp L(9)
+ je L(10)
+
+L(9):
+ divsd %xmm0, %xmm0
+ movsd %xmm0, (%rsi)
+ movl $1, %eax
+ ret
+
+L(10):
+ movsd 1616+__dlog10_la_CoutTab(%rip), %xmm1
+ movl $2, %eax
+ xorps .FLT_89(%rip), %xmm1
+ divsd %xmm0, %xmm1
+ movsd %xmm1, (%rsi)
+ ret
+
+L(11):
+ movb 7(%rdi), %dl
+ andb $-128, %dl
+ cmpb $-128, %dl
+ je L(13)
+
+L(12):
+ movsd (%rdi), %xmm0
+ mulsd %xmm0, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+L(13):
+ testl $1048575, 4(%rdi)
+ jne L(12)
+ cmpl $0, (%rdi)
+ jne L(12)
+ movsd 1608+__dlog10_la_CoutTab(%rip), %xmm0
+ movl $1, %eax
+ divsd %xmm0, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_dlog10_cout_rare_internal,@function
+ .size __svml_dlog10_cout_rare_internal,.-__svml_dlog10_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_dlog10_data_internal:
+ .long 1190572160
+ .long 3228777073
+ .long 3860447744
+ .long 3189665916
+ .long 1198987632
+ .long 3228777077
+ .long 3228397393
+ .long 3189668294
+ .long 1168821104
+ .long 3228777081
+ .long 637194908
+ .long 3189668066
+ .long 1100245360
+ .long 3228777085
+ .long 133785915
+ .long 3189667542
+ .long 993432048
+ .long 3228777089
+ .long 3017828443
+ .long 3189667588
+ .long 848551680
+ .long 3228777093
+ .long 560605178
+ .long 3189668289
+ .long 665773664
+ .long 3228777097
+ .long 3849538177
+ .long 3189667548
+ .long 445266208
+ .long 3228777101
+ .long 3804908986
+ .long 3189667886
+ .long 187196464
+ .long 3228777105
+ .long 3516966431
+ .long 3189667858
+ .long 4186697744
+ .long 3228777108
+ .long 3052190817
+ .long 3189667809
+ .long 3854000384
+ .long 3228777112
+ .long 1554781574
+ .long 3189667427
+ .long 3484235504
+ .long 3228777116
+ .long 4153839410
+ .long 3189667384
+ .long 3077565856
+ .long 3228777120
+ .long 4000768869
+ .long 3189667904
+ .long 2634153136
+ .long 3228777124
+ .long 4244738174
+ .long 3189668339
+ .long 2154157984
+ .long 3228777128
+ .long 3014247306
+ .long 3189667771
+ .long 1637739952
+ .long 3228777132
+ .long 1906045981
+ .long 3189667650
+ .long 1085057568
+ .long 3228777136
+ .long 3987700171
+ .long 3189668284
+ .long 496268368
+ .long 3228777140
+ .long 1674280096
+ .long 3189667373
+ .long 4166496080
+ .long 3228777143
+ .long 2078815235
+ .long 3189667744
+ .long 3505961600
+ .long 3228777147
+ .long 4286802640
+ .long 3189667683
+ .long 2809786672
+ .long 3228777151
+ .long 1913564473
+ .long 3189667639
+ .long 2078124752
+ .long 3228777155
+ .long 2693682663
+ .long 3189667702
+ .long 1311128304
+ .long 3228777159
+ .long 1012063542
+ .long 3189668158
+ .long 508948832
+ .long 3228777163
+ .long 2489929809
+ .long 3189667978
+ .long 3966704144
+ .long 3228777166
+ .long 2165614611
+ .long 3189667408
+ .long 3094609184
+ .long 3228777170
+ .long 2488783422
+ .long 3189667472
+ .long 2187779856
+ .long 3228777174
+ .long 2723126436
+ .long 3189667428
+ .long 1246363792
+ .long 3228777178
+ .long 3017034520
+ .long 3189668359
+ .long 270507744
+ .long 3228777182
+ .long 1972662349
+ .long 3189667544
+ .long 3555324736
+ .long 3228777185
+ .long 898998658
+ .long 3189668182
+ .long 2511025072
+ .long 3228777189
+ .long 2160314027
+ .long 3189667608
+ .long 1432719952
+ .long 3228777193
+ .long 1911887828
+ .long 3189668033
+ .long 320552432
+ .long 3228777197
+ .long 3280422502
+ .long 3189667818
+ .long 3469631920
+ .long 3228777200
+ .long 3027884278
+ .long 3189668109
+ .long 2290165072
+ .long 3228777204
+ .long 3517602960
+ .long 3189668197
+ .long 1077259536
+ .long 3228777208
+ .long 3013130823
+ .long 3189668046
+ .long 4126022080
+ .long 3228777211
+ .long 3235689898
+ .long 3189667740
+ .long 2846656704
+ .long 3228777215
+ .long 87643117
+ .long 3189667953
+ .long 1534268448
+ .long 3228777219
+ .long 754951962
+ .long 3189668360
+ .long 188994208
+ .long 3228777223
+ .long 3023581101
+ .long 3189668100
+ .long 3105937296
+ .long 3228777226
+ .long 1490072819
+ .long 3189668276
+ .long 1695298320
+ .long 3228777230
+ .long 3738440902
+ .long 3189668304
+ .long 252178944
+ .long 3228777234
+ .long 897194307
+ .long 3189667388
+ .long 3071679952
+ .long 3228777237
+ .long 195484330
+ .long 3189668024
+ .long 1563999488
+ .long 3228777241
+ .long 3795554301
+ .long 3189668248
+ .long 24236736
+ .long 3228777245
+ .long 2858806924
+ .long 3189668212
+ .long 2747490080
+ .long 3228777248
+ .long 4259795627
+ .long 3189667532
+ .long 1143955184
+ .long 3228777252
+ .long 4279885499
+ .long 3189667764
+ .long 3803696144
+ .long 3228777255
+ .long 3997664578
+ .long 3189667698
+ .long 2136907056
+ .long 3228777259
+ .long 2176158532
+ .long 3189667869
+ .long 438683136
+ .long 3228777263
+ .long 227964261
+ .long 3189667893
+ .long 3004118816
+ .long 3228777266
+ .long 2296676690
+ .long 3189667896
+ .long 1243405872
+ .long 3228777270
+ .long 2079834385
+ .long 3189667894
+ .long 3746604496
+ .long 3228777273
+ .long 3850151037
+ .long 3189668185
+ .long 1923904960
+ .long 3228777277
+ .long 574763554
+ .long 3189667699
+ .long 70398640
+ .long 3228777281
+ .long 3827982506
+ .long 3189667452
+ .long 2481176176
+ .long 3228777284
+ .long 1146808857
+ .long 3189667869
+ .long 566425600
+ .long 3228777288
+ .long 4238446104
+ .long 3189668130
+ .long 2916203392
+ .long 3228777291
+ .long 3553887815
+ .long 3189667582
+ .long 940696080
+ .long 3228777295
+ .long 1221192380
+ .long 3189668153
+ .long 3229958720
+ .long 3228777298
+ .long 2271570828
+ .long 3189667556
+ .long 1194176400
+ .long 3228777302
+ .long 3002536483
+ .long 3189667850
+ .long 3423402736
+ .long 3228777305
+ .long 2434838684
+ .long 3189667608
+ .long 1327821424
+ .long 3228777309
+ .long 2687777298
+ .long 3189667396
+ .long 3497484640
+ .long 3228777312
+ .long 2749657917
+ .long 3189668082
+ .long 1342574720
+ .long 3228777316
+ .long 3002546917
+ .long 3189668115
+ .long 3453142464
+ .long 3228777319
+ .long 3498283957
+ .long 3189667970
+ .long 1239368816
+ .long 3228777323
+ .long 455121273
+ .long 3189667422
+ .long 3291303200
+ .long 3228777326
+ .long 2621841620
+ .long 3189667932
+ .long 3012883008
+ .long 3228777333
+ .long 2362501462
+ .long 3189667975
+ .long 2618787376
+ .long 3228777340
+ .long 1091754251
+ .long 3189667994
+ .long 2109911280
+ .long 3228777347
+ .long 193599334
+ .long 3189668101
+ .long 1487139360
+ .long 3228777354
+ .long 3757852586
+ .long 3189667728
+ .long 751346048
+ .long 3228777361
+ .long 1167306858
+ .long 3189667607
+ .long 4198363056
+ .long 3228777367
+ .long 3727503052
+ .long 3189667447
+ .long 3239110320
+ .long 3228777374
+ .long 4101491224
+ .long 3189667535
+ .long 2169399936
+ .long 3228777381
+ .long 1682828411
+ .long 3189668088
+ .long 990067152
+ .long 3228777388
+ .long 325154957
+ .long 3189667406
+ .long 3996905008
+ .long 3228777394
+ .long 333920478
+ .long 3189668041
+ .long 2600795440
+ .long 3228777401
+ .long 1868291498
+ .long 3189667430
+ .long 1097513040
+ .long 3228777408
+ .long 2092796598
+ .long 3189667816
+ .long 3782823440
+ .long 3228777414
+ .long 2342635878
+ .long 3189667569
+ .long 2067581456
+ .long 3228777421
+ .long 2489432283
+ .long 3189667708
+ .long 247535056
+ .long 3228777428
+ .long 2233925548
+ .long 3189668023
+ .long 2618423584
+ .long 3228777434
+ .long 2884435678
+ .long 3189668162
+ .long 591076000
+ .long 3228777441
+ .long 2793733516
+ .long 3189667544
+ .long 2756182032
+ .long 3228777447
+ .long 726899401
+ .long 3189668194
+ .long 524554032
+ .long 3228777454
+ .long 3888914666
+ .long 3189668216
+ .long 2486865376
+ .long 3228777460
+ .long 2627594277
+ .long 3189667420
+ .long 53912208
+ .long 3228777467
+ .long 2333314786
+ .long 3189667677
+ .long 1816352000
+ .long 3228777473
+ .long 860249135
+ .long 3189668031
+ .long 3479932544
+ .long 3228777479
+ .long 1333576769
+ .long 3189667862
+ .long 750393936
+ .long 3228777486
+ .long 3863808803
+ .long 3189667876
+ .long 2218370608
+ .long 3228777492
+ .long 988274049
+ .long 3189667895
+ .long 3589587648
+ .long 3228777498
+ .long 1363020542
+ .long 3189667588
+ .long 569762768
+ .long 3228777505
+ .long 2860785679
+ .long 3189668116
+ .long 1749508368
+ .long 3228777511
+ .long 3454164214
+ .long 3189667505
+ .long 2834527744
+ .long 3228777517
+ .long 551781933
+ .long 3189668193
+ .long 3825484512
+ .long 3228777523
+ .long 2204991099
+ .long 3189668076
+ .long 428068000
+ .long 3228777530
+ .long 330816187
+ .long 3189667835
+ .long 1232862576
+ .long 3228777536
+ .long 1875584004
+ .long 3189667900
+ .long 1945543984
+ .long 3228777542
+ .long 3147029736
+ .long 3189667368
+ .long 2566748560
+ .long 3228777548
+ .long 2759544833
+ .long 3189667927
+ .long 3097106128
+ .long 3228777554
+ .long 2378335007
+ .long 3189667440
+ .long 3537239968
+ .long 3228777560
+ .long 59134449
+ .long 3189667766
+ .long 3887767008
+ .long 3228777566
+ .long 2237380018
+ .long 3189668142
+ .long 4149297872
+ .long 3228777572
+ .long 2899689733
+ .long 3189667692
+ .long 27469632
+ .long 3228777579
+ .long 2818642709
+ .long 3189667832
+ .long 112815152
+ .long 3228777585
+ .long 4092579806
+ .long 3189667420
+ .long 110959312
+ .long 3228777591
+ .long 936570796
+ .long 3189668056
+ .long 22488368
+ .long 3228777597
+ .long 365917996
+ .long 3189668022
+ .long 4142949952
+ .long 3228777602
+ .long 3149756965
+ .long 3189667408
+ .long 3882983968
+ .long 3228777608
+ .long 4081670258
+ .long 3189668028
+ .long 3538126528
+ .long 3228777614
+ .long 1719873156
+ .long 3189668130
+ .long 3108940752
+ .long 3228777620
+ .long 3284322898
+ .long 3189668289
+ .long 2595984192
+ .long 3228777626
+ .long 1642430589
+ .long 3189668010
+ .long 1999808880
+ .long 3228777632
+ .long 4232900950
+ .long 3189667360
+ .long 1320961392
+ .long 3228777638
+ .long 346567365
+ .long 3189667513
+ .long 559982960
+ .long 3228777644
+ .long 2138178062
+ .long 3189668130
+ .long 4012376832
+ .long 3228777649
+ .long 2536292360
+ .long 3189667756
+ .long 3088739088
+ .long 3228777655
+ .long 2310947316
+ .long 3189668224
+ .long 2084562592
+ .long 3228777661
+ .long 719337470
+ .long 3189667732
+ .long 1000367760
+ .long 3228777667
+ .long 2925814745
+ .long 3189668182
+ .long 4131637328
+ .long 3228777672
+ .long 2769058114
+ .long 3189668120
+ .long 2888947152
+ .long 3228777678
+ .long 2397746692
+ .long 3189667888
+ .long 1567770080
+ .long 3228777684
+ .long 1319666757
+ .long 3189667549
+ .long 168606816
+ .long 3228777690
+ .long 3249166601
+ .long 3189667815
+ .long 2986920608
+ .long 3228777695
+ .long 3117551188
+ .long 3189667844
+ .long 1433268080
+ .long 3228777701
+ .long 2392446108
+ .long 3189668088
+ .long 4098070400
+ .long 3228777706
+ .long 1952984424
+ .long 3189667965
+ .long 2391874944
+ .long 3228777712
+ .long 3260016359
+ .long 3189667565
+ .long 610126416
+ .long 3228777718
+ .long 1206683346
+ .long 3189668275
+ .long 3048265088
+ .long 3228777723
+ .long 3467821979
+ .long 3189668220
+ .long 1116824880
+ .long 3228777729
+ .long 3688655521
+ .long 3189667898
+ .long 3406204528
+ .long 3228777734
+ .long 3255713182
+ .long 3189667556
+ .long 1326929264
+ .long 3228777740
+ .long 200527713
+ .long 3189667591
+ .long 3469389248
+ .long 3228777745
+ .long 1129326388
+ .long 3189667868
+ .long 1244101248
+ .long 3228777751
+ .long 308865650
+ .long 3189668017
+ .long 3241447056
+ .long 3228777756
+ .long 3090939005
+ .long 3189667668
+ .long 871935152
+ .long 3228777762
+ .long 3265000937
+ .long 3189667670
+ .long 2725939152
+ .long 3228777767
+ .long 4229796659
+ .long 3189668178
+ .long 213959504
+ .long 3228777773
+ .long 1991139447
+ .long 3189667724
+ .long 1926361824
+ .long 3228777778
+ .long 2528808771
+ .long 3189668376
+ .long 3568606000
+ .long 3228777783
+ .long 4260639448
+ .long 3189667546
+ .long 846147968
+ .long 3228777789
+ .long 806895635
+ .long 3189668179
+ .long 2349341824
+ .long 3228777794
+ .long 3346322191
+ .long 3189667388
+ .long 3783635920
+ .long 3228777799
+ .long 175610890
+ .long 3189667587
+ .long 854474928
+ .long 3228777805
+ .long 2938776958
+ .long 3189668104
+ .long 2152201728
+ .long 3228777810
+ .long 2503702909
+ .long 3189668036
+ .long 3382253648
+ .long 3228777815
+ .long 990471545
+ .long 3189668020
+ .long 250064432
+ .long 3228777821
+ .long 2919909380
+ .long 3189667876
+ .long 1345966144
+ .long 3228777826
+ .long 3002840896
+ .long 3189668306
+ .long 2375385488
+ .long 3228777831
+ .long 3730416038
+ .long 3189667426
+ .long 3338712928
+ .long 3228777836
+ .long 1372953258
+ .long 3189667506
+ .long 4236335536
+ .long 3228777841
+ .long 3486643335
+ .long 3189668352
+ .long 773669728
+ .long 3228777847
+ .long 3527808638
+ .long 3189667828
+ .long 1541030400
+ .long 3228777852
+ .long 1323886332
+ .long 3189667450
+ .long 2243827264
+ .long 3228777857
+ .long 3473574637
+ .long 3189667708
+ .long 2882434080
+ .long 3228777862
+ .long 2116524762
+ .long 3189667453
+ .long 3457221328
+ .long 3228777867
+ .long 3472145296
+ .long 3189668357
+ .long 3968556352
+ .long 3228777872
+ .long 1399438939
+ .long 3189668087
+ .long 121835984
+ .long 3228777878
+ .long 1630440586
+ .long 3189667769
+ .long 507355824
+ .long 3228777883
+ .long 414821867
+ .long 3189668165
+ .long 830506528
+ .long 3228777888
+ .long 1651489076
+ .long 3189667856
+ .long 1091642960
+ .long 3228777893
+ .long 1914960493
+ .long 3189667544
+ .long 1291116960
+ .long 3228777898
+ .long 1585226677
+ .long 3189668172
+ .long 1429277424
+ .long 3228777903
+ .long 1458536815
+ .long 3189667992
+ .long 1506470256
+ .long 3228777908
+ .long 5177277
+ .long 3189667794
+ .long 1523038448
+ .long 3228777913
+ .long 2100423580
+ .long 3189667910
+ .long 1479322112
+ .long 3228777918
+ .long 2766296967
+ .long 3189668266
+ .long 1375658528
+ .long 3228777923
+ .long 3908110271
+ .long 3189667373
+ .long 1212382096
+ .long 3228777928
+ .long 1728734206
+ .long 3189667440
+ .long 989824464
+ .long 3228777933
+ .long 2721564364
+ .long 3189668188
+ .long 708314544
+ .long 3228777938
+ .long 1548992985
+ .long 3189667813
+ .long 368178464
+ .long 3228777943
+ .long 102841028
+ .long 3189668008
+ .long 4264706992
+ .long 3228777947
+ .long 975947285
+ .long 3189667700
+ .long 3808286304
+ .long 3228777952
+ .long 3025865597
+ .long 3189668024
+ .long 3294201856
+ .long 3228777957
+ .long 905114809
+ .long 3189668054
+ .long 2722769184
+ .long 3228777962
+ .long 3281428766
+ .long 3189667672
+ .long 2094301216
+ .long 3228777967
+ .long 2831959372
+ .long 3189668375
+ .long 1409108384
+ .long 3228777972
+ .long 2859726358
+ .long 3189667900
+ .long 667498528
+ .long 3228777977
+ .long 3483539044
+ .long 3189668146
+ .long 4164744336
+ .long 3228777981
+ .long 643592870
+ .long 3189667709
+ .long 3311214096
+ .long 3228777986
+ .long 3888135264
+ .long 3189667701
+ .long 2402175552
+ .long 3228777991
+ .long 1565708850
+ .long 3189668342
+ .long 1437926768
+ .long 3228777996
+ .long 3880143694
+ .long 3189667559
+ .long 418763344
+ .long 3228778001
+ .long 2177554551
+ .long 3189667774
+ .long 3639945856
+ .long 3228778005
+ .long 632683322
+ .long 3189668317
+ .long 2511830656
+ .long 3228778010
+ .long 1595152623
+ .long 3189668068
+ .long 1329673632
+ .long 3228778015
+ .long 1921601627
+ .long 3189668075
+ .long 93761104
+ .long 3228778020
+ .long 1757445293
+ .long 3189668004
+ .long 3099344416
+ .long 3228778024
+ .long 1435123721
+ .long 3189667691
+ .long 1756770768
+ .long 3228778029
+ .long 783914014
+ .long 3189667649
+ .long 361287040
+ .long 3228778034
+ .long 2235532382
+ .long 3189667506
+ .long 3208137904
+ .long 3228778038
+ .long 1904486204
+ .long 3189667498
+ .long 1707663968
+ .long 3228778043
+ .long 41908474
+ .long 3189667890
+ .long 155105584
+ .long 3228778048
+ .long 2107716085
+ .long 3189668380
+ .long 2845700992
+ .long 3228778052
+ .long 3156927676
+ .long 3189667488
+ .long 1189784368
+ .long 3228778057
+ .long 4047204189
+ .long 3189668063
+ .long 3777557072
+ .long 3228778061
+ .long 577628716
+ .long 3189667418
+ .long 2019349136
+ .long 3228778066
+ .long 2610467089
+ .long 3189667920
+ .long 210390496
+ .long 3228778071
+ .long 2766766141
+ .long 3189668118
+ .long 2645909040
+ .long 3228778075
+ .long 3243727052
+ .long 3189668176
+ .long 736228768
+ .long 3228778080
+ .long 3122320416
+ .long 3189668130
+ .long 3071540880
+ .long 3228778084
+ .long 3131821814
+ .long 3189668172
+ .long 1062165440
+ .long 3228778089
+ .long 3213377517
+ .long 3189667895
+ .long 3298289744
+ .long 3228778093
+ .long 2564668383
+ .long 3189667569
+ .long 1190229968
+ .long 3228778098
+ .long 3238426468
+ .long 3189668376
+ .long 3328169632
+ .long 3228778102
+ .long 1168702877
+ .long 3189667512
+ .long 1122421104
+ .long 3228778107
+ .long 19789062
+ .long 3189667604
+ .long 3163164128
+ .long 3228778111
+ .long 1630085837
+ .long 3189667685
+ .long 860707408
+ .long 3228778116
+ .long 4114762240
+ .long 3189667464
+ .long 2805226992
+ .long 3228778120
+ .long 18835043
+ .long 3189667485
+ .long 407027936
+ .long 3228778125
+ .long 1254882039
+ .long 3189668241
+ .long 2256282720
+ .long 3228778129
+ .long 1578671063
+ .long 3189668264
+ .long 4058260128
+ .long 3228778133
+ .long 2087871538
+ .long 3189668330
+ .long 1518227216
+ .long 3228778138
+ .long 1874562670
+ .long 3189667466
+ .long 3226351136
+ .long 3228778142
+ .long 1975306748
+ .long 3189668156
+ .long 592928208
+ .long 3228778147
+ .long 2027557844
+ .long 3189668223
+ .long 2208122192
+ .long 3228778151
+ .long 3385698680
+ .long 3189668056
+ .long 3777193280
+ .long 3228778155
+ .long 2370310143
+ .long 3189667586
+ .long 1005399968
+ .long 3228778160
+ .long 259325820
+ .long 3189668365
+ .long 2482901056
+ .long 3228778164
+ .long 780809723
+ .long 3189667443
+ .long 3914951728
+ .long 3228778168
+ .long 212773867
+ .long 3189667618
+ .long 1006805600
+ .long 3228778173
+ .long 951469551
+ .long 3189668212
+ .long 2348616576
+ .long 3228778177
+ .long 2086655720
+ .long 3189668128
+ .long 3645635056
+ .long 3228778181
+ .long 2113468742
+ .long 3189667868
+ .long 603109872
+ .long 3228778186
+ .long 1652875995
+ .long 3189667443
+ .long 1811190160
+ .long 3228778190
+ .long 2629878773
+ .long 3189668368
+ .long 2975121696
+ .long 3228778194
+ .long 346123600
+ .long 3189667455
+ .long 4095115920
+ .long 3228778198
+ .long 3526019824
+ .long 3189667996
+ .long 876415552
+ .long 3228778203
+ .long 1439312045
+ .long 3189667395
+ .long 1909163616
+ .long 3228778207
+ .long 3349683269
+ .long 3189668324
+ .long 2898599856
+ .long 3228778211
+ .long 649479362
+ .long 3189667358
+ .long 3844929728
+ .long 3228778215
+ .long 2676997587
+ .long 3189668158
+ .long 453390032
+ .long 3228778220
+ .long 848895008
+ .long 3189668036
+ .long 1314117952
+ .long 3228778224
+ .long 3492148440
+ .long 3189668045
+ .long 2132347376
+ .long 3228778228
+ .long 281429102
+ .long 3189667715
+ .long 2908278048
+ .long 3228778232
+ .long 2940038679
+ .long 3189667953
+ .long 3642108336
+ .long 3228778236
+ .long 3909547671
+ .long 3189667808
+ .long 39067888
+ .long 3228778241
+ .long 3920787602
+ .long 3189668378
+ .long 689286912
+ .long 3228778245
+ .long 1690865565
+ .long 3189667500
+ .long 1297992288
+ .long 3228778249
+ .long 2169866692
+ .long 3189667738
+ .long 1865376896
+ .long 3228778253
+ .long 967083596
+ .long 3189667983
+ .long 2391632256
+ .long 3228778257
+ .long 1361458469
+ .long 3189668348
+ .long 2876948576
+ .long 3228778261
+ .long 32611984
+ .long 3189667893
+ .long 3321514720
+ .long 3228778265
+ .long 2193827755
+ .long 3189667454
+ .long 3725518240
+ .long 3228778269
+ .long 2245419299
+ .long 3189668375
+ .long 4089145456
+ .long 3228778273
+ .long 3497133018
+ .long 3189668150
+ .long 117614048
+ .long 3228778278
+ .long 175818393
+ .long 3189668353
+ .long 401042352
+ .long 3228778282
+ .long 3839976210
+ .long 3189668213
+ .long 644645552
+ .long 3228778286
+ .long 3041010480
+ .long 3189667412
+ .long 848604848
+ .long 3228778290
+ .long 2760940853
+ .long 3189667832
+ .long 1013100256
+ .long 3228778294
+ .long 2385564198
+ .long 3189668140
+ .long 1138310560
+ .long 3228778298
+ .long 2892472831
+ .long 3189667574
+ .long 1224413296
+ .long 3228778302
+ .long 781676890
+ .long 3189667676
+ .long 1271584832
+ .long 3228778306
+ .long 3578454272
+ .long 3189667868
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 0
+ .long 2256045239
+ .long 3209413770
+ .long 2491592457
+ .long 3210460574
+ .long 1804910333
+ .long 3211053321
+ .long 1914826022
+ .long 3211505620
+ .long 3803025062
+ .long 3211872665
+ .long 1674748349
+ .long 3212097941
+ .long 1798374224
+ .long 3212322782
+ .long 2768032015
+ .long 3212547190
+ .long 3136444289
+ .long 3212771167
+ .long 2855105875
+ .long 3212915789
+ .long 2332612951
+ .long 3213027349
+ .long 1363424900
+ .long 3213138696
+ .long 3437629661
+ .long 3213249830
+ .long 3435456176
+ .long 3213360753
+ .long 512327647
+ .long 3213471466
+ .long 2393978768
+ .long 3213581968
+ .long 3901767770
+ .long 3213692261
+ .long 4132692718
+ .long 3213802346
+ .long 1082284973
+ .long 3213898832
+ .long 2823056504
+ .long 3213953667
+ .long 366152305
+ .long 3214008400
+ .long 3959556563
+ .long 3214063029
+ .long 2367110801
+ .long 3214117557
+ .long 1523289056
+ .long 3214171983
+ .long 3058430271
+ .long 3214226307
+ .long 3839215
+ .long 3214280531
+ .long 2561657861
+ .long 3214334653
+ .long 3745193976
+ .long 3214388675
+ .long 853823952
+ .long 3214442598
+ .long 4062993129
+ .long 3214496420
+ .long 2064542556
+ .long 3214550144
+ .long 721479184
+ .long 3214603769
+ .long 1593203319
+ .long 3214657295
+ .long 1935571978
+ .long 3214710723
+ .long 3290896245
+ .long 3214764053
+ .long 2898068879
+ .long 3214817286
+ .long 2282560537
+ .long 3214870422
+ .long 2961513548
+ .long 3214923461
+ .long 1074417563
+ .long 3214955210
+ .long 2820079616
+ .long 3214981633
+ .long 1021551109
+ .long 3215008009
+ .long 716013687
+ .long 3215034337
+ .long 2641666110
+ .long 3215060617
+ .long 3237753164
+ .long 3215086850
+ .long 3234528909
+ .long 3215113036
+ .long 3358317786
+ .long 3215139175
+ .long 36575458
+ .long 3215165268
+ .long 2577785893
+ .long 3215191313
+ .long 3106717932
+ .long 3215217312
+ .long 2334256463
+ .long 3215243265
+ .long 967494986
+ .long 3215269172
+ .long 4004729818
+ .long 3215295032
+ .long 3555617588
+ .long 3215320847
+ .long 316038151
+ .long 3215346617
+ .long 3568120799
+ .long 3215372340
+ .long 1115499161
+ .long 3215398019
+ .long 2233009907
+ .long 3215423652
+ .long 3306979906
+ .long 3215449240
+ .long 720153405
+ .long 3215474784
+ .long 3736618996
+ .long 3215500282
+ .long 142096100
+ .long 3215525737
+ .long 3488599868
+ .long 3215551146
+ .long 1554858050
+ .long 3215576512
+ .long 3590975466
+ .long 3215601833
+ .long 1663752343
+ .long 3215627111
+ .long 721479184
+ .long 3215652345
+ .long 1414091172
+ .long 3215677535
+ .long 93191556
+ .long 3215702682
+ .long 1696976726
+ .long 3215727785
+ .long 2570390009
+ .long 3215752845
+ .long 3350046349
+ .long 3215777862
+ .long 374320308
+ .long 3215802837
+ .long 2863237644
+ .long 3215827768
+ .long 2853726453
+ .long 3215852657
+ .long 969442960
+ .long 3215877504
+ .long 2125826056
+ .long 3215902308
+ .long 2645217056
+ .long 3215927070
+ .long 3141783046
+ .long 3215951790
+ .long 4226570871
+ .long 3215976468
+ .long 3253764118
+ .long 3215991848
+ .long 999795016
+ .long 3216004146
+ .long 4242218727
+ .long 3216016422
+ .long 395520918
+ .long 3216028679
+ .long 2642482782
+ .long 3216040914
+ .long 2689550894
+ .long 3216053129
+ .long 831618312
+ .long 3216065324
+ .long 1657067230
+ .long 3216077498
+ .long 1162876950
+ .long 3216089652
+ .long 3934502846
+ .long 3216101785
+ .long 1671049587
+ .long 3216113899
+ .long 3250051821
+ .long 3216125992
+ .long 367745354
+ .long 3216138066
+ .long 1898814972
+ .long 3216150119
+ .long 3831632753
+ .long 3216162152
+ .long 2153169263
+ .long 3216174166
+ .long 1438937368
+ .long 3216186160
+ .long 1968099508
+ .long 3216198134
+ .long 4018444062
+ .long 3216210088
+ .long 3571427061
+ .long 3216222023
+ .long 902115705
+ .long 3216233939
+ .long 579197221
+ .long 3216245835
+ .long 2875053055
+ .long 3216257711
+ .long 3765767585
+ .long 3216269568
+ .long 3521071355
+ .long 3216281406
+ .long 2409382351
+ .long 3216293225
+ .long 697814500
+ .long 3216305025
+ .long 2947153405
+ .long 3216316805
+ .long 831995525
+ .long 3216328567
+ .long 3205527541
+ .long 3216340309
+ .long 1739796226
+ .long 3216352033
+ .long 990487678
+ .long 3216363738
+ .long 1217066237
+ .long 3216375424
+ .long 2677749815
+ .long 3216387091
+ .long 1334550573
+ .long 3216398740
+ .long 1738184714
+ .long 3216410370
+ .long 4143178441
+ .long 3216421981
+ .long 212908442
+ .long 3216433575
+ .long 3084380679
+ .long 3216445149
+ .long 123597797
+ .long 3216456706
+ .long 170206973
+ .long 3216468244
+ .long 3472736381
+ .long 3216479763
+ .long 1688602678
+ .long 3216491265
+ .long 3653922191
+ .long 3216502748
+ .long 1023779914
+ .long 3216514214
+ .long 2631975180
+ .long 3216525661
+ .long 131290539
+ .long 3216537091
+ .long 2353237313
+ .long 3216548502
+ .long 948324365
+ .long 3216559896
+ .long 450836243
+ .long 3216571272
+ .long 1098971024
+ .long 3216582630
+ .long 3129814575
+ .long 3216593970
+ .long 2484380169
+ .long 3216605293
+ .long 3692517238
+ .long 3216616598
+ .long 2693048988
+ .long 3216627886
+ .long 4013648344
+ .long 3216639156
+ .long 3590975466
+ .long 3216650409
+ .long 1655586284
+ .long 3216661645
+ .long 2731939102
+ .long 3216672863
+ .long 2753499254
+ .long 3216684064
+ .long 1947647495
+ .long 3216695248
+ .long 540719148
+ .long 3216706415
+ .long 3052977802
+ .long 3216717564
+ .long 1118752477
+ .long 3216728697
+ .long 3551215000
+ .long 3216739812
+ .long 1982647887
+ .long 3216750911
+ .long 929221623
+ .long 3216761993
+ .long 611131637
+ .long 3216773058
+ .long 1247571711
+ .long 3216784106
+ .long 3056740043
+ .long 3216795137
+ .long 1960877976
+ .long 3216806152
+ .long 2471177857
+ .long 3216817150
+ .long 507919781
+ .long 3216828132
+ .long 580346667
+ .long 3216839097
+ .long 2901768203
+ .long 3216850045
+ .long 3389566649
+ .long 3216860977
+ .long 2255137180
+ .long 3216871893
+ .long 4003893595
+ .long 3216882792
+ .long 255404805
+ .long 3216893676
+ .long 4103138823
+ .long 3216904542
+ .long 2869828094
+ .long 3216915393
+ .long 1057147997
+ .long 3216926228
+ .long 3165853160
+ .long 3216937046
+ .long 810881035
+ .long 3216947849
+ .long 2786128388
+ .long 3216958635
+ .long 704718315
+ .long 3216969406
+ .long 3358743942
+ .long 3216980160
+ .long 2359535366
+ .long 3216990899
+ .long 2202435985
+ .long 3217001622
+ .long 3086938536
+ .long 3217012329
+ .long 916690285
+ .long 3217023021
+ .long 2239683676
+ .long 3217032432
+ .long 2690954374
+ .long 3217037762
+ .long 4057646264
+ .long 3217043084
+ .long 2142368519
+ .long 3217048399
+ .long 1337238495
+ .long 3217053706
+ .long 1738982326
+ .long 3217059005
+ .long 3443904681
+ .long 3217064296
+ .long 2252923910
+ .long 3217069580
+ .long 2556476367
+ .long 3217074856
+ .long 154649628
+ .long 3217080125
+ .long 3732021368
+ .long 3217085385
+ .long 497923366
+ .long 3217090639
+ .long 3431084121
+ .long 3217095884
+ .long 4034990935
+ .long 3217101122
+ .long 2402663310
+ .long 3217106353
+ .long 2921687961
+ .long 3217111576
+ .long 1389319216
+ .long 3217116792
+ .long 2192350480
+ .long 3217122000
+ .long 1127247302
+ .long 3217127201
+ .long 2580018809
+ .long 3217132394
+ .long 2346350743
+ .long 3217137580
+ .long 516509563
+ .long 3217142759
+ .long 1475344637
+ .long 3217147930
+ .long 1017388536
+ .long 3217153094
+ .long 3526728381
+ .long 3217158250
+ .long 502171511
+ .long 3217163400
+ .long 622018689
+ .long 3217168542
+ .long 3974262445
+ .long 3217173676
+ .long 2056589177
+ .long 3217178804
+ .long 3546185020
+ .long 3217183924
+ .long 4234966846
+ .long 3217189037
+ .long 4209453505
+ .long 3217194143
+ .long 3555800579
+ .long 3217199242
+ .long 2359802410
+ .long 3217204334
+ .long 706894115
+ .long 3217209419
+ .long 2977120889
+ .long 3217214496
+ .long 665270808
+ .long 3217219567
+ .long 2445647873
+ .long 3217224630
+ .long 4107302903
+ .long 3217229686
+ .long 1438937368
+ .long 3217234736
+ .long 3113807214
+ .long 3217239778
+ .long 624953709
+ .long 3217244814
+ .long 60313751
+ .long 1069756916
+ .long 2039124234
+ .long 1069751894
+ .long 3639817142
+ .long 1069746879
+ .long 485812347
+ .long 1069741872
+ .long 1085767695
+ .long 1069736871
+ .long 1063773387
+ .long 1069731877
+ .long 339219334
+ .long 1069726890
+ .long 3126793337
+ .long 1069721909
+ .long 756610100
+ .long 1069716936
+ .long 1738980508
+ .long 1069711969
+ .long 1699638774
+ .long 1069707009
+ .long 559609852
+ .long 1069702056
+ .long 2535207687
+ .long 1069697109
+ .long 3253131575
+ .long 1069692169
+ .long 2635366323
+ .long 1069687236
+ .long 604213229
+ .long 1069682310
+ .long 1377255668
+ .long 1069677390
+ .long 582455508
+ .long 1069672477
+ .long 2438020609
+ .long 1069667570
+ .long 2572533958
+ .long 1069662670
+ .long 909853896
+ .long 1069657777
+ .long 1669112469
+ .long 1069652890
+ .long 479811889
+ .long 1069648010
+ .long 1561692097
+ .long 1069643136
+ .long 544859953
+ .long 1069638269
+ .long 1649656813
+ .long 1069633408
+ .long 506787744
+ .long 1069628554
+ .long 1337189126
+ .long 1069623706
+ .long 4067125179
+ .long 1069618864
+ .long 33219107
+ .long 1069614030
+ .long 2047222611
+ .long 1069609201
+ .long 1446341380
+ .long 1069604379
+ .long 2452971930
+ .long 1069599563
+ .long 699863591
+ .long 1069594754
+ .long 409986179
+ .long 1069589951
+ .long 1511626604
+ .long 1069585154
+ .long 3933354665
+ .long 1069580363
+ .long 3309054273
+ .long 1069575579
+ .long 3862823860
+ .long 1069570801
+ .long 1229105731
+ .long 1069566030
+ .long 3927521083
+ .long 1069561264
+ .long 3298097489
+ .long 1069556505
+ .long 3566038531
+ .long 1069551752
+ .long 733771779
+ .long 1069546492
+ .long 147741522
+ .long 1069537011
+ .long 941119220
+ .long 1069527542
+ .long 2976542023
+ .long 1069518085
+ .long 1822213927
+ .long 1069508641
+ .long 1636804890
+ .long 1069499209
+ .long 2284546202
+ .long 1069489789
+ .long 3630195051
+ .long 1069480381
+ .long 1244064508
+ .long 1069470986
+ .long 3581890024
+ .long 1069461602
+ .long 1920055674
+ .long 1069452231
+ .long 420362572
+ .long 1069442872
+ .long 3245124339
+ .long 1069433524
+ .long 1672262586
+ .long 1069424189
+ .long 4160075380
+ .long 1069414865
+ .long 1987496281
+ .long 1069405554
+ .long 3613830132
+ .long 1069396254
+ .long 319012134
+ .long 1069386967
+ .long 563343667
+ .long 1069377691
+ .long 4217685989
+ .long 1069368426
+ .long 2563457725
+ .long 1069359174
+ .long 4062436141
+ .long 1069349933
+ .long 4291983603
+ .long 1069340704
+ .long 3124914285
+ .long 1069331487
+ .long 434524433
+ .long 1069322282
+ .long 389557226
+ .long 1069313088
+ .long 2864265763
+ .long 1069303905
+ .long 3438410662
+ .long 1069294734
+ .long 1987192267
+ .long 1069285575
+ .long 2681248272
+ .long 1069276427
+ .long 1101749478
+ .long 1069267291
+ .long 1420266631
+ .long 1069258166
+ .long 3513866211
+ .long 1069249052
+ .long 2965108111
+ .long 1069239950
+ .long 3946945232
+ .long 1069230859
+ .long 2042852013
+ .long 1069221780
+ .long 1426691339
+ .long 1069212712
+ .long 1977810406
+ .long 1069203655
+ .long 3576005764
+ .long 1069194609
+ .long 1806553800
+ .long 1069185575
+ .long 845110407
+ .long 1069176552
+ .long 572806897
+ .long 1069167540
+ .long 871215109
+ .long 1069158539
+ .long 1622345234
+ .long 1069149549
+ .long 2708643653
+ .long 1069140570
+ .long 4012990793
+ .long 1069131602
+ .long 1123731696
+ .long 1069122646
+ .long 2514543080
+ .long 1069113700
+ .long 3774627456
+ .long 1069104765
+ .long 493612919
+ .long 1069095842
+ .long 1146452959
+ .long 1069086929
+ .long 1323620609
+ .long 1069078027
+ .long 910975575
+ .long 1069069136
+ .long 4089762193
+ .long 1069060255
+ .long 2156738208
+ .long 1069051386
+ .long 3588943832
+ .long 1069042527
+ .long 3978928661
+ .long 1069033679
+ .long 3214618865
+ .long 1069024842
+ .long 1184347908
+ .long 1069016016
+ .long 2071821874
+ .long 1069007200
+ .long 1471215619
+ .long 1068998395
+ .long 3567040008
+ .long 1068989600
+ .long 3954270794
+ .long 1068980816
+ .long 2523248584
+ .long 1068972043
+ .long 3459676924
+ .long 1068963280
+ .long 2359718512
+ .long 1068954528
+ .long 3409862494
+ .long 1068945786
+ .long 2207053396
+ .long 1068937055
+ .long 2938558446
+ .long 1068928334
+ .long 1202096535
+ .long 1068919624
+ .long 1185705549
+ .long 1068910924
+ .long 2782838657
+ .long 1068902234
+ .long 1592362481
+ .long 1068893555
+ .long 1803457173
+ .long 1068884886
+ .long 3310712729
+ .long 1068876227
+ .long 1714127196
+ .long 1068867579
+ .long 1204006779
+ .long 1068858941
+ .long 1676062187
+ .long 1068850313
+ .long 3026374166
+ .long 1068841695
+ .long 856424459
+ .long 1068833088
+ .long 3652963247
+ .long 1068824490
+ .long 2723236352
+ .long 1068815903
+ .long 2259754591
+ .long 1068807326
+ .long 2160422882
+ .long 1068798759
+ .long 2323505847
+ .long 1068790202
+ .long 2647626118
+ .long 1068781655
+ .long 3031762665
+ .long 1068773118
+ .long 3375249122
+ .long 1068764591
+ .long 3577772136
+ .long 1068756074
+ .long 3539369713
+ .long 1068747567
+ .long 3160429578
+ .long 1068739070
+ .long 2341687551
+ .long 1068730583
+ .long 984225923
+ .long 1068722106
+ .long 3284439142
+ .long 1068713638
+ .long 554163028
+ .long 1068705181
+ .long 1285444256
+ .long 1068696733
+ .long 1085767695
+ .long 1068688295
+ .long 4152891319
+ .long 1068679866
+ .long 1800008162
+ .long 1068671448
+ .long 2520515836
+ .long 1068663039
+ .long 1923243906
+ .long 1068654640
+ .long 4207288842
+ .long 1068646250
+ .long 687176001
+ .long 1068637871
+ .long 4152596484
+ .long 1068629500
+ .long 1623765359
+ .long 1068621140
+ .long 1596060423
+ .long 1068612789
+ .long 3975249632
+ .long 1068604447
+ .long 77489616
+ .long 1068596116
+ .long 2694095274
+ .long 1068587793
+ .long 3141865345
+ .long 1068579480
+ .long 1327852022
+ .long 1068571177
+ .long 1454392201
+ .long 1068562883
+ .long 3429171450
+ .long 1068554598
+ .long 2865222567
+ .long 1068546323
+ .long 3965826047
+ .long 1068538057
+ .long 2344639476
+ .long 1068529801
+ .long 2205565304
+ .long 1068521554
+ .long 3457847553
+ .long 1068513316
+ .long 1716070423
+ .long 1068505088
+ .long 2370117590
+ .long 1068494794
+ .long 3549949915
+ .long 1068478374
+ .long 2497601776
+ .long 1068461973
+ .long 3329575662
+ .long 1068445590
+ .long 1573040697
+ .long 1068429226
+ .long 1345699131
+ .long 1068412880
+ .long 2470881766
+ .long 1068396552
+ .long 477545290
+ .long 1068380243
+ .long 3780138808
+ .long 1068363951
+ .long 3613830132
+ .long 1068347678
+ .long 4099274231
+ .long 1068331423
+ .long 767774141
+ .long 1068315187
+ .long 2036114853
+ .long 1068298968
+ .long 3436756955
+ .long 1068282767
+ .long 502735958
+ .long 1068266585
+ .long 1652561629
+ .long 1068250420
+ .long 2420411682
+ .long 1068234273
+ .long 2635998437
+ .long 1068218144
+ .long 2129599017
+ .long 1068202033
+ .long 732052851
+ .long 1068185940
+ .long 2569726489
+ .long 1068169864
+ .long 3179609248
+ .long 1068153806
+ .long 2394212644
+ .long 1068137766
+ .long 46600658
+ .long 1068121744
+ .long 265354603
+ .long 1068105739
+ .long 2884636119
+ .long 1068089751
+ .long 3444184771
+ .long 1068073781
+ .long 1779250256
+ .long 1068057829
+ .long 2020590027
+ .long 1068041894
+ .long 4004532340
+ .long 1068025976
+ .long 3272973907
+ .long 1068010076
+ .long 3958279445
+ .long 1067994193
+ .long 1603410172
+ .long 1067978328
+ .long 341790679
+ .long 1067962480
+ .long 12404745
+ .long 1067946649
+ .long 454760348
+ .long 1067930835
+ .long 1508887391
+ .long 1067915038
+ .long 3015335440
+ .long 1067899258
+ .long 520204185
+ .long 1067883496
+ .long 2455010382
+ .long 1067867750
+ .long 71914560
+ .long 1067852022
+ .long 1803457173
+ .long 1067836310
+ .long 3197785334
+ .long 1067820615
+ .long 4098519806
+ .long 1067804937
+ .long 54818232
+ .long 1067789277
+ .long 3796209456
+ .long 1067773632
+ .long 2282918403
+ .long 1067758005
+ .long 3950504196
+ .long 1067742394
+ .long 55152364
+ .long 1067726801
+ .long 3328378382
+ .long 1067711223
+ .long 732385311
+ .long 1067695663
+ .long 704701956
+ .long 1067680119
+ .long 3093409710
+ .long 1067664591
+ .long 3452107773
+ .long 1067649080
+ .long 1629845684
+ .long 1067633586
+ .long 1771121268
+ .long 1067618108
+ .long 3725944001
+ .long 1067602646
+ .long 3049832979
+ .long 1067587201
+ .long 3888716792
+ .long 1067571772
+ .long 1799062323
+ .long 1067556360
+ .long 927741940
+ .long 1067540964
+ .long 1127129614
+ .long 1067525584
+ .long 2250066244
+ .long 1067510220
+ .long 4149857685
+ .long 1067494872
+ .long 2385305499
+ .long 1067479541
+ .long 1105606892
+ .long 1067464226
+ .long 330901792
+ .long 1067447486
+ .long 3134934760
+ .long 1067416919
+ .long 1744581096
+ .long 1067386385
+ .long 166917835
+ .long 1067355883
+ .long 2409924962
+ .long 1067325412
+ .long 3892547049
+ .long 1067294973
+ .long 34624089
+ .long 1067264567
+ .long 3436756955
+ .long 1067234191
+ .long 930630721
+ .long 1067203848
+ .long 823651223
+ .long 1067173536
+ .long 2834170318
+ .long 1067143255
+ .long 2386449519
+ .long 1067113006
+ .long 3495558248
+ .long 1067082788
+ .long 1587501032
+ .long 1067052602
+ .long 679083091
+ .long 1067022447
+ .long 493004867
+ .long 1066992323
+ .long 752825758
+ .long 1066962230
+ .long 1182960573
+ .long 1066932168
+ .long 1508676010
+ .long 1066902137
+ .long 1456087143
+ .long 1066872137
+ .long 752153937
+ .long 1066842168
+ .long 3419645073
+ .long 1066812229
+ .long 597265304
+ .long 1066782322
+ .long 604423098
+ .long 1066752445
+ .long 3171423441
+ .long 1066722598
+ .long 3734431730
+ .long 1066692782
+ .long 2025404984
+ .long 1066662997
+ .long 2072088478
+ .long 1066633242
+ .long 3608077800
+ .long 1066603517
+ .long 2072815517
+ .long 1066573823
+ .long 1496489755
+ .long 1066544159
+ .long 1615129006
+ .long 1066514525
+ .long 2165566144
+ .long 1066484921
+ .long 2885435163
+ .long 1066455347
+ .long 3513167923
+ .long 1066425803
+ .long 3281014557
+ .long 1066390787
+ .long 2604876893
+ .long 1066331819
+ .long 184567847
+ .long 1066272911
+ .long 4093204381
+ .long 1066214061
+ .long 930630721
+ .long 1066155272
+ .long 3068052312
+ .long 1066096541
+ .long 1403389294
+ .long 1066037870
+ .long 4015975920
+ .long 1065979257
+ .long 1806815988
+ .long 1065920704
+ .long 2858315029
+ .long 1065862209
+ .long 2369503088
+ .long 1065803773
+ .long 4130865093
+ .long 1065745395
+ .long 3344465584
+ .long 1065687076
+ .long 3803811842
+ .long 1065628815
+ .long 713978687
+ .long 1065570613
+ .long 2166438958
+ .long 1065512468
+ .long 3369253777
+ .long 1065454381
+ .long 3826935798
+ .long 1065396352
+ .long 1795984718
+ .long 1065323547
+ .long 1064675693
+ .long 1065207720
+ .long 182837332
+ .long 1065092008
+ .long 2466218622
+ .long 1064976410
+ .long 2643543973
+ .long 1064860927
+ .long 4036370876
+ .long 1064745558
+ .long 1379209261
+ .long 1064630304
+ .long 2294346567
+ .long 1064515163
+ .long 1522032624
+ .long 1064400136
+ .long 495642370
+ .long 1064265805
+ .long 3615182787
+ .long 1064036203
+ .long 1900236729
+ .long 1063806828
+ .long 2033862474
+ .long 1063577678
+ .long 2114800432
+ .long 1063348753
+ .long 494771388
+ .long 1062984042
+ .long 1967954106
+ .long 1062527089
+ .long 1170198565
+ .long 1061933680
+ .long 417502738
+ .long 1060884213
+ .long 0
+ .long 2147483648
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 368569247
+ .long 3223701786
+ .long 368569247
+ .long 3223701786
+ .long 1671522011
+ .long 1075227560
+ .long 1671522011
+ .long 1075227560
+ .long 1691548315
+ .long 3221787401
+ .long 1691548315
+ .long 3221787401
+ .long 3700771192
+ .long 1073506818
+ .long 3700771192
+ .long 1073506818
+ .long 3698831637
+ .long 3220339442
+ .long 3698831637
+ .long 3220339442
+ .long 3207479564
+ .long 1062894188
+ .long 3207479564
+ .long 1062894188
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 589282582
+ .long 1068907621
+ .long 589282582
+ .long 1068907621
+ .long 1325131787
+ .long 3216755581
+ .long 1325131787
+ .long 3216755581
+ .long 1668232222
+ .long 1069713319
+ .long 1668232222
+ .long 1069713319
+ .long 354868790
+ .long 3217804155
+ .long 354868790
+ .long 3217804155
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 4294967295
+ .long 1048575
+ .long 4294967295
+ .long 1048575
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1062207488
+ .long 0
+ .long 1062207488
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 4227858432
+ .long 4294967295
+ .long 4227858432
+ .long 4294967295
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1071366144
+ .long 0
+ .long 1071366144
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1352597504
+ .long 1070810131
+ .long 1352597504
+ .long 1070810131
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 3296460800
+ .long 1031700412
+ .long 3296460800
+ .long 1031700412
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1082564608
+ .long 0
+ .long 1082564608
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1083176960
+ .long 0
+ .long 1083176960
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1083174912
+ .long 0
+ .long 1083174912
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 4293918720
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 3220176896
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 0
+ .long 0
+ .long 2147483648
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .type __svml_dlog10_data_internal,@object
+ .size __svml_dlog10_data_internal,9600
+ .align 32
+
+__dlog10_la_CoutTab:
+ .long 0
+ .long 1071366144
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 1071337728
+ .long 184549376
+ .long 1065092008
+ .long 2099961998
+ .long 3178897324
+ .long 0
+ .long 1071309312
+ .long 931135488
+ .long 1066155272
+ .long 2365712557
+ .long 3178155773
+ .long 0
+ .long 1071280896
+ .long 603979776
+ .long 1066752445
+ .long 709057215
+ .long 1031474920
+ .long 0
+ .long 1071252480
+ .long 3437232128
+ .long 1067234191
+ .long 1515412199
+ .long 3179085970
+ .long 0
+ .long 1071238272
+ .long 1105723392
+ .long 1067464226
+ .long 153915826
+ .long 3178000698
+ .long 0
+ .long 1071209856
+ .long 3328442368
+ .long 1067711223
+ .long 3899912278
+ .long 3177135692
+ .long 0
+ .long 1071181440
+ .long 341835776
+ .long 1067962480
+ .long 2509208190
+ .long 3176531222
+ .long 0
+ .long 1071167232
+ .long 2884632576
+ .long 1068089751
+ .long 1030636902
+ .long 1025224143
+ .long 0
+ .long 1071138816
+ .long 3613917184
+ .long 1068347678
+ .long 3527163461
+ .long 3177529532
+ .long 0
+ .long 1071124608
+ .long 3549954048
+ .long 1068478374
+ .long 3498894081
+ .long 3173000425
+ .long 0
+ .long 1071096192
+ .long 1623785472
+ .long 1068621140
+ .long 2889825554
+ .long 3176375375
+ .long 0
+ .long 1071081984
+ .long 1085800448
+ .long 1068688295
+ .long 4015256301
+ .long 3177184346
+ .long 0
+ .long 1071053568
+ .long 3652976640
+ .long 1068824490
+ .long 3600693529
+ .long 3175753877
+ .long 0
+ .long 1071039360
+ .long 1592393728
+ .long 1068893555
+ .long 231073830
+ .long 3177087939
+ .long 0
+ .long 1071025152
+ .long 3459645440
+ .long 1068963280
+ .long 1740576090
+ .long 1029619435
+ .long 0
+ .long 1070996736
+ .long 3774611456
+ .long 1069104765
+ .long 3858552785
+ .long 1028603845
+ .long 0
+ .long 1070982528
+ .long 845086720
+ .long 1069176552
+ .long 3138879731
+ .long 1029120443
+ .long 0
+ .long 1070968320
+ .long 3513843712
+ .long 1069249052
+ .long 2107125367
+ .long 1029044389
+ .long 0
+ .long 1070954112
+ .long 434503680
+ .long 1069322282
+ .long 3827602229
+ .long 1028932700
+ .long 0
+ .long 1070939904
+ .long 3613851648
+ .long 1069396254
+ .long 1223751955
+ .long 3176465139
+ .long 0
+ .long 1070911488
+ .long 733741056
+ .long 1069546492
+ .long 1625232067
+ .long 1029570781
+ .long 0
+ .long 1070897280
+ .long 1511620608
+ .long 1069585154
+ .long 3044605139
+ .long 1028090775
+ .long 0
+ .long 1070883072
+ .long 1337196544
+ .long 1069623706
+ .long 2602639001
+ .long 3175938675
+ .long 0
+ .long 1070868864
+ .long 2572533760
+ .long 1069662670
+ .long 3067107955
+ .long 1022933137
+ .long 0
+ .long 1070854656
+ .long 559611904
+ .long 1069702056
+ .long 764145786
+ .long 3174041535
+ .long 0
+ .long 1070840448
+ .long 485818368
+ .long 1069741872
+ .long 2037567072
+ .long 3175580956
+ .long 0
+ .long 1070826240
+ .long 259604480
+ .long 1069782128
+ .long 4012068429
+ .long 1027865895
+ .long 0
+ .long 1070812032
+ .long 3454042112
+ .long 1069822833
+ .long 2867680007
+ .long 3174202478
+ .long 0
+ .long 1070797824
+ .long 2188754944
+ .long 1069863999
+ .long 2538655286
+ .long 3175840981
+ .long 0
+ .long 1070783616
+ .long 2965241856
+ .long 1069905635
+ .long 1338936972
+ .long 3176093950
+ .long 0
+ .long 1070769408
+ .long 966279168
+ .long 1069947753
+ .long 1774547674
+ .long 3175051484
+ .long 0
+ .long 1070755200
+ .long 1604042752
+ .long 1069990363
+ .long 2557470738
+ .long 3174667448
+ .long 0
+ .long 1070740992
+ .long 3417833472
+ .long 1070033477
+ .long 2268255117
+ .long 3175678264
+ .long 0
+ .long 1070740992
+ .long 3417833472
+ .long 1070033477
+ .long 2268255117
+ .long 3175678264
+ .long 0
+ .long 1070726784
+ .long 2451292160
+ .long 1070077108
+ .long 3757728941
+ .long 1027943275
+ .long 0
+ .long 1070712576
+ .long 929644544
+ .long 1070121268
+ .long 899045708
+ .long 1027944939
+ .long 0
+ .long 1070698368
+ .long 3057254400
+ .long 1070165969
+ .long 3880649376
+ .long 3172972504
+ .long 0
+ .long 1070684160
+ .long 2231091200
+ .long 1070211226
+ .long 521319256
+ .long 1027600177
+ .long 0
+ .long 1070684160
+ .long 2231091200
+ .long 1070211226
+ .long 521319256
+ .long 1027600177
+ .long 0
+ .long 1070669952
+ .long 2620162048
+ .long 1070257052
+ .long 1385613369
+ .long 3176104036
+ .long 0
+ .long 1070655744
+ .long 2096726016
+ .long 1070303462
+ .long 3138305819
+ .long 3173646777
+ .long 0
+ .long 1070641536
+ .long 944717824
+ .long 1070350471
+ .long 1065120110
+ .long 1027539054
+ .long 0
+ .long 1070641536
+ .long 944717824
+ .long 1070350471
+ .long 1065120110
+ .long 1027539054
+ .long 0
+ .long 1070627328
+ .long 1985789952
+ .long 1070398094
+ .long 3635943864
+ .long 3173136490
+ .long 0
+ .long 1070613120
+ .long 2123825152
+ .long 1070446348
+ .long 1125219725
+ .long 3175615738
+ .long 0
+ .long 1070598912
+ .long 1078378496
+ .long 1070495250
+ .long 603852726
+ .long 3174570526
+ .long 0
+ .long 1070598912
+ .long 1078378496
+ .long 1070495250
+ .long 603852726
+ .long 3174570526
+ .long 0
+ .long 1070573312
+ .long 1537933312
+ .long 1070544817
+ .long 998069198
+ .long 1026662908
+ .long 0
+ .long 1070544896
+ .long 733773824
+ .long 1070595068
+ .long 4061058002
+ .long 3174036009
+ .long 0
+ .long 1070544896
+ .long 733773824
+ .long 1070595068
+ .long 4061058002
+ .long 3174036009
+ .long 0
+ .long 1070516480
+ .long 3897544704
+ .long 1070621058
+ .long 951856294
+ .long 1026731877
+ .long 0
+ .long 1070516480
+ .long 3897544704
+ .long 1070621058
+ .long 951856294
+ .long 1026731877
+ .long 0
+ .long 1070488064
+ .long 493535232
+ .long 1070646897
+ .long 3852369308
+ .long 3173264746
+ .long 0
+ .long 1070459648
+ .long 463249408
+ .long 1070673107
+ .long 2853152111
+ .long 3174564937
+ .long 0
+ .long 1070459648
+ .long 463249408
+ .long 1070673107
+ .long 2853152111
+ .long 3174564937
+ .long 0
+ .long 1070431232
+ .long 3186585600
+ .long 1070699699
+ .long 1874718356
+ .long 3174139933
+ .long 0
+ .long 1070431232
+ .long 3186585600
+ .long 1070699699
+ .long 1874718356
+ .long 3174139933
+ .long 0
+ .long 1070402816
+ .long 1525858304
+ .long 1070726686
+ .long 3039843523
+ .long 1024724665
+ .long 0
+ .long 1070402816
+ .long 1525858304
+ .long 1070726686
+ .long 3039843523
+ .long 1024724665
+ .long 0
+ .long 1070374400
+ .long 3425300480
+ .long 1070754078
+ .long 1303046649
+ .long 1022401701
+ .long 0
+ .long 1070374400
+ .long 3425300480
+ .long 1070754078
+ .long 1303046649
+ .long 1022401701
+ .long 0
+ .long 1070345984
+ .long 1980465152
+ .long 1070781889
+ .long 3188656319
+ .long 1027271390
+ .long 0
+ .long 1070345984
+ .long 1980465152
+ .long 1070781889
+ .long 3188656319
+ .long 1027271390
+ .long 0
+ .long 1070317568
+ .long 1352630272
+ .long 1070810131
+ .long 3090895658
+ .long 3174564915
+ .long 1352630272
+ .long 1070810131
+ .long 3090895658
+ .long 3174564915
+ .long 64
+ .long 1120927744
+ .long 0
+ .long 1096810496
+ .long 0
+ .long 1064828928
+ .long 0
+ .long 1135607808
+ .long 0
+ .long 0
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1071366144
+ .long 3207479559
+ .long 1062894188
+ .long 3698831637
+ .long 3220339442
+ .long 3700832817
+ .long 1073506818
+ .long 1691624569
+ .long 3221787401
+ .long 2065628764
+ .long 1075227551
+ .long 1770847080
+ .long 3223701774
+ .long 3786517112
+ .long 1077250450
+ .long 1316351650
+ .long 3225793313
+ .type __dlog10_la_CoutTab,@object
+ .size __dlog10_la_CoutTab,1696
+ .align 16
+
+.FLT_16:
+ .long 0x00000000,0x43380000,0x00000000,0x43380000
+ .type .FLT_16,@object
+ .size .FLT_16,16
+ .align 16
+
+.FLT_89:
+ .long 0x00000000,0x80000000,0x00000000,0x00000000
+ .type .FLT_89,@object
+ .size .FLT_89,16
+ .align 8
+
+.FLT_90:
+ .long 0x00000000,0x3ff00000
+ .type .FLT_90,@object
+ .size .FLT_90,8
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE version of vectorized log10, vector length is 4.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define _ZGVdN4v_log10 _ZGVdN4v_log10_sse_wrapper
+#include "../svml_d_log104_core.S"
new file mode 100644
@@ -0,0 +1,27 @@
+/* Multiple versions of vectorized log10, vector length is 4.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define SYMBOL_NAME _ZGVdN4v_log10
+#include "ifunc-mathvec-avx2.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVdN4v_log10, __GI__ZGVdN4v_log10, __redirect__ZGVdN4v_log10)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,3782 @@
+/* Function log10 vectorized with AVX2.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ https://www.gnu.org/licenses/. */
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *
+ * Get short reciprocal approximation Rcp ~ 1/mantissa(x)
+ * R = Rcp*x - 1.0
+ * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R)
+ * log10(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ .section .text.avx2,"ax",@progbits
+ENTRY(_ZGVdN4v_log10_avx2)
+ pushq %rbp
+ cfi_def_cfa_offset(16)
+ movq %rsp, %rbp
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+ andq $-64, %rsp
+ subq $384, %rsp
+ lea -4222912+__svml_dlog10_data_internal(%rip), %rax
+ vmovapd %ymm0, %ymm3
+
+/* preserve mantissa, set input exponent to 2^(-10) */
+ vandpd 8704+__svml_dlog10_data_internal(%rip), %ymm3, %ymm4
+ vorpd 8768+__svml_dlog10_data_internal(%rip), %ymm4, %ymm2
+
+/* reciprocal approximation good to at least 11 bits */
+ vcvtpd2ps %ymm2, %xmm5
+
+/* exponent bits */
+ vpsrlq $20, %ymm3, %ymm7
+ vmovups %ymm8, 32(%rsp)
+ vmovups %ymm9, 96(%rsp)
+ vmovups %ymm15, 320(%rsp)
+ .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22
+
+/* exponent*log(2.0) */
+ vmovupd 9280+__svml_dlog10_data_internal(%rip), %ymm15
+ vmovups %ymm12, 224(%rsp)
+ vmovups %ymm10, 160(%rsp)
+ vmovups %ymm13, 256(%rsp)
+ vmovups %ymm11, 192(%rsp)
+ vmovups %ymm14, 288(%rsp)
+ vrcpps %xmm5, %xmm6
+
+/* check range */
+ vcmplt_oqpd 8832+__svml_dlog10_data_internal(%rip), %ymm3, %ymm5
+ vcvtps2pd %xmm6, %ymm1
+ vcmpnle_uqpd 8896+__svml_dlog10_data_internal(%rip), %ymm3, %ymm6
+
+/* round reciprocal to nearest integer, will have 1+9 mantissa bits */
+ vroundpd $0, %ymm1, %ymm1
+ .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22
+ vorpd %ymm6, %ymm5, %ymm8
+
+/* combine and get argument value range mask */
+ vmovmskpd %ymm8, %edx
+
+/* argument reduction */
+ vfmsub213pd 9088+__svml_dlog10_data_internal(%rip), %ymm1, %ymm2
+
+/* polynomial */
+ vmovupd 8512+__svml_dlog10_data_internal(%rip), %ymm8
+ vmovupd 8576+__svml_dlog10_data_internal(%rip), %ymm5
+
+/*
+ * prepare table index
+ * table lookup
+ */
+ vpsrlq $40, %ymm1, %ymm9
+ vmulpd %ymm2, %ymm2, %ymm6
+ vfmadd213pd 8544+__svml_dlog10_data_internal(%rip), %ymm2, %ymm8
+ vfmadd213pd 8608+__svml_dlog10_data_internal(%rip), %ymm2, %ymm5
+ vmulpd 8640+__svml_dlog10_data_internal(%rip), %ymm2, %ymm2
+ vcmplt_oqpd %ymm1, %ymm15, %ymm1
+ vfmadd213pd %ymm5, %ymm6, %ymm8
+ vandpd 9344+__svml_dlog10_data_internal(%rip), %ymm1, %ymm15
+ vfmadd213pd %ymm2, %ymm6, %ymm8
+ vextractf128 $1, %ymm9, %xmm12
+ vmovd %xmm9, %ecx
+ vmovd %xmm12, %r9d
+ movslq %ecx, %rcx
+ vpextrd $2, %xmm9, %r8d
+ movslq %r9d, %r9
+ vpextrd $2, %xmm12, %r10d
+ movslq %r8d, %r8
+ movslq %r10d, %r10
+ vmovsd (%rax,%rcx), %xmm10
+ vmovsd (%rax,%r9), %xmm13
+ vmovhpd (%rax,%r8), %xmm10, %xmm11
+ vmovhpd (%rax,%r10), %xmm13, %xmm14
+ vextractf128 $1, %ymm7, %xmm0
+ vshufps $221, %xmm0, %xmm7, %xmm4
+
+/* biased exponent in DP format */
+ vcvtdq2pd %xmm4, %ymm0
+ vorpd 9408+__svml_dlog10_data_internal(%rip), %ymm15, %ymm4
+ vsubpd %ymm4, %ymm0, %ymm0
+ vmulpd 9472+__svml_dlog10_data_internal(%rip), %ymm0, %ymm9
+ vinsertf128 $1, %xmm14, %ymm11, %ymm7
+
+/* reconstruction */
+ vaddpd %ymm8, %ymm7, %ymm0
+ vaddpd %ymm0, %ymm9, %ymm0
+ testl %edx, %edx
+ jne L(2)
+
+L(1):
+ vmovups 32(%rsp), %ymm8
+ cfi_restore(91)
+ vmovups 96(%rsp), %ymm9
+ cfi_restore(92)
+ vmovups 160(%rsp), %ymm10
+ cfi_restore(93)
+ vmovups 192(%rsp), %ymm11
+ cfi_restore(94)
+ vmovups 224(%rsp), %ymm12
+ cfi_restore(95)
+ vmovups 256(%rsp), %ymm13
+ cfi_restore(96)
+ vmovups 288(%rsp), %ymm14
+ cfi_restore(97)
+ vmovups 320(%rsp), %ymm15
+ cfi_restore(98)
+ movq %rbp, %rsp
+ popq %rbp
+ cfi_def_cfa(7, 8)
+ cfi_restore(6)
+ ret
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+ .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22
+
+L(2):
+ vmovupd %ymm3, 64(%rsp)
+ vmovupd %ymm0, 128(%rsp)
+ je L(1)
+ xorl %eax, %eax
+ vzeroupper
+ movq %rsi, 8(%rsp)
+ movq %rdi, (%rsp)
+ movq %r12, 24(%rsp)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22
+ movl %eax, %r12d
+ movq %r13, 16(%rsp)
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22
+ movl %edx, %r13d
+
+L(3):
+ btl %r12d, %r13d
+ jc L(5)
+
+L(4):
+ incl %r12d
+ cmpl $4, %r12d
+ jl L(3)
+ movq 8(%rsp), %rsi
+ cfi_restore(4)
+ movq (%rsp), %rdi
+ cfi_restore(5)
+ movq 24(%rsp), %r12
+ cfi_restore(12)
+ movq 16(%rsp), %r13
+ cfi_restore(13)
+ vmovupd 128(%rsp), %ymm0
+ jmp L(1)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22
+
+L(5):
+ lea 64(%rsp,%r12,8), %rdi
+ lea 128(%rsp,%r12,8), %rsi
+ call __svml_dlog10_cout_rare_internal
+ jmp L(4)
+
+END(_ZGVdN4v_log10_avx2)
+
+ .align 16,0x90
+
+__svml_dlog10_cout_rare_internal:
+
+ cfi_startproc
+
+ xorl %eax, %eax
+ movzwl 6(%rdi), %edx
+ andl $32752, %edx
+ cmpl $32752, %edx
+ je L(11)
+ movsd (%rdi), %xmm2
+ xorl %ecx, %ecx
+ movsd %xmm2, -8(%rsp)
+ movzwl -2(%rsp), %edx
+ testl $32752, %edx
+ jne L(6)
+ movsd 1600+__dlog10_la_CoutTab(%rip), %xmm0
+ movl $-60, %ecx
+ mulsd %xmm0, %xmm2
+ movsd %xmm2, -8(%rsp)
+
+L(6):
+ movsd 1608+__dlog10_la_CoutTab(%rip), %xmm0
+ comisd %xmm0, %xmm2
+ jbe L(8)
+ movaps %xmm2, %xmm1
+ subsd .FLT_89(%rip), %xmm1
+ movsd %xmm1, -16(%rsp)
+ andb $127, -9(%rsp)
+ movsd -16(%rsp), %xmm0
+ comisd 1592+__dlog10_la_CoutTab(%rip), %xmm0
+ jbe L(7)
+ movsd %xmm2, -16(%rsp)
+ pxor %xmm7, %xmm7
+ movzwl -10(%rsp), %edi
+ lea __dlog10_la_CoutTab(%rip), %r10
+ andl $-32753, %edi
+ addl $16368, %edi
+ movw %di, -10(%rsp)
+ movsd -16(%rsp), %xmm3
+ movaps %xmm3, %xmm1
+ movaps %xmm3, %xmm2
+ movsd 1688+__dlog10_la_CoutTab(%rip), %xmm5
+ movzwl -2(%rsp), %edx
+ andl $32752, %edx
+ addsd 1576+__dlog10_la_CoutTab(%rip), %xmm1
+ addsd 1584+__dlog10_la_CoutTab(%rip), %xmm2
+ movsd %xmm1, -24(%rsp)
+ movl -24(%rsp), %r8d
+ movsd %xmm2, -24(%rsp)
+ andl $127, %r8d
+ movsd -24(%rsp), %xmm8
+ movsd 1560+__dlog10_la_CoutTab(%rip), %xmm9
+ movsd 1568+__dlog10_la_CoutTab(%rip), %xmm0
+ shrl $4, %edx
+ subsd 1584+__dlog10_la_CoutTab(%rip), %xmm8
+ lea (%r8,%r8,2), %r9d
+ movsd (%r10,%r9,8), %xmm6
+ lea -1023(%rcx,%rdx), %ecx
+ cvtsi2sd %ecx, %xmm7
+ subsd %xmm8, %xmm3
+ mulsd %xmm6, %xmm8
+ mulsd %xmm7, %xmm9
+ subsd 1624+__dlog10_la_CoutTab(%rip), %xmm8
+ mulsd %xmm3, %xmm6
+ mulsd %xmm0, %xmm7
+ addsd 8(%r10,%r9,8), %xmm9
+ addsd 16(%r10,%r9,8), %xmm7
+ addsd %xmm8, %xmm9
+ movaps %xmm8, %xmm4
+ addsd %xmm6, %xmm4
+ mulsd %xmm4, %xmm5
+ addsd 1680+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1672+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1664+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1656+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1648+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1640+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1632+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm5, %xmm8
+ mulsd %xmm6, %xmm5
+ addsd %xmm5, %xmm7
+ addsd %xmm6, %xmm7
+ addsd %xmm7, %xmm8
+ addsd %xmm8, %xmm9
+ movsd %xmm9, (%rsi)
+ ret
+
+L(7):
+ movsd 1624+__dlog10_la_CoutTab(%rip), %xmm0
+ mulsd %xmm0, %xmm1
+ movsd 1688+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1680+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1672+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1664+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1656+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1648+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1640+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1632+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd %xmm1, %xmm2
+ movsd %xmm2, (%rsi)
+ ret
+
+L(8):
+ ucomisd %xmm0, %xmm2
+ jp L(9)
+ je L(10)
+
+L(9):
+ divsd %xmm0, %xmm0
+ movsd %xmm0, (%rsi)
+ movl $1, %eax
+ ret
+
+L(10):
+ movsd 1616+__dlog10_la_CoutTab(%rip), %xmm1
+ movl $2, %eax
+ xorps .FLT_88(%rip), %xmm1
+ divsd %xmm0, %xmm1
+ movsd %xmm1, (%rsi)
+ ret
+
+L(11):
+ movb 7(%rdi), %dl
+ andb $-128, %dl
+ cmpb $-128, %dl
+ je L(13)
+
+L(12):
+ movsd (%rdi), %xmm0
+ mulsd %xmm0, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+L(13):
+ testl $1048575, 4(%rdi)
+ jne L(12)
+ cmpl $0, (%rdi)
+ jne L(12)
+ movsd 1608+__dlog10_la_CoutTab(%rip), %xmm0
+ movl $1, %eax
+ divsd %xmm0, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_dlog10_cout_rare_internal,@function
+ .size __svml_dlog10_cout_rare_internal,.-__svml_dlog10_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_dlog10_data_internal:
+ .long 1190572160
+ .long 3228777073
+ .long 3860447744
+ .long 3189665916
+ .long 1198987632
+ .long 3228777077
+ .long 3228397393
+ .long 3189668294
+ .long 1168821104
+ .long 3228777081
+ .long 637194908
+ .long 3189668066
+ .long 1100245360
+ .long 3228777085
+ .long 133785915
+ .long 3189667542
+ .long 993432048
+ .long 3228777089
+ .long 3017828443
+ .long 3189667588
+ .long 848551680
+ .long 3228777093
+ .long 560605178
+ .long 3189668289
+ .long 665773664
+ .long 3228777097
+ .long 3849538177
+ .long 3189667548
+ .long 445266208
+ .long 3228777101
+ .long 3804908986
+ .long 3189667886
+ .long 187196464
+ .long 3228777105
+ .long 3516966431
+ .long 3189667858
+ .long 4186697744
+ .long 3228777108
+ .long 3052190817
+ .long 3189667809
+ .long 3854000384
+ .long 3228777112
+ .long 1554781574
+ .long 3189667427
+ .long 3484235504
+ .long 3228777116
+ .long 4153839410
+ .long 3189667384
+ .long 3077565856
+ .long 3228777120
+ .long 4000768869
+ .long 3189667904
+ .long 2634153136
+ .long 3228777124
+ .long 4244738174
+ .long 3189668339
+ .long 2154157984
+ .long 3228777128
+ .long 3014247306
+ .long 3189667771
+ .long 1637739952
+ .long 3228777132
+ .long 1906045981
+ .long 3189667650
+ .long 1085057568
+ .long 3228777136
+ .long 3987700171
+ .long 3189668284
+ .long 496268368
+ .long 3228777140
+ .long 1674280096
+ .long 3189667373
+ .long 4166496080
+ .long 3228777143
+ .long 2078815235
+ .long 3189667744
+ .long 3505961600
+ .long 3228777147
+ .long 4286802640
+ .long 3189667683
+ .long 2809786672
+ .long 3228777151
+ .long 1913564473
+ .long 3189667639
+ .long 2078124752
+ .long 3228777155
+ .long 2693682663
+ .long 3189667702
+ .long 1311128304
+ .long 3228777159
+ .long 1012063542
+ .long 3189668158
+ .long 508948832
+ .long 3228777163
+ .long 2489929809
+ .long 3189667978
+ .long 3966704144
+ .long 3228777166
+ .long 2165614611
+ .long 3189667408
+ .long 3094609184
+ .long 3228777170
+ .long 2488783422
+ .long 3189667472
+ .long 2187779856
+ .long 3228777174
+ .long 2723126436
+ .long 3189667428
+ .long 1246363792
+ .long 3228777178
+ .long 3017034520
+ .long 3189668359
+ .long 270507744
+ .long 3228777182
+ .long 1972662349
+ .long 3189667544
+ .long 3555324736
+ .long 3228777185
+ .long 898998658
+ .long 3189668182
+ .long 2511025072
+ .long 3228777189
+ .long 2160314027
+ .long 3189667608
+ .long 1432719952
+ .long 3228777193
+ .long 1911887828
+ .long 3189668033
+ .long 320552432
+ .long 3228777197
+ .long 3280422502
+ .long 3189667818
+ .long 3469631920
+ .long 3228777200
+ .long 3027884278
+ .long 3189668109
+ .long 2290165072
+ .long 3228777204
+ .long 3517602960
+ .long 3189668197
+ .long 1077259536
+ .long 3228777208
+ .long 3013130823
+ .long 3189668046
+ .long 4126022080
+ .long 3228777211
+ .long 3235689898
+ .long 3189667740
+ .long 2846656704
+ .long 3228777215
+ .long 87643117
+ .long 3189667953
+ .long 1534268448
+ .long 3228777219
+ .long 754951962
+ .long 3189668360
+ .long 188994208
+ .long 3228777223
+ .long 3023581101
+ .long 3189668100
+ .long 3105937296
+ .long 3228777226
+ .long 1490072819
+ .long 3189668276
+ .long 1695298320
+ .long 3228777230
+ .long 3738440902
+ .long 3189668304
+ .long 252178944
+ .long 3228777234
+ .long 897194307
+ .long 3189667388
+ .long 3071679952
+ .long 3228777237
+ .long 195484330
+ .long 3189668024
+ .long 1563999488
+ .long 3228777241
+ .long 3795554301
+ .long 3189668248
+ .long 24236736
+ .long 3228777245
+ .long 2858806924
+ .long 3189668212
+ .long 2747490080
+ .long 3228777248
+ .long 4259795627
+ .long 3189667532
+ .long 1143955184
+ .long 3228777252
+ .long 4279885499
+ .long 3189667764
+ .long 3803696144
+ .long 3228777255
+ .long 3997664578
+ .long 3189667698
+ .long 2136907056
+ .long 3228777259
+ .long 2176158532
+ .long 3189667869
+ .long 438683136
+ .long 3228777263
+ .long 227964261
+ .long 3189667893
+ .long 3004118816
+ .long 3228777266
+ .long 2296676690
+ .long 3189667896
+ .long 1243405872
+ .long 3228777270
+ .long 2079834385
+ .long 3189667894
+ .long 3746604496
+ .long 3228777273
+ .long 3850151037
+ .long 3189668185
+ .long 1923904960
+ .long 3228777277
+ .long 574763554
+ .long 3189667699
+ .long 70398640
+ .long 3228777281
+ .long 3827982506
+ .long 3189667452
+ .long 2481176176
+ .long 3228777284
+ .long 1146808857
+ .long 3189667869
+ .long 566425600
+ .long 3228777288
+ .long 4238446104
+ .long 3189668130
+ .long 2916203392
+ .long 3228777291
+ .long 3553887815
+ .long 3189667582
+ .long 940696080
+ .long 3228777295
+ .long 1221192380
+ .long 3189668153
+ .long 3229958720
+ .long 3228777298
+ .long 2271570828
+ .long 3189667556
+ .long 1194176400
+ .long 3228777302
+ .long 3002536483
+ .long 3189667850
+ .long 3423402736
+ .long 3228777305
+ .long 2434838684
+ .long 3189667608
+ .long 1327821424
+ .long 3228777309
+ .long 2687777298
+ .long 3189667396
+ .long 3497484640
+ .long 3228777312
+ .long 2749657917
+ .long 3189668082
+ .long 1342574720
+ .long 3228777316
+ .long 3002546917
+ .long 3189668115
+ .long 3453142464
+ .long 3228777319
+ .long 3498283957
+ .long 3189667970
+ .long 1239368816
+ .long 3228777323
+ .long 455121273
+ .long 3189667422
+ .long 3291303200
+ .long 3228777326
+ .long 2621841620
+ .long 3189667932
+ .long 3012883008
+ .long 3228777333
+ .long 2362501462
+ .long 3189667975
+ .long 2618787376
+ .long 3228777340
+ .long 1091754251
+ .long 3189667994
+ .long 2109911280
+ .long 3228777347
+ .long 193599334
+ .long 3189668101
+ .long 1487139360
+ .long 3228777354
+ .long 3757852586
+ .long 3189667728
+ .long 751346048
+ .long 3228777361
+ .long 1167306858
+ .long 3189667607
+ .long 4198363056
+ .long 3228777367
+ .long 3727503052
+ .long 3189667447
+ .long 3239110320
+ .long 3228777374
+ .long 4101491224
+ .long 3189667535
+ .long 2169399936
+ .long 3228777381
+ .long 1682828411
+ .long 3189668088
+ .long 990067152
+ .long 3228777388
+ .long 325154957
+ .long 3189667406
+ .long 3996905008
+ .long 3228777394
+ .long 333920478
+ .long 3189668041
+ .long 2600795440
+ .long 3228777401
+ .long 1868291498
+ .long 3189667430
+ .long 1097513040
+ .long 3228777408
+ .long 2092796598
+ .long 3189667816
+ .long 3782823440
+ .long 3228777414
+ .long 2342635878
+ .long 3189667569
+ .long 2067581456
+ .long 3228777421
+ .long 2489432283
+ .long 3189667708
+ .long 247535056
+ .long 3228777428
+ .long 2233925548
+ .long 3189668023
+ .long 2618423584
+ .long 3228777434
+ .long 2884435678
+ .long 3189668162
+ .long 591076000
+ .long 3228777441
+ .long 2793733516
+ .long 3189667544
+ .long 2756182032
+ .long 3228777447
+ .long 726899401
+ .long 3189668194
+ .long 524554032
+ .long 3228777454
+ .long 3888914666
+ .long 3189668216
+ .long 2486865376
+ .long 3228777460
+ .long 2627594277
+ .long 3189667420
+ .long 53912208
+ .long 3228777467
+ .long 2333314786
+ .long 3189667677
+ .long 1816352000
+ .long 3228777473
+ .long 860249135
+ .long 3189668031
+ .long 3479932544
+ .long 3228777479
+ .long 1333576769
+ .long 3189667862
+ .long 750393936
+ .long 3228777486
+ .long 3863808803
+ .long 3189667876
+ .long 2218370608
+ .long 3228777492
+ .long 988274049
+ .long 3189667895
+ .long 3589587648
+ .long 3228777498
+ .long 1363020542
+ .long 3189667588
+ .long 569762768
+ .long 3228777505
+ .long 2860785679
+ .long 3189668116
+ .long 1749508368
+ .long 3228777511
+ .long 3454164214
+ .long 3189667505
+ .long 2834527744
+ .long 3228777517
+ .long 551781933
+ .long 3189668193
+ .long 3825484512
+ .long 3228777523
+ .long 2204991099
+ .long 3189668076
+ .long 428068000
+ .long 3228777530
+ .long 330816187
+ .long 3189667835
+ .long 1232862576
+ .long 3228777536
+ .long 1875584004
+ .long 3189667900
+ .long 1945543984
+ .long 3228777542
+ .long 3147029736
+ .long 3189667368
+ .long 2566748560
+ .long 3228777548
+ .long 2759544833
+ .long 3189667927
+ .long 3097106128
+ .long 3228777554
+ .long 2378335007
+ .long 3189667440
+ .long 3537239968
+ .long 3228777560
+ .long 59134449
+ .long 3189667766
+ .long 3887767008
+ .long 3228777566
+ .long 2237380018
+ .long 3189668142
+ .long 4149297872
+ .long 3228777572
+ .long 2899689733
+ .long 3189667692
+ .long 27469632
+ .long 3228777579
+ .long 2818642709
+ .long 3189667832
+ .long 112815152
+ .long 3228777585
+ .long 4092579806
+ .long 3189667420
+ .long 110959312
+ .long 3228777591
+ .long 936570796
+ .long 3189668056
+ .long 22488368
+ .long 3228777597
+ .long 365917996
+ .long 3189668022
+ .long 4142949952
+ .long 3228777602
+ .long 3149756965
+ .long 3189667408
+ .long 3882983968
+ .long 3228777608
+ .long 4081670258
+ .long 3189668028
+ .long 3538126528
+ .long 3228777614
+ .long 1719873156
+ .long 3189668130
+ .long 3108940752
+ .long 3228777620
+ .long 3284322898
+ .long 3189668289
+ .long 2595984192
+ .long 3228777626
+ .long 1642430589
+ .long 3189668010
+ .long 1999808880
+ .long 3228777632
+ .long 4232900950
+ .long 3189667360
+ .long 1320961392
+ .long 3228777638
+ .long 346567365
+ .long 3189667513
+ .long 559982960
+ .long 3228777644
+ .long 2138178062
+ .long 3189668130
+ .long 4012376832
+ .long 3228777649
+ .long 2536292360
+ .long 3189667756
+ .long 3088739088
+ .long 3228777655
+ .long 2310947316
+ .long 3189668224
+ .long 2084562592
+ .long 3228777661
+ .long 719337470
+ .long 3189667732
+ .long 1000367760
+ .long 3228777667
+ .long 2925814745
+ .long 3189668182
+ .long 4131637328
+ .long 3228777672
+ .long 2769058114
+ .long 3189668120
+ .long 2888947152
+ .long 3228777678
+ .long 2397746692
+ .long 3189667888
+ .long 1567770080
+ .long 3228777684
+ .long 1319666757
+ .long 3189667549
+ .long 168606816
+ .long 3228777690
+ .long 3249166601
+ .long 3189667815
+ .long 2986920608
+ .long 3228777695
+ .long 3117551188
+ .long 3189667844
+ .long 1433268080
+ .long 3228777701
+ .long 2392446108
+ .long 3189668088
+ .long 4098070400
+ .long 3228777706
+ .long 1952984424
+ .long 3189667965
+ .long 2391874944
+ .long 3228777712
+ .long 3260016359
+ .long 3189667565
+ .long 610126416
+ .long 3228777718
+ .long 1206683346
+ .long 3189668275
+ .long 3048265088
+ .long 3228777723
+ .long 3467821979
+ .long 3189668220
+ .long 1116824880
+ .long 3228777729
+ .long 3688655521
+ .long 3189667898
+ .long 3406204528
+ .long 3228777734
+ .long 3255713182
+ .long 3189667556
+ .long 1326929264
+ .long 3228777740
+ .long 200527713
+ .long 3189667591
+ .long 3469389248
+ .long 3228777745
+ .long 1129326388
+ .long 3189667868
+ .long 1244101248
+ .long 3228777751
+ .long 308865650
+ .long 3189668017
+ .long 3241447056
+ .long 3228777756
+ .long 3090939005
+ .long 3189667668
+ .long 871935152
+ .long 3228777762
+ .long 3265000937
+ .long 3189667670
+ .long 2725939152
+ .long 3228777767
+ .long 4229796659
+ .long 3189668178
+ .long 213959504
+ .long 3228777773
+ .long 1991139447
+ .long 3189667724
+ .long 1926361824
+ .long 3228777778
+ .long 2528808771
+ .long 3189668376
+ .long 3568606000
+ .long 3228777783
+ .long 4260639448
+ .long 3189667546
+ .long 846147968
+ .long 3228777789
+ .long 806895635
+ .long 3189668179
+ .long 2349341824
+ .long 3228777794
+ .long 3346322191
+ .long 3189667388
+ .long 3783635920
+ .long 3228777799
+ .long 175610890
+ .long 3189667587
+ .long 854474928
+ .long 3228777805
+ .long 2938776958
+ .long 3189668104
+ .long 2152201728
+ .long 3228777810
+ .long 2503702909
+ .long 3189668036
+ .long 3382253648
+ .long 3228777815
+ .long 990471545
+ .long 3189668020
+ .long 250064432
+ .long 3228777821
+ .long 2919909380
+ .long 3189667876
+ .long 1345966144
+ .long 3228777826
+ .long 3002840896
+ .long 3189668306
+ .long 2375385488
+ .long 3228777831
+ .long 3730416038
+ .long 3189667426
+ .long 3338712928
+ .long 3228777836
+ .long 1372953258
+ .long 3189667506
+ .long 4236335536
+ .long 3228777841
+ .long 3486643335
+ .long 3189668352
+ .long 773669728
+ .long 3228777847
+ .long 3527808638
+ .long 3189667828
+ .long 1541030400
+ .long 3228777852
+ .long 1323886332
+ .long 3189667450
+ .long 2243827264
+ .long 3228777857
+ .long 3473574637
+ .long 3189667708
+ .long 2882434080
+ .long 3228777862
+ .long 2116524762
+ .long 3189667453
+ .long 3457221328
+ .long 3228777867
+ .long 3472145296
+ .long 3189668357
+ .long 3968556352
+ .long 3228777872
+ .long 1399438939
+ .long 3189668087
+ .long 121835984
+ .long 3228777878
+ .long 1630440586
+ .long 3189667769
+ .long 507355824
+ .long 3228777883
+ .long 414821867
+ .long 3189668165
+ .long 830506528
+ .long 3228777888
+ .long 1651489076
+ .long 3189667856
+ .long 1091642960
+ .long 3228777893
+ .long 1914960493
+ .long 3189667544
+ .long 1291116960
+ .long 3228777898
+ .long 1585226677
+ .long 3189668172
+ .long 1429277424
+ .long 3228777903
+ .long 1458536815
+ .long 3189667992
+ .long 1506470256
+ .long 3228777908
+ .long 5177277
+ .long 3189667794
+ .long 1523038448
+ .long 3228777913
+ .long 2100423580
+ .long 3189667910
+ .long 1479322112
+ .long 3228777918
+ .long 2766296967
+ .long 3189668266
+ .long 1375658528
+ .long 3228777923
+ .long 3908110271
+ .long 3189667373
+ .long 1212382096
+ .long 3228777928
+ .long 1728734206
+ .long 3189667440
+ .long 989824464
+ .long 3228777933
+ .long 2721564364
+ .long 3189668188
+ .long 708314544
+ .long 3228777938
+ .long 1548992985
+ .long 3189667813
+ .long 368178464
+ .long 3228777943
+ .long 102841028
+ .long 3189668008
+ .long 4264706992
+ .long 3228777947
+ .long 975947285
+ .long 3189667700
+ .long 3808286304
+ .long 3228777952
+ .long 3025865597
+ .long 3189668024
+ .long 3294201856
+ .long 3228777957
+ .long 905114809
+ .long 3189668054
+ .long 2722769184
+ .long 3228777962
+ .long 3281428766
+ .long 3189667672
+ .long 2094301216
+ .long 3228777967
+ .long 2831959372
+ .long 3189668375
+ .long 1409108384
+ .long 3228777972
+ .long 2859726358
+ .long 3189667900
+ .long 667498528
+ .long 3228777977
+ .long 3483539044
+ .long 3189668146
+ .long 4164744336
+ .long 3228777981
+ .long 643592870
+ .long 3189667709
+ .long 3311214096
+ .long 3228777986
+ .long 3888135264
+ .long 3189667701
+ .long 2402175552
+ .long 3228777991
+ .long 1565708850
+ .long 3189668342
+ .long 1437926768
+ .long 3228777996
+ .long 3880143694
+ .long 3189667559
+ .long 418763344
+ .long 3228778001
+ .long 2177554551
+ .long 3189667774
+ .long 3639945856
+ .long 3228778005
+ .long 632683322
+ .long 3189668317
+ .long 2511830656
+ .long 3228778010
+ .long 1595152623
+ .long 3189668068
+ .long 1329673632
+ .long 3228778015
+ .long 1921601627
+ .long 3189668075
+ .long 93761104
+ .long 3228778020
+ .long 1757445293
+ .long 3189668004
+ .long 3099344416
+ .long 3228778024
+ .long 1435123721
+ .long 3189667691
+ .long 1756770768
+ .long 3228778029
+ .long 783914014
+ .long 3189667649
+ .long 361287040
+ .long 3228778034
+ .long 2235532382
+ .long 3189667506
+ .long 3208137904
+ .long 3228778038
+ .long 1904486204
+ .long 3189667498
+ .long 1707663968
+ .long 3228778043
+ .long 41908474
+ .long 3189667890
+ .long 155105584
+ .long 3228778048
+ .long 2107716085
+ .long 3189668380
+ .long 2845700992
+ .long 3228778052
+ .long 3156927676
+ .long 3189667488
+ .long 1189784368
+ .long 3228778057
+ .long 4047204189
+ .long 3189668063
+ .long 3777557072
+ .long 3228778061
+ .long 577628716
+ .long 3189667418
+ .long 2019349136
+ .long 3228778066
+ .long 2610467089
+ .long 3189667920
+ .long 210390496
+ .long 3228778071
+ .long 2766766141
+ .long 3189668118
+ .long 2645909040
+ .long 3228778075
+ .long 3243727052
+ .long 3189668176
+ .long 736228768
+ .long 3228778080
+ .long 3122320416
+ .long 3189668130
+ .long 3071540880
+ .long 3228778084
+ .long 3131821814
+ .long 3189668172
+ .long 1062165440
+ .long 3228778089
+ .long 3213377517
+ .long 3189667895
+ .long 3298289744
+ .long 3228778093
+ .long 2564668383
+ .long 3189667569
+ .long 1190229968
+ .long 3228778098
+ .long 3238426468
+ .long 3189668376
+ .long 3328169632
+ .long 3228778102
+ .long 1168702877
+ .long 3189667512
+ .long 1122421104
+ .long 3228778107
+ .long 19789062
+ .long 3189667604
+ .long 3163164128
+ .long 3228778111
+ .long 1630085837
+ .long 3189667685
+ .long 860707408
+ .long 3228778116
+ .long 4114762240
+ .long 3189667464
+ .long 2805226992
+ .long 3228778120
+ .long 18835043
+ .long 3189667485
+ .long 407027936
+ .long 3228778125
+ .long 1254882039
+ .long 3189668241
+ .long 2256282720
+ .long 3228778129
+ .long 1578671063
+ .long 3189668264
+ .long 4058260128
+ .long 3228778133
+ .long 2087871538
+ .long 3189668330
+ .long 1518227216
+ .long 3228778138
+ .long 1874562670
+ .long 3189667466
+ .long 3226351136
+ .long 3228778142
+ .long 1975306748
+ .long 3189668156
+ .long 592928208
+ .long 3228778147
+ .long 2027557844
+ .long 3189668223
+ .long 2208122192
+ .long 3228778151
+ .long 3385698680
+ .long 3189668056
+ .long 3777193280
+ .long 3228778155
+ .long 2370310143
+ .long 3189667586
+ .long 1005399968
+ .long 3228778160
+ .long 259325820
+ .long 3189668365
+ .long 2482901056
+ .long 3228778164
+ .long 780809723
+ .long 3189667443
+ .long 3914951728
+ .long 3228778168
+ .long 212773867
+ .long 3189667618
+ .long 1006805600
+ .long 3228778173
+ .long 951469551
+ .long 3189668212
+ .long 2348616576
+ .long 3228778177
+ .long 2086655720
+ .long 3189668128
+ .long 3645635056
+ .long 3228778181
+ .long 2113468742
+ .long 3189667868
+ .long 603109872
+ .long 3228778186
+ .long 1652875995
+ .long 3189667443
+ .long 1811190160
+ .long 3228778190
+ .long 2629878773
+ .long 3189668368
+ .long 2975121696
+ .long 3228778194
+ .long 346123600
+ .long 3189667455
+ .long 4095115920
+ .long 3228778198
+ .long 3526019824
+ .long 3189667996
+ .long 876415552
+ .long 3228778203
+ .long 1439312045
+ .long 3189667395
+ .long 1909163616
+ .long 3228778207
+ .long 3349683269
+ .long 3189668324
+ .long 2898599856
+ .long 3228778211
+ .long 649479362
+ .long 3189667358
+ .long 3844929728
+ .long 3228778215
+ .long 2676997587
+ .long 3189668158
+ .long 453390032
+ .long 3228778220
+ .long 848895008
+ .long 3189668036
+ .long 1314117952
+ .long 3228778224
+ .long 3492148440
+ .long 3189668045
+ .long 2132347376
+ .long 3228778228
+ .long 281429102
+ .long 3189667715
+ .long 2908278048
+ .long 3228778232
+ .long 2940038679
+ .long 3189667953
+ .long 3642108336
+ .long 3228778236
+ .long 3909547671
+ .long 3189667808
+ .long 39067888
+ .long 3228778241
+ .long 3920787602
+ .long 3189668378
+ .long 689286912
+ .long 3228778245
+ .long 1690865565
+ .long 3189667500
+ .long 1297992288
+ .long 3228778249
+ .long 2169866692
+ .long 3189667738
+ .long 1865376896
+ .long 3228778253
+ .long 967083596
+ .long 3189667983
+ .long 2391632256
+ .long 3228778257
+ .long 1361458469
+ .long 3189668348
+ .long 2876948576
+ .long 3228778261
+ .long 32611984
+ .long 3189667893
+ .long 3321514720
+ .long 3228778265
+ .long 2193827755
+ .long 3189667454
+ .long 3725518240
+ .long 3228778269
+ .long 2245419299
+ .long 3189668375
+ .long 4089145456
+ .long 3228778273
+ .long 3497133018
+ .long 3189668150
+ .long 117614048
+ .long 3228778278
+ .long 175818393
+ .long 3189668353
+ .long 401042352
+ .long 3228778282
+ .long 3839976210
+ .long 3189668213
+ .long 644645552
+ .long 3228778286
+ .long 3041010480
+ .long 3189667412
+ .long 848604848
+ .long 3228778290
+ .long 2760940853
+ .long 3189667832
+ .long 1013100256
+ .long 3228778294
+ .long 2385564198
+ .long 3189668140
+ .long 1138310560
+ .long 3228778298
+ .long 2892472831
+ .long 3189667574
+ .long 1224413296
+ .long 3228778302
+ .long 781676890
+ .long 3189667676
+ .long 1271584832
+ .long 3228778306
+ .long 3578454272
+ .long 3189667868
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 0
+ .long 2256045239
+ .long 3209413770
+ .long 2491592457
+ .long 3210460574
+ .long 1804910333
+ .long 3211053321
+ .long 1914826022
+ .long 3211505620
+ .long 3803025062
+ .long 3211872665
+ .long 1674748349
+ .long 3212097941
+ .long 1798374224
+ .long 3212322782
+ .long 2768032015
+ .long 3212547190
+ .long 3136444289
+ .long 3212771167
+ .long 2855105875
+ .long 3212915789
+ .long 2332612951
+ .long 3213027349
+ .long 1363424900
+ .long 3213138696
+ .long 3437629661
+ .long 3213249830
+ .long 3435456176
+ .long 3213360753
+ .long 512327647
+ .long 3213471466
+ .long 2393978768
+ .long 3213581968
+ .long 3901767770
+ .long 3213692261
+ .long 4132692718
+ .long 3213802346
+ .long 1082284973
+ .long 3213898832
+ .long 2823056504
+ .long 3213953667
+ .long 366152305
+ .long 3214008400
+ .long 3959556563
+ .long 3214063029
+ .long 2367110801
+ .long 3214117557
+ .long 1523289056
+ .long 3214171983
+ .long 3058430271
+ .long 3214226307
+ .long 3839215
+ .long 3214280531
+ .long 2561657861
+ .long 3214334653
+ .long 3745193976
+ .long 3214388675
+ .long 853823952
+ .long 3214442598
+ .long 4062993129
+ .long 3214496420
+ .long 2064542556
+ .long 3214550144
+ .long 721479184
+ .long 3214603769
+ .long 1593203319
+ .long 3214657295
+ .long 1935571978
+ .long 3214710723
+ .long 3290896245
+ .long 3214764053
+ .long 2898068879
+ .long 3214817286
+ .long 2282560537
+ .long 3214870422
+ .long 2961513548
+ .long 3214923461
+ .long 1074417563
+ .long 3214955210
+ .long 2820079616
+ .long 3214981633
+ .long 1021551109
+ .long 3215008009
+ .long 716013687
+ .long 3215034337
+ .long 2641666110
+ .long 3215060617
+ .long 3237753164
+ .long 3215086850
+ .long 3234528909
+ .long 3215113036
+ .long 3358317786
+ .long 3215139175
+ .long 36575458
+ .long 3215165268
+ .long 2577785893
+ .long 3215191313
+ .long 3106717932
+ .long 3215217312
+ .long 2334256463
+ .long 3215243265
+ .long 967494986
+ .long 3215269172
+ .long 4004729818
+ .long 3215295032
+ .long 3555617588
+ .long 3215320847
+ .long 316038151
+ .long 3215346617
+ .long 3568120799
+ .long 3215372340
+ .long 1115499161
+ .long 3215398019
+ .long 2233009907
+ .long 3215423652
+ .long 3306979906
+ .long 3215449240
+ .long 720153405
+ .long 3215474784
+ .long 3736618996
+ .long 3215500282
+ .long 142096100
+ .long 3215525737
+ .long 3488599868
+ .long 3215551146
+ .long 1554858050
+ .long 3215576512
+ .long 3590975466
+ .long 3215601833
+ .long 1663752343
+ .long 3215627111
+ .long 721479184
+ .long 3215652345
+ .long 1414091172
+ .long 3215677535
+ .long 93191556
+ .long 3215702682
+ .long 1696976726
+ .long 3215727785
+ .long 2570390009
+ .long 3215752845
+ .long 3350046349
+ .long 3215777862
+ .long 374320308
+ .long 3215802837
+ .long 2863237644
+ .long 3215827768
+ .long 2853726453
+ .long 3215852657
+ .long 969442960
+ .long 3215877504
+ .long 2125826056
+ .long 3215902308
+ .long 2645217056
+ .long 3215927070
+ .long 3141783046
+ .long 3215951790
+ .long 4226570871
+ .long 3215976468
+ .long 3253764118
+ .long 3215991848
+ .long 999795016
+ .long 3216004146
+ .long 4242218727
+ .long 3216016422
+ .long 395520918
+ .long 3216028679
+ .long 2642482782
+ .long 3216040914
+ .long 2689550894
+ .long 3216053129
+ .long 831618312
+ .long 3216065324
+ .long 1657067230
+ .long 3216077498
+ .long 1162876950
+ .long 3216089652
+ .long 3934502846
+ .long 3216101785
+ .long 1671049587
+ .long 3216113899
+ .long 3250051821
+ .long 3216125992
+ .long 367745354
+ .long 3216138066
+ .long 1898814972
+ .long 3216150119
+ .long 3831632753
+ .long 3216162152
+ .long 2153169263
+ .long 3216174166
+ .long 1438937368
+ .long 3216186160
+ .long 1968099508
+ .long 3216198134
+ .long 4018444062
+ .long 3216210088
+ .long 3571427061
+ .long 3216222023
+ .long 902115705
+ .long 3216233939
+ .long 579197221
+ .long 3216245835
+ .long 2875053055
+ .long 3216257711
+ .long 3765767585
+ .long 3216269568
+ .long 3521071355
+ .long 3216281406
+ .long 2409382351
+ .long 3216293225
+ .long 697814500
+ .long 3216305025
+ .long 2947153405
+ .long 3216316805
+ .long 831995525
+ .long 3216328567
+ .long 3205527541
+ .long 3216340309
+ .long 1739796226
+ .long 3216352033
+ .long 990487678
+ .long 3216363738
+ .long 1217066237
+ .long 3216375424
+ .long 2677749815
+ .long 3216387091
+ .long 1334550573
+ .long 3216398740
+ .long 1738184714
+ .long 3216410370
+ .long 4143178441
+ .long 3216421981
+ .long 212908442
+ .long 3216433575
+ .long 3084380679
+ .long 3216445149
+ .long 123597797
+ .long 3216456706
+ .long 170206973
+ .long 3216468244
+ .long 3472736381
+ .long 3216479763
+ .long 1688602678
+ .long 3216491265
+ .long 3653922191
+ .long 3216502748
+ .long 1023779914
+ .long 3216514214
+ .long 2631975180
+ .long 3216525661
+ .long 131290539
+ .long 3216537091
+ .long 2353237313
+ .long 3216548502
+ .long 948324365
+ .long 3216559896
+ .long 450836243
+ .long 3216571272
+ .long 1098971024
+ .long 3216582630
+ .long 3129814575
+ .long 3216593970
+ .long 2484380169
+ .long 3216605293
+ .long 3692517238
+ .long 3216616598
+ .long 2693048988
+ .long 3216627886
+ .long 4013648344
+ .long 3216639156
+ .long 3590975466
+ .long 3216650409
+ .long 1655586284
+ .long 3216661645
+ .long 2731939102
+ .long 3216672863
+ .long 2753499254
+ .long 3216684064
+ .long 1947647495
+ .long 3216695248
+ .long 540719148
+ .long 3216706415
+ .long 3052977802
+ .long 3216717564
+ .long 1118752477
+ .long 3216728697
+ .long 3551215000
+ .long 3216739812
+ .long 1982647887
+ .long 3216750911
+ .long 929221623
+ .long 3216761993
+ .long 611131637
+ .long 3216773058
+ .long 1247571711
+ .long 3216784106
+ .long 3056740043
+ .long 3216795137
+ .long 1960877976
+ .long 3216806152
+ .long 2471177857
+ .long 3216817150
+ .long 507919781
+ .long 3216828132
+ .long 580346667
+ .long 3216839097
+ .long 2901768203
+ .long 3216850045
+ .long 3389566649
+ .long 3216860977
+ .long 2255137180
+ .long 3216871893
+ .long 4003893595
+ .long 3216882792
+ .long 255404805
+ .long 3216893676
+ .long 4103138823
+ .long 3216904542
+ .long 2869828094
+ .long 3216915393
+ .long 1057147997
+ .long 3216926228
+ .long 3165853160
+ .long 3216937046
+ .long 810881035
+ .long 3216947849
+ .long 2786128388
+ .long 3216958635
+ .long 704718315
+ .long 3216969406
+ .long 3358743942
+ .long 3216980160
+ .long 2359535366
+ .long 3216990899
+ .long 2202435985
+ .long 3217001622
+ .long 3086938536
+ .long 3217012329
+ .long 916690285
+ .long 3217023021
+ .long 2239683676
+ .long 3217032432
+ .long 2690954374
+ .long 3217037762
+ .long 4057646264
+ .long 3217043084
+ .long 2142368519
+ .long 3217048399
+ .long 1337238495
+ .long 3217053706
+ .long 1738982326
+ .long 3217059005
+ .long 3443904681
+ .long 3217064296
+ .long 2252923910
+ .long 3217069580
+ .long 2556476367
+ .long 3217074856
+ .long 154649628
+ .long 3217080125
+ .long 3732021368
+ .long 3217085385
+ .long 497923366
+ .long 3217090639
+ .long 3431084121
+ .long 3217095884
+ .long 4034990935
+ .long 3217101122
+ .long 2402663310
+ .long 3217106353
+ .long 2921687961
+ .long 3217111576
+ .long 1389319216
+ .long 3217116792
+ .long 2192350480
+ .long 3217122000
+ .long 1127247302
+ .long 3217127201
+ .long 2580018809
+ .long 3217132394
+ .long 2346350743
+ .long 3217137580
+ .long 516509563
+ .long 3217142759
+ .long 1475344637
+ .long 3217147930
+ .long 1017388536
+ .long 3217153094
+ .long 3526728381
+ .long 3217158250
+ .long 502171511
+ .long 3217163400
+ .long 622018689
+ .long 3217168542
+ .long 3974262445
+ .long 3217173676
+ .long 2056589177
+ .long 3217178804
+ .long 3546185020
+ .long 3217183924
+ .long 4234966846
+ .long 3217189037
+ .long 4209453505
+ .long 3217194143
+ .long 3555800579
+ .long 3217199242
+ .long 2359802410
+ .long 3217204334
+ .long 706894115
+ .long 3217209419
+ .long 2977120889
+ .long 3217214496
+ .long 665270808
+ .long 3217219567
+ .long 2445647873
+ .long 3217224630
+ .long 4107302903
+ .long 3217229686
+ .long 1438937368
+ .long 3217234736
+ .long 3113807214
+ .long 3217239778
+ .long 624953709
+ .long 3217244814
+ .long 60313751
+ .long 1069756916
+ .long 2039124234
+ .long 1069751894
+ .long 3639817142
+ .long 1069746879
+ .long 485812347
+ .long 1069741872
+ .long 1085767695
+ .long 1069736871
+ .long 1063773387
+ .long 1069731877
+ .long 339219334
+ .long 1069726890
+ .long 3126793337
+ .long 1069721909
+ .long 756610100
+ .long 1069716936
+ .long 1738980508
+ .long 1069711969
+ .long 1699638774
+ .long 1069707009
+ .long 559609852
+ .long 1069702056
+ .long 2535207687
+ .long 1069697109
+ .long 3253131575
+ .long 1069692169
+ .long 2635366323
+ .long 1069687236
+ .long 604213229
+ .long 1069682310
+ .long 1377255668
+ .long 1069677390
+ .long 582455508
+ .long 1069672477
+ .long 2438020609
+ .long 1069667570
+ .long 2572533958
+ .long 1069662670
+ .long 909853896
+ .long 1069657777
+ .long 1669112469
+ .long 1069652890
+ .long 479811889
+ .long 1069648010
+ .long 1561692097
+ .long 1069643136
+ .long 544859953
+ .long 1069638269
+ .long 1649656813
+ .long 1069633408
+ .long 506787744
+ .long 1069628554
+ .long 1337189126
+ .long 1069623706
+ .long 4067125179
+ .long 1069618864
+ .long 33219107
+ .long 1069614030
+ .long 2047222611
+ .long 1069609201
+ .long 1446341380
+ .long 1069604379
+ .long 2452971930
+ .long 1069599563
+ .long 699863591
+ .long 1069594754
+ .long 409986179
+ .long 1069589951
+ .long 1511626604
+ .long 1069585154
+ .long 3933354665
+ .long 1069580363
+ .long 3309054273
+ .long 1069575579
+ .long 3862823860
+ .long 1069570801
+ .long 1229105731
+ .long 1069566030
+ .long 3927521083
+ .long 1069561264
+ .long 3298097489
+ .long 1069556505
+ .long 3566038531
+ .long 1069551752
+ .long 733771779
+ .long 1069546492
+ .long 147741522
+ .long 1069537011
+ .long 941119220
+ .long 1069527542
+ .long 2976542023
+ .long 1069518085
+ .long 1822213927
+ .long 1069508641
+ .long 1636804890
+ .long 1069499209
+ .long 2284546202
+ .long 1069489789
+ .long 3630195051
+ .long 1069480381
+ .long 1244064508
+ .long 1069470986
+ .long 3581890024
+ .long 1069461602
+ .long 1920055674
+ .long 1069452231
+ .long 420362572
+ .long 1069442872
+ .long 3245124339
+ .long 1069433524
+ .long 1672262586
+ .long 1069424189
+ .long 4160075380
+ .long 1069414865
+ .long 1987496281
+ .long 1069405554
+ .long 3613830132
+ .long 1069396254
+ .long 319012134
+ .long 1069386967
+ .long 563343667
+ .long 1069377691
+ .long 4217685989
+ .long 1069368426
+ .long 2563457725
+ .long 1069359174
+ .long 4062436141
+ .long 1069349933
+ .long 4291983603
+ .long 1069340704
+ .long 3124914285
+ .long 1069331487
+ .long 434524433
+ .long 1069322282
+ .long 389557226
+ .long 1069313088
+ .long 2864265763
+ .long 1069303905
+ .long 3438410662
+ .long 1069294734
+ .long 1987192267
+ .long 1069285575
+ .long 2681248272
+ .long 1069276427
+ .long 1101749478
+ .long 1069267291
+ .long 1420266631
+ .long 1069258166
+ .long 3513866211
+ .long 1069249052
+ .long 2965108111
+ .long 1069239950
+ .long 3946945232
+ .long 1069230859
+ .long 2042852013
+ .long 1069221780
+ .long 1426691339
+ .long 1069212712
+ .long 1977810406
+ .long 1069203655
+ .long 3576005764
+ .long 1069194609
+ .long 1806553800
+ .long 1069185575
+ .long 845110407
+ .long 1069176552
+ .long 572806897
+ .long 1069167540
+ .long 871215109
+ .long 1069158539
+ .long 1622345234
+ .long 1069149549
+ .long 2708643653
+ .long 1069140570
+ .long 4012990793
+ .long 1069131602
+ .long 1123731696
+ .long 1069122646
+ .long 2514543080
+ .long 1069113700
+ .long 3774627456
+ .long 1069104765
+ .long 493612919
+ .long 1069095842
+ .long 1146452959
+ .long 1069086929
+ .long 1323620609
+ .long 1069078027
+ .long 910975575
+ .long 1069069136
+ .long 4089762193
+ .long 1069060255
+ .long 2156738208
+ .long 1069051386
+ .long 3588943832
+ .long 1069042527
+ .long 3978928661
+ .long 1069033679
+ .long 3214618865
+ .long 1069024842
+ .long 1184347908
+ .long 1069016016
+ .long 2071821874
+ .long 1069007200
+ .long 1471215619
+ .long 1068998395
+ .long 3567040008
+ .long 1068989600
+ .long 3954270794
+ .long 1068980816
+ .long 2523248584
+ .long 1068972043
+ .long 3459676924
+ .long 1068963280
+ .long 2359718512
+ .long 1068954528
+ .long 3409862494
+ .long 1068945786
+ .long 2207053396
+ .long 1068937055
+ .long 2938558446
+ .long 1068928334
+ .long 1202096535
+ .long 1068919624
+ .long 1185705549
+ .long 1068910924
+ .long 2782838657
+ .long 1068902234
+ .long 1592362481
+ .long 1068893555
+ .long 1803457173
+ .long 1068884886
+ .long 3310712729
+ .long 1068876227
+ .long 1714127196
+ .long 1068867579
+ .long 1204006779
+ .long 1068858941
+ .long 1676062187
+ .long 1068850313
+ .long 3026374166
+ .long 1068841695
+ .long 856424459
+ .long 1068833088
+ .long 3652963247
+ .long 1068824490
+ .long 2723236352
+ .long 1068815903
+ .long 2259754591
+ .long 1068807326
+ .long 2160422882
+ .long 1068798759
+ .long 2323505847
+ .long 1068790202
+ .long 2647626118
+ .long 1068781655
+ .long 3031762665
+ .long 1068773118
+ .long 3375249122
+ .long 1068764591
+ .long 3577772136
+ .long 1068756074
+ .long 3539369713
+ .long 1068747567
+ .long 3160429578
+ .long 1068739070
+ .long 2341687551
+ .long 1068730583
+ .long 984225923
+ .long 1068722106
+ .long 3284439142
+ .long 1068713638
+ .long 554163028
+ .long 1068705181
+ .long 1285444256
+ .long 1068696733
+ .long 1085767695
+ .long 1068688295
+ .long 4152891319
+ .long 1068679866
+ .long 1800008162
+ .long 1068671448
+ .long 2520515836
+ .long 1068663039
+ .long 1923243906
+ .long 1068654640
+ .long 4207288842
+ .long 1068646250
+ .long 687176001
+ .long 1068637871
+ .long 4152596484
+ .long 1068629500
+ .long 1623765359
+ .long 1068621140
+ .long 1596060423
+ .long 1068612789
+ .long 3975249632
+ .long 1068604447
+ .long 77489616
+ .long 1068596116
+ .long 2694095274
+ .long 1068587793
+ .long 3141865345
+ .long 1068579480
+ .long 1327852022
+ .long 1068571177
+ .long 1454392201
+ .long 1068562883
+ .long 3429171450
+ .long 1068554598
+ .long 2865222567
+ .long 1068546323
+ .long 3965826047
+ .long 1068538057
+ .long 2344639476
+ .long 1068529801
+ .long 2205565304
+ .long 1068521554
+ .long 3457847553
+ .long 1068513316
+ .long 1716070423
+ .long 1068505088
+ .long 2370117590
+ .long 1068494794
+ .long 3549949915
+ .long 1068478374
+ .long 2497601776
+ .long 1068461973
+ .long 3329575662
+ .long 1068445590
+ .long 1573040697
+ .long 1068429226
+ .long 1345699131
+ .long 1068412880
+ .long 2470881766
+ .long 1068396552
+ .long 477545290
+ .long 1068380243
+ .long 3780138808
+ .long 1068363951
+ .long 3613830132
+ .long 1068347678
+ .long 4099274231
+ .long 1068331423
+ .long 767774141
+ .long 1068315187
+ .long 2036114853
+ .long 1068298968
+ .long 3436756955
+ .long 1068282767
+ .long 502735958
+ .long 1068266585
+ .long 1652561629
+ .long 1068250420
+ .long 2420411682
+ .long 1068234273
+ .long 2635998437
+ .long 1068218144
+ .long 2129599017
+ .long 1068202033
+ .long 732052851
+ .long 1068185940
+ .long 2569726489
+ .long 1068169864
+ .long 3179609248
+ .long 1068153806
+ .long 2394212644
+ .long 1068137766
+ .long 46600658
+ .long 1068121744
+ .long 265354603
+ .long 1068105739
+ .long 2884636119
+ .long 1068089751
+ .long 3444184771
+ .long 1068073781
+ .long 1779250256
+ .long 1068057829
+ .long 2020590027
+ .long 1068041894
+ .long 4004532340
+ .long 1068025976
+ .long 3272973907
+ .long 1068010076
+ .long 3958279445
+ .long 1067994193
+ .long 1603410172
+ .long 1067978328
+ .long 341790679
+ .long 1067962480
+ .long 12404745
+ .long 1067946649
+ .long 454760348
+ .long 1067930835
+ .long 1508887391
+ .long 1067915038
+ .long 3015335440
+ .long 1067899258
+ .long 520204185
+ .long 1067883496
+ .long 2455010382
+ .long 1067867750
+ .long 71914560
+ .long 1067852022
+ .long 1803457173
+ .long 1067836310
+ .long 3197785334
+ .long 1067820615
+ .long 4098519806
+ .long 1067804937
+ .long 54818232
+ .long 1067789277
+ .long 3796209456
+ .long 1067773632
+ .long 2282918403
+ .long 1067758005
+ .long 3950504196
+ .long 1067742394
+ .long 55152364
+ .long 1067726801
+ .long 3328378382
+ .long 1067711223
+ .long 732385311
+ .long 1067695663
+ .long 704701956
+ .long 1067680119
+ .long 3093409710
+ .long 1067664591
+ .long 3452107773
+ .long 1067649080
+ .long 1629845684
+ .long 1067633586
+ .long 1771121268
+ .long 1067618108
+ .long 3725944001
+ .long 1067602646
+ .long 3049832979
+ .long 1067587201
+ .long 3888716792
+ .long 1067571772
+ .long 1799062323
+ .long 1067556360
+ .long 927741940
+ .long 1067540964
+ .long 1127129614
+ .long 1067525584
+ .long 2250066244
+ .long 1067510220
+ .long 4149857685
+ .long 1067494872
+ .long 2385305499
+ .long 1067479541
+ .long 1105606892
+ .long 1067464226
+ .long 330901792
+ .long 1067447486
+ .long 3134934760
+ .long 1067416919
+ .long 1744581096
+ .long 1067386385
+ .long 166917835
+ .long 1067355883
+ .long 2409924962
+ .long 1067325412
+ .long 3892547049
+ .long 1067294973
+ .long 34624089
+ .long 1067264567
+ .long 3436756955
+ .long 1067234191
+ .long 930630721
+ .long 1067203848
+ .long 823651223
+ .long 1067173536
+ .long 2834170318
+ .long 1067143255
+ .long 2386449519
+ .long 1067113006
+ .long 3495558248
+ .long 1067082788
+ .long 1587501032
+ .long 1067052602
+ .long 679083091
+ .long 1067022447
+ .long 493004867
+ .long 1066992323
+ .long 752825758
+ .long 1066962230
+ .long 1182960573
+ .long 1066932168
+ .long 1508676010
+ .long 1066902137
+ .long 1456087143
+ .long 1066872137
+ .long 752153937
+ .long 1066842168
+ .long 3419645073
+ .long 1066812229
+ .long 597265304
+ .long 1066782322
+ .long 604423098
+ .long 1066752445
+ .long 3171423441
+ .long 1066722598
+ .long 3734431730
+ .long 1066692782
+ .long 2025404984
+ .long 1066662997
+ .long 2072088478
+ .long 1066633242
+ .long 3608077800
+ .long 1066603517
+ .long 2072815517
+ .long 1066573823
+ .long 1496489755
+ .long 1066544159
+ .long 1615129006
+ .long 1066514525
+ .long 2165566144
+ .long 1066484921
+ .long 2885435163
+ .long 1066455347
+ .long 3513167923
+ .long 1066425803
+ .long 3281014557
+ .long 1066390787
+ .long 2604876893
+ .long 1066331819
+ .long 184567847
+ .long 1066272911
+ .long 4093204381
+ .long 1066214061
+ .long 930630721
+ .long 1066155272
+ .long 3068052312
+ .long 1066096541
+ .long 1403389294
+ .long 1066037870
+ .long 4015975920
+ .long 1065979257
+ .long 1806815988
+ .long 1065920704
+ .long 2858315029
+ .long 1065862209
+ .long 2369503088
+ .long 1065803773
+ .long 4130865093
+ .long 1065745395
+ .long 3344465584
+ .long 1065687076
+ .long 3803811842
+ .long 1065628815
+ .long 713978687
+ .long 1065570613
+ .long 2166438958
+ .long 1065512468
+ .long 3369253777
+ .long 1065454381
+ .long 3826935798
+ .long 1065396352
+ .long 1795984718
+ .long 1065323547
+ .long 1064675693
+ .long 1065207720
+ .long 182837332
+ .long 1065092008
+ .long 2466218622
+ .long 1064976410
+ .long 2643543973
+ .long 1064860927
+ .long 4036370876
+ .long 1064745558
+ .long 1379209261
+ .long 1064630304
+ .long 2294346567
+ .long 1064515163
+ .long 1522032624
+ .long 1064400136
+ .long 495642370
+ .long 1064265805
+ .long 3615182787
+ .long 1064036203
+ .long 1900236729
+ .long 1063806828
+ .long 2033862474
+ .long 1063577678
+ .long 2114800432
+ .long 1063348753
+ .long 494771388
+ .long 1062984042
+ .long 1967954106
+ .long 1062527089
+ .long 1170198565
+ .long 1061933680
+ .long 417502738
+ .long 1060884213
+ .long 0
+ .long 2147483648
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 368569247
+ .long 3223701786
+ .long 368569247
+ .long 3223701786
+ .long 368569247
+ .long 3223701786
+ .long 368569247
+ .long 3223701786
+ .long 1671522011
+ .long 1075227560
+ .long 1671522011
+ .long 1075227560
+ .long 1671522011
+ .long 1075227560
+ .long 1671522011
+ .long 1075227560
+ .long 1691548315
+ .long 3221787401
+ .long 1691548315
+ .long 3221787401
+ .long 1691548315
+ .long 3221787401
+ .long 1691548315
+ .long 3221787401
+ .long 3700771192
+ .long 1073506818
+ .long 3700771192
+ .long 1073506818
+ .long 3700771192
+ .long 1073506818
+ .long 3700771192
+ .long 1073506818
+ .long 3698831637
+ .long 3220339442
+ .long 3698831637
+ .long 3220339442
+ .long 3698831637
+ .long 3220339442
+ .long 3698831637
+ .long 3220339442
+ .long 3207479564
+ .long 1062894188
+ .long 3207479564
+ .long 1062894188
+ .long 3207479564
+ .long 1062894188
+ .long 3207479564
+ .long 1062894188
+ .long 589282582
+ .long 1068907621
+ .long 589282582
+ .long 1068907621
+ .long 589282582
+ .long 1068907621
+ .long 589282582
+ .long 1068907621
+ .long 1325131787
+ .long 3216755581
+ .long 1325131787
+ .long 3216755581
+ .long 1325131787
+ .long 3216755581
+ .long 1325131787
+ .long 3216755581
+ .long 1668232222
+ .long 1069713319
+ .long 1668232222
+ .long 1069713319
+ .long 1668232222
+ .long 1069713319
+ .long 1668232222
+ .long 1069713319
+ .long 354868790
+ .long 3217804155
+ .long 354868790
+ .long 3217804155
+ .long 354868790
+ .long 3217804155
+ .long 354868790
+ .long 3217804155
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 4294967295
+ .long 1048575
+ .long 4294967295
+ .long 1048575
+ .long 4294967295
+ .long 1048575
+ .long 4294967295
+ .long 1048575
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1062207488
+ .long 0
+ .long 1062207488
+ .long 0
+ .long 1062207488
+ .long 0
+ .long 1062207488
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 4227858432
+ .long 4294967295
+ .long 4227858432
+ .long 4294967295
+ .long 4227858432
+ .long 4294967295
+ .long 4227858432
+ .long 4294967295
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1071366144
+ .long 0
+ .long 1071366144
+ .long 0
+ .long 1071366144
+ .long 0
+ .long 1071366144
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1352597504
+ .long 1070810131
+ .long 1352597504
+ .long 1070810131
+ .long 1352597504
+ .long 1070810131
+ .long 1352597504
+ .long 1070810131
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 3296460800
+ .long 1031700412
+ .long 3296460800
+ .long 1031700412
+ .long 3296460800
+ .long 1031700412
+ .long 3296460800
+ .long 1031700412
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1082564608
+ .long 0
+ .long 1082564608
+ .long 0
+ .long 1082564608
+ .long 0
+ .long 1082564608
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1083176960
+ .long 0
+ .long 1083176960
+ .long 0
+ .long 1083176960
+ .long 0
+ .long 1083176960
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1083174912
+ .long 0
+ .long 1083174912
+ .long 0
+ .long 1083174912
+ .long 0
+ .long 1083174912
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 4293918720
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 3220176896
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 0
+ .long 0
+ .long 2147483648
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .type __svml_dlog10_data_internal,@object
+ .size __svml_dlog10_data_internal,9728
+ .align 32
+
+__dlog10_la_CoutTab:
+ .long 0
+ .long 1071366144
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 1071337728
+ .long 184549376
+ .long 1065092008
+ .long 2099961998
+ .long 3178897324
+ .long 0
+ .long 1071309312
+ .long 931135488
+ .long 1066155272
+ .long 2365712557
+ .long 3178155773
+ .long 0
+ .long 1071280896
+ .long 603979776
+ .long 1066752445
+ .long 709057215
+ .long 1031474920
+ .long 0
+ .long 1071252480
+ .long 3437232128
+ .long 1067234191
+ .long 1515412199
+ .long 3179085970
+ .long 0
+ .long 1071238272
+ .long 1105723392
+ .long 1067464226
+ .long 153915826
+ .long 3178000698
+ .long 0
+ .long 1071209856
+ .long 3328442368
+ .long 1067711223
+ .long 3899912278
+ .long 3177135692
+ .long 0
+ .long 1071181440
+ .long 341835776
+ .long 1067962480
+ .long 2509208190
+ .long 3176531222
+ .long 0
+ .long 1071167232
+ .long 2884632576
+ .long 1068089751
+ .long 1030636902
+ .long 1025224143
+ .long 0
+ .long 1071138816
+ .long 3613917184
+ .long 1068347678
+ .long 3527163461
+ .long 3177529532
+ .long 0
+ .long 1071124608
+ .long 3549954048
+ .long 1068478374
+ .long 3498894081
+ .long 3173000425
+ .long 0
+ .long 1071096192
+ .long 1623785472
+ .long 1068621140
+ .long 2889825554
+ .long 3176375375
+ .long 0
+ .long 1071081984
+ .long 1085800448
+ .long 1068688295
+ .long 4015256301
+ .long 3177184346
+ .long 0
+ .long 1071053568
+ .long 3652976640
+ .long 1068824490
+ .long 3600693529
+ .long 3175753877
+ .long 0
+ .long 1071039360
+ .long 1592393728
+ .long 1068893555
+ .long 231073830
+ .long 3177087939
+ .long 0
+ .long 1071025152
+ .long 3459645440
+ .long 1068963280
+ .long 1740576090
+ .long 1029619435
+ .long 0
+ .long 1070996736
+ .long 3774611456
+ .long 1069104765
+ .long 3858552785
+ .long 1028603845
+ .long 0
+ .long 1070982528
+ .long 845086720
+ .long 1069176552
+ .long 3138879731
+ .long 1029120443
+ .long 0
+ .long 1070968320
+ .long 3513843712
+ .long 1069249052
+ .long 2107125367
+ .long 1029044389
+ .long 0
+ .long 1070954112
+ .long 434503680
+ .long 1069322282
+ .long 3827602229
+ .long 1028932700
+ .long 0
+ .long 1070939904
+ .long 3613851648
+ .long 1069396254
+ .long 1223751955
+ .long 3176465139
+ .long 0
+ .long 1070911488
+ .long 733741056
+ .long 1069546492
+ .long 1625232067
+ .long 1029570781
+ .long 0
+ .long 1070897280
+ .long 1511620608
+ .long 1069585154
+ .long 3044605139
+ .long 1028090775
+ .long 0
+ .long 1070883072
+ .long 1337196544
+ .long 1069623706
+ .long 2602639001
+ .long 3175938675
+ .long 0
+ .long 1070868864
+ .long 2572533760
+ .long 1069662670
+ .long 3067107955
+ .long 1022933137
+ .long 0
+ .long 1070854656
+ .long 559611904
+ .long 1069702056
+ .long 764145786
+ .long 3174041535
+ .long 0
+ .long 1070840448
+ .long 485818368
+ .long 1069741872
+ .long 2037567072
+ .long 3175580956
+ .long 0
+ .long 1070826240
+ .long 259604480
+ .long 1069782128
+ .long 4012068429
+ .long 1027865895
+ .long 0
+ .long 1070812032
+ .long 3454042112
+ .long 1069822833
+ .long 2867680007
+ .long 3174202478
+ .long 0
+ .long 1070797824
+ .long 2188754944
+ .long 1069863999
+ .long 2538655286
+ .long 3175840981
+ .long 0
+ .long 1070783616
+ .long 2965241856
+ .long 1069905635
+ .long 1338936972
+ .long 3176093950
+ .long 0
+ .long 1070769408
+ .long 966279168
+ .long 1069947753
+ .long 1774547674
+ .long 3175051484
+ .long 0
+ .long 1070755200
+ .long 1604042752
+ .long 1069990363
+ .long 2557470738
+ .long 3174667448
+ .long 0
+ .long 1070740992
+ .long 3417833472
+ .long 1070033477
+ .long 2268255117
+ .long 3175678264
+ .long 0
+ .long 1070740992
+ .long 3417833472
+ .long 1070033477
+ .long 2268255117
+ .long 3175678264
+ .long 0
+ .long 1070726784
+ .long 2451292160
+ .long 1070077108
+ .long 3757728941
+ .long 1027943275
+ .long 0
+ .long 1070712576
+ .long 929644544
+ .long 1070121268
+ .long 899045708
+ .long 1027944939
+ .long 0
+ .long 1070698368
+ .long 3057254400
+ .long 1070165969
+ .long 3880649376
+ .long 3172972504
+ .long 0
+ .long 1070684160
+ .long 2231091200
+ .long 1070211226
+ .long 521319256
+ .long 1027600177
+ .long 0
+ .long 1070684160
+ .long 2231091200
+ .long 1070211226
+ .long 521319256
+ .long 1027600177
+ .long 0
+ .long 1070669952
+ .long 2620162048
+ .long 1070257052
+ .long 1385613369
+ .long 3176104036
+ .long 0
+ .long 1070655744
+ .long 2096726016
+ .long 1070303462
+ .long 3138305819
+ .long 3173646777
+ .long 0
+ .long 1070641536
+ .long 944717824
+ .long 1070350471
+ .long 1065120110
+ .long 1027539054
+ .long 0
+ .long 1070641536
+ .long 944717824
+ .long 1070350471
+ .long 1065120110
+ .long 1027539054
+ .long 0
+ .long 1070627328
+ .long 1985789952
+ .long 1070398094
+ .long 3635943864
+ .long 3173136490
+ .long 0
+ .long 1070613120
+ .long 2123825152
+ .long 1070446348
+ .long 1125219725
+ .long 3175615738
+ .long 0
+ .long 1070598912
+ .long 1078378496
+ .long 1070495250
+ .long 603852726
+ .long 3174570526
+ .long 0
+ .long 1070598912
+ .long 1078378496
+ .long 1070495250
+ .long 603852726
+ .long 3174570526
+ .long 0
+ .long 1070573312
+ .long 1537933312
+ .long 1070544817
+ .long 998069198
+ .long 1026662908
+ .long 0
+ .long 1070544896
+ .long 733773824
+ .long 1070595068
+ .long 4061058002
+ .long 3174036009
+ .long 0
+ .long 1070544896
+ .long 733773824
+ .long 1070595068
+ .long 4061058002
+ .long 3174036009
+ .long 0
+ .long 1070516480
+ .long 3897544704
+ .long 1070621058
+ .long 951856294
+ .long 1026731877
+ .long 0
+ .long 1070516480
+ .long 3897544704
+ .long 1070621058
+ .long 951856294
+ .long 1026731877
+ .long 0
+ .long 1070488064
+ .long 493535232
+ .long 1070646897
+ .long 3852369308
+ .long 3173264746
+ .long 0
+ .long 1070459648
+ .long 463249408
+ .long 1070673107
+ .long 2853152111
+ .long 3174564937
+ .long 0
+ .long 1070459648
+ .long 463249408
+ .long 1070673107
+ .long 2853152111
+ .long 3174564937
+ .long 0
+ .long 1070431232
+ .long 3186585600
+ .long 1070699699
+ .long 1874718356
+ .long 3174139933
+ .long 0
+ .long 1070431232
+ .long 3186585600
+ .long 1070699699
+ .long 1874718356
+ .long 3174139933
+ .long 0
+ .long 1070402816
+ .long 1525858304
+ .long 1070726686
+ .long 3039843523
+ .long 1024724665
+ .long 0
+ .long 1070402816
+ .long 1525858304
+ .long 1070726686
+ .long 3039843523
+ .long 1024724665
+ .long 0
+ .long 1070374400
+ .long 3425300480
+ .long 1070754078
+ .long 1303046649
+ .long 1022401701
+ .long 0
+ .long 1070374400
+ .long 3425300480
+ .long 1070754078
+ .long 1303046649
+ .long 1022401701
+ .long 0
+ .long 1070345984
+ .long 1980465152
+ .long 1070781889
+ .long 3188656319
+ .long 1027271390
+ .long 0
+ .long 1070345984
+ .long 1980465152
+ .long 1070781889
+ .long 3188656319
+ .long 1027271390
+ .long 0
+ .long 1070317568
+ .long 1352630272
+ .long 1070810131
+ .long 3090895658
+ .long 3174564915
+ .long 1352630272
+ .long 1070810131
+ .long 3090895658
+ .long 3174564915
+ .long 64
+ .long 1120927744
+ .long 0
+ .long 1096810496
+ .long 0
+ .long 1064828928
+ .long 0
+ .long 1135607808
+ .long 0
+ .long 0
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1071366144
+ .long 3207479559
+ .long 1062894188
+ .long 3698831637
+ .long 3220339442
+ .long 3700832817
+ .long 1073506818
+ .long 1691624569
+ .long 3221787401
+ .long 2065628764
+ .long 1075227551
+ .long 1770847080
+ .long 3223701774
+ .long 3786517112
+ .long 1077250450
+ .long 1316351650
+ .long 3225793313
+ .type __dlog10_la_CoutTab,@object
+ .size __dlog10_la_CoutTab,1696
+ .align 16
+
+.FLT_88:
+ .long 0x00000000,0x80000000,0x00000000,0x00000000
+ .type .FLT_88,@object
+ .size .FLT_88,16
+ .align 8
+
+.FLT_89:
+ .long 0x00000000,0x3ff00000
+ .type .FLT_89,@object
+ .size .FLT_89,8
new file mode 100644
@@ -0,0 +1,20 @@
+/* AVX2 version of vectorized log10, vector length is 8.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define _ZGVeN8v_log10 _ZGVeN8v_log10_avx2_wrapper
+#include "../svml_d_log108_core.S"
new file mode 100644
@@ -0,0 +1,27 @@
+/* Multiple versions of vectorized log10, vector length is 8.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define SYMBOL_NAME _ZGVeN8v_log10
+#include "ifunc-mathvec-avx512-skx.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVeN8v_log10, __GI__ZGVeN8v_log10, __redirect__ZGVeN8v_log10)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,1082 @@
+/* Function log10 vectorized with AVX-512.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ https://www.gnu.org/licenses/. */
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *
+ * Get short reciprocal approximation Rcp ~ 1/mantissa(x)
+ * R = Rcp*x - 1.0
+ * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R)
+ * log10(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ .section .text.evex512,"ax",@progbits
+ENTRY(_ZGVeN8v_log10_skx)
+ pushq %rbp
+ cfi_def_cfa_offset(16)
+ movq %rsp, %rbp
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+ andq $-64, %rsp
+ subq $192, %rsp
+ vmovaps %zmm0, %zmm7
+ vgetmantpd $8, {sae}, %zmm7, %zmm6
+ vmovups 128+__svml_dlog10_data_internal_avx512(%rip), %zmm3
+ vmovups 512+__svml_dlog10_data_internal_avx512(%rip), %zmm12
+ vmovups 640+__svml_dlog10_data_internal_avx512(%rip), %zmm13
+
+/* Start polynomial evaluation */
+ vmovups 256+__svml_dlog10_data_internal_avx512(%rip), %zmm10
+ vmovups 320+__svml_dlog10_data_internal_avx512(%rip), %zmm1
+ vmovups 384+__svml_dlog10_data_internal_avx512(%rip), %zmm11
+ vmovups 448+__svml_dlog10_data_internal_avx512(%rip), %zmm14
+
+/* Prepare exponent correction: DblRcp<0.75? */
+ vmovups 192+__svml_dlog10_data_internal_avx512(%rip), %zmm2
+
+/* Table lookup */
+ vmovups __svml_dlog10_data_internal_avx512(%rip), %zmm5
+
+/* GetExp(x) */
+ vgetexppd {sae}, %zmm7, %zmm0
+
+/* DblRcp ~ 1/Mantissa */
+ vrcp14pd %zmm6, %zmm8
+
+/* x<=0? */
+ vfpclasspd $94, %zmm7, %k0
+
+/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */
+ vrndscalepd $88, {sae}, %zmm8, %zmm4
+ vmovups 576+__svml_dlog10_data_internal_avx512(%rip), %zmm8
+ kmovw %k0, %edx
+
+/* Reduced argument: R = DblRcp*Mantissa - 1 */
+ vfmsub213pd {rn-sae}, %zmm3, %zmm4, %zmm6
+ vcmppd $17, {sae}, %zmm2, %zmm4, %k1
+ vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8
+ vmovups 704+__svml_dlog10_data_internal_avx512(%rip), %zmm12
+ vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm1
+ vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14
+ vmovups 768+__svml_dlog10_data_internal_avx512(%rip), %zmm2
+
+/* R^2 */
+ vmulpd {rn-sae}, %zmm6, %zmm6, %zmm15
+ vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12
+
+/* Prepare table index */
+ vpsrlq $48, %zmm4, %zmm9
+
+/* add 1 to Expon if DblRcp<0.75 */
+ vaddpd {rn-sae}, %zmm3, %zmm0, %zmm0{%k1}
+ vmulpd {rn-sae}, %zmm15, %zmm15, %zmm13
+ vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm1
+ vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8
+ vpermt2pd 64+__svml_dlog10_data_internal_avx512(%rip), %zmm9, %zmm5
+
+/* polynomial */
+ vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm1
+ vfmadd213pd {rn-sae}, %zmm2, %zmm6, %zmm1
+ vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm6
+ vmovups 832+__svml_dlog10_data_internal_avx512(%rip), %zmm1
+ vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0
+ testl %edx, %edx
+ jne L(2)
+
+L(1):
+ movq %rbp, %rsp
+ popq %rbp
+ cfi_def_cfa(7, 8)
+ cfi_restore(6)
+ ret
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+
+L(2):
+ vmovups %zmm7, 64(%rsp)
+ vmovups %zmm0, 128(%rsp)
+ je L(1)
+ xorl %eax, %eax
+ vzeroupper
+ kmovw %k4, 24(%rsp)
+ kmovw %k5, 16(%rsp)
+ kmovw %k6, 8(%rsp)
+ kmovw %k7, (%rsp)
+ movq %rsi, 40(%rsp)
+ movq %rdi, 32(%rsp)
+ movq %r12, 56(%rsp)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+ movl %eax, %r12d
+ movq %r13, 48(%rsp)
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+ movl %edx, %r13d
+ .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+L(3):
+ btl %r12d, %r13d
+ jc L(5)
+
+L(4):
+ incl %r12d
+ cmpl $8, %r12d
+ jl L(3)
+ kmovw 24(%rsp), %k4
+ cfi_restore(122)
+ kmovw 16(%rsp), %k5
+ cfi_restore(123)
+ kmovw 8(%rsp), %k6
+ cfi_restore(124)
+ kmovw (%rsp), %k7
+ cfi_restore(125)
+ vmovups 128(%rsp), %zmm0
+ movq 40(%rsp), %rsi
+ cfi_restore(4)
+ movq 32(%rsp), %rdi
+ cfi_restore(5)
+ movq 56(%rsp), %r12
+ cfi_restore(12)
+ movq 48(%rsp), %r13
+ cfi_restore(13)
+ jmp L(1)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+L(5):
+ lea 64(%rsp,%r12,8), %rdi
+ lea 128(%rsp,%r12,8), %rsi
+ call __svml_dlog10_cout_rare_internal
+ jmp L(4)
+
+END(_ZGVeN8v_log10_skx)
+
+ .align 16,0x90
+
+__svml_dlog10_cout_rare_internal:
+
+ cfi_startproc
+
+ xorl %eax, %eax
+ movzwl 6(%rdi), %edx
+ andl $32752, %edx
+ cmpl $32752, %edx
+ je L(11)
+ movsd (%rdi), %xmm2
+ xorl %ecx, %ecx
+ movsd %xmm2, -8(%rsp)
+ movzwl -2(%rsp), %edx
+ testl $32752, %edx
+ jne L(6)
+ movsd 1600+__dlog10_la_CoutTab(%rip), %xmm0
+ movl $-60, %ecx
+ mulsd %xmm0, %xmm2
+ movsd %xmm2, -8(%rsp)
+
+L(6):
+ movsd 1608+__dlog10_la_CoutTab(%rip), %xmm0
+ comisd %xmm0, %xmm2
+ jbe L(8)
+ movaps %xmm2, %xmm1
+ subsd .FLT_89(%rip), %xmm1
+ movsd %xmm1, -16(%rsp)
+ andb $127, -9(%rsp)
+ movsd -16(%rsp), %xmm0
+ comisd 1592+__dlog10_la_CoutTab(%rip), %xmm0
+ jbe L(7)
+ movsd %xmm2, -16(%rsp)
+ pxor %xmm7, %xmm7
+ movzwl -10(%rsp), %edi
+ lea __dlog10_la_CoutTab(%rip), %r10
+ andl $-32753, %edi
+ addl $16368, %edi
+ movw %di, -10(%rsp)
+ movsd -16(%rsp), %xmm3
+ movaps %xmm3, %xmm1
+ movaps %xmm3, %xmm2
+ movsd 1688+__dlog10_la_CoutTab(%rip), %xmm5
+ movzwl -2(%rsp), %edx
+ andl $32752, %edx
+ addsd 1576+__dlog10_la_CoutTab(%rip), %xmm1
+ addsd 1584+__dlog10_la_CoutTab(%rip), %xmm2
+ movsd %xmm1, -24(%rsp)
+ movl -24(%rsp), %r8d
+ movsd %xmm2, -24(%rsp)
+ andl $127, %r8d
+ movsd -24(%rsp), %xmm8
+ movsd 1560+__dlog10_la_CoutTab(%rip), %xmm9
+ movsd 1568+__dlog10_la_CoutTab(%rip), %xmm0
+ shrl $4, %edx
+ subsd 1584+__dlog10_la_CoutTab(%rip), %xmm8
+ lea (%r8,%r8,2), %r9d
+ movsd (%r10,%r9,8), %xmm6
+ lea -1023(%rcx,%rdx), %ecx
+ cvtsi2sd %ecx, %xmm7
+ subsd %xmm8, %xmm3
+ mulsd %xmm6, %xmm8
+ mulsd %xmm7, %xmm9
+ subsd 1624+__dlog10_la_CoutTab(%rip), %xmm8
+ mulsd %xmm3, %xmm6
+ mulsd %xmm0, %xmm7
+ addsd 8(%r10,%r9,8), %xmm9
+ addsd 16(%r10,%r9,8), %xmm7
+ addsd %xmm8, %xmm9
+ movaps %xmm8, %xmm4
+ addsd %xmm6, %xmm4
+ mulsd %xmm4, %xmm5
+ addsd 1680+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1672+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1664+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1656+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1648+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1640+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm4, %xmm5
+ addsd 1632+__dlog10_la_CoutTab(%rip), %xmm5
+ mulsd %xmm5, %xmm8
+ mulsd %xmm6, %xmm5
+ addsd %xmm5, %xmm7
+ addsd %xmm6, %xmm7
+ addsd %xmm7, %xmm8
+ addsd %xmm8, %xmm9
+ movsd %xmm9, (%rsi)
+ ret
+
+L(7):
+ movsd 1624+__dlog10_la_CoutTab(%rip), %xmm0
+ mulsd %xmm0, %xmm1
+ movsd 1688+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1680+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1672+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1664+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1656+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1648+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1640+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd 1632+__dlog10_la_CoutTab(%rip), %xmm2
+ mulsd %xmm1, %xmm2
+ addsd %xmm1, %xmm2
+ movsd %xmm2, (%rsi)
+ ret
+
+L(8):
+ ucomisd %xmm0, %xmm2
+ jp L(9)
+ je L(10)
+
+L(9):
+ divsd %xmm0, %xmm0
+ movsd %xmm0, (%rsi)
+ movl $1, %eax
+ ret
+
+L(10):
+ movsd 1616+__dlog10_la_CoutTab(%rip), %xmm1
+ movl $2, %eax
+ xorps .FLT_88(%rip), %xmm1
+ divsd %xmm0, %xmm1
+ movsd %xmm1, (%rsi)
+ ret
+
+L(11):
+ movb 7(%rdi), %dl
+ andb $-128, %dl
+ cmpb $-128, %dl
+ je L(13)
+
+L(12):
+ movsd (%rdi), %xmm0
+ mulsd %xmm0, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+L(13):
+ testl $1048575, 4(%rdi)
+ jne L(12)
+ cmpl $0, (%rdi)
+ jne L(12)
+ movsd 1608+__dlog10_la_CoutTab(%rip), %xmm0
+ movl $1, %eax
+ divsd %xmm0, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_dlog10_cout_rare_internal,@function
+ .size __svml_dlog10_cout_rare_internal,.-__svml_dlog10_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_dlog10_data_internal_avx512:
+ .long 0
+ .long 0
+ .long 721479184
+ .long 3214603769
+ .long 3590975466
+ .long 3215601833
+ .long 1438937368
+ .long 3216186160
+ .long 948324365
+ .long 3216559896
+ .long 2869828094
+ .long 3216915393
+ .long 516509563
+ .long 3217142759
+ .long 2145647618
+ .long 3217304702
+ .long 733771779
+ .long 1069546492
+ .long 3513866211
+ .long 1069249052
+ .long 3459676924
+ .long 1068963280
+ .long 1085767695
+ .long 1068688295
+ .long 3613830132
+ .long 1068347678
+ .long 1803457173
+ .long 1067836310
+ .long 3436756955
+ .long 1067234191
+ .long 930630721
+ .long 1066155272
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1072168960
+ .long 0
+ .long 1072168960
+ .long 0
+ .long 1072168960
+ .long 0
+ .long 1072168960
+ .long 0
+ .long 1072168960
+ .long 0
+ .long 1072168960
+ .long 0
+ .long 1072168960
+ .long 0
+ .long 1072168960
+ .long 675808112
+ .long 1068024536
+ .long 675808112
+ .long 1068024536
+ .long 675808112
+ .long 1068024536
+ .long 675808112
+ .long 1068024536
+ .long 675808112
+ .long 1068024536
+ .long 675808112
+ .long 1068024536
+ .long 675808112
+ .long 1068024536
+ .long 675808112
+ .long 1068024536
+ .long 2516752404
+ .long 3215710221
+ .long 2516752404
+ .long 3215710221
+ .long 2516752404
+ .long 3215710221
+ .long 2516752404
+ .long 3215710221
+ .long 2516752404
+ .long 3215710221
+ .long 2516752404
+ .long 3215710221
+ .long 2516752404
+ .long 3215710221
+ .long 2516752404
+ .long 3215710221
+ .long 4085995682
+ .long 1068483574
+ .long 4085995682
+ .long 1068483574
+ .long 4085995682
+ .long 1068483574
+ .long 4085995682
+ .long 1068483574
+ .long 4085995682
+ .long 1068483574
+ .long 4085995682
+ .long 1068483574
+ .long 4085995682
+ .long 1068483574
+ .long 4085995682
+ .long 1068483574
+ .long 879025280
+ .long 3216148390
+ .long 879025280
+ .long 3216148390
+ .long 879025280
+ .long 3216148390
+ .long 879025280
+ .long 3216148390
+ .long 879025280
+ .long 3216148390
+ .long 879025280
+ .long 3216148390
+ .long 879025280
+ .long 3216148390
+ .long 879025280
+ .long 3216148390
+ .long 2004821977
+ .long 1068907618
+ .long 2004821977
+ .long 1068907618
+ .long 2004821977
+ .long 1068907618
+ .long 2004821977
+ .long 1068907618
+ .long 2004821977
+ .long 1068907618
+ .long 2004821977
+ .long 1068907618
+ .long 2004821977
+ .long 1068907618
+ .long 2004821977
+ .long 1068907618
+ .long 356255395
+ .long 3216755579
+ .long 356255395
+ .long 3216755579
+ .long 356255395
+ .long 3216755579
+ .long 356255395
+ .long 3216755579
+ .long 356255395
+ .long 3216755579
+ .long 356255395
+ .long 3216755579
+ .long 356255395
+ .long 3216755579
+ .long 356255395
+ .long 3216755579
+ .long 1668235916
+ .long 1069713319
+ .long 1668235916
+ .long 1069713319
+ .long 1668235916
+ .long 1069713319
+ .long 1668235916
+ .long 1069713319
+ .long 1668235916
+ .long 1069713319
+ .long 1668235916
+ .long 1069713319
+ .long 1668235916
+ .long 1069713319
+ .long 1668235916
+ .long 1069713319
+ .long 354870491
+ .long 3217804155
+ .long 354870491
+ .long 3217804155
+ .long 354870491
+ .long 3217804155
+ .long 354870491
+ .long 3217804155
+ .long 354870491
+ .long 3217804155
+ .long 354870491
+ .long 3217804155
+ .long 354870491
+ .long 3217804155
+ .long 354870491
+ .long 3217804155
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .long 354870542
+ .long 1071369083
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .long 1352628735
+ .long 1070810131
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 120
+ .long 0
+ .long 120
+ .long 0
+ .long 120
+ .long 0
+ .long 120
+ .long 0
+ .long 120
+ .long 0
+ .long 120
+ .long 0
+ .long 120
+ .long 0
+ .long 120
+ .long 0
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .long 0
+ .long 1048576
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .long 4294967295
+ .long 2146435071
+ .type __svml_dlog10_data_internal_avx512,@object
+ .size __svml_dlog10_data_internal_avx512,1152
+ .align 32
+
+__dlog10_la_CoutTab:
+ .long 0
+ .long 1071366144
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 1071337728
+ .long 184549376
+ .long 1065092008
+ .long 2099961998
+ .long 3178897324
+ .long 0
+ .long 1071309312
+ .long 931135488
+ .long 1066155272
+ .long 2365712557
+ .long 3178155773
+ .long 0
+ .long 1071280896
+ .long 603979776
+ .long 1066752445
+ .long 709057215
+ .long 1031474920
+ .long 0
+ .long 1071252480
+ .long 3437232128
+ .long 1067234191
+ .long 1515412199
+ .long 3179085970
+ .long 0
+ .long 1071238272
+ .long 1105723392
+ .long 1067464226
+ .long 153915826
+ .long 3178000698
+ .long 0
+ .long 1071209856
+ .long 3328442368
+ .long 1067711223
+ .long 3899912278
+ .long 3177135692
+ .long 0
+ .long 1071181440
+ .long 341835776
+ .long 1067962480
+ .long 2509208190
+ .long 3176531222
+ .long 0
+ .long 1071167232
+ .long 2884632576
+ .long 1068089751
+ .long 1030636902
+ .long 1025224143
+ .long 0
+ .long 1071138816
+ .long 3613917184
+ .long 1068347678
+ .long 3527163461
+ .long 3177529532
+ .long 0
+ .long 1071124608
+ .long 3549954048
+ .long 1068478374
+ .long 3498894081
+ .long 3173000425
+ .long 0
+ .long 1071096192
+ .long 1623785472
+ .long 1068621140
+ .long 2889825554
+ .long 3176375375
+ .long 0
+ .long 1071081984
+ .long 1085800448
+ .long 1068688295
+ .long 4015256301
+ .long 3177184346
+ .long 0
+ .long 1071053568
+ .long 3652976640
+ .long 1068824490
+ .long 3600693529
+ .long 3175753877
+ .long 0
+ .long 1071039360
+ .long 1592393728
+ .long 1068893555
+ .long 231073830
+ .long 3177087939
+ .long 0
+ .long 1071025152
+ .long 3459645440
+ .long 1068963280
+ .long 1740576090
+ .long 1029619435
+ .long 0
+ .long 1070996736
+ .long 3774611456
+ .long 1069104765
+ .long 3858552785
+ .long 1028603845
+ .long 0
+ .long 1070982528
+ .long 845086720
+ .long 1069176552
+ .long 3138879731
+ .long 1029120443
+ .long 0
+ .long 1070968320
+ .long 3513843712
+ .long 1069249052
+ .long 2107125367
+ .long 1029044389
+ .long 0
+ .long 1070954112
+ .long 434503680
+ .long 1069322282
+ .long 3827602229
+ .long 1028932700
+ .long 0
+ .long 1070939904
+ .long 3613851648
+ .long 1069396254
+ .long 1223751955
+ .long 3176465139
+ .long 0
+ .long 1070911488
+ .long 733741056
+ .long 1069546492
+ .long 1625232067
+ .long 1029570781
+ .long 0
+ .long 1070897280
+ .long 1511620608
+ .long 1069585154
+ .long 3044605139
+ .long 1028090775
+ .long 0
+ .long 1070883072
+ .long 1337196544
+ .long 1069623706
+ .long 2602639001
+ .long 3175938675
+ .long 0
+ .long 1070868864
+ .long 2572533760
+ .long 1069662670
+ .long 3067107955
+ .long 1022933137
+ .long 0
+ .long 1070854656
+ .long 559611904
+ .long 1069702056
+ .long 764145786
+ .long 3174041535
+ .long 0
+ .long 1070840448
+ .long 485818368
+ .long 1069741872
+ .long 2037567072
+ .long 3175580956
+ .long 0
+ .long 1070826240
+ .long 259604480
+ .long 1069782128
+ .long 4012068429
+ .long 1027865895
+ .long 0
+ .long 1070812032
+ .long 3454042112
+ .long 1069822833
+ .long 2867680007
+ .long 3174202478
+ .long 0
+ .long 1070797824
+ .long 2188754944
+ .long 1069863999
+ .long 2538655286
+ .long 3175840981
+ .long 0
+ .long 1070783616
+ .long 2965241856
+ .long 1069905635
+ .long 1338936972
+ .long 3176093950
+ .long 0
+ .long 1070769408
+ .long 966279168
+ .long 1069947753
+ .long 1774547674
+ .long 3175051484
+ .long 0
+ .long 1070755200
+ .long 1604042752
+ .long 1069990363
+ .long 2557470738
+ .long 3174667448
+ .long 0
+ .long 1070740992
+ .long 3417833472
+ .long 1070033477
+ .long 2268255117
+ .long 3175678264
+ .long 0
+ .long 1070740992
+ .long 3417833472
+ .long 1070033477
+ .long 2268255117
+ .long 3175678264
+ .long 0
+ .long 1070726784
+ .long 2451292160
+ .long 1070077108
+ .long 3757728941
+ .long 1027943275
+ .long 0
+ .long 1070712576
+ .long 929644544
+ .long 1070121268
+ .long 899045708
+ .long 1027944939
+ .long 0
+ .long 1070698368
+ .long 3057254400
+ .long 1070165969
+ .long 3880649376
+ .long 3172972504
+ .long 0
+ .long 1070684160
+ .long 2231091200
+ .long 1070211226
+ .long 521319256
+ .long 1027600177
+ .long 0
+ .long 1070684160
+ .long 2231091200
+ .long 1070211226
+ .long 521319256
+ .long 1027600177
+ .long 0
+ .long 1070669952
+ .long 2620162048
+ .long 1070257052
+ .long 1385613369
+ .long 3176104036
+ .long 0
+ .long 1070655744
+ .long 2096726016
+ .long 1070303462
+ .long 3138305819
+ .long 3173646777
+ .long 0
+ .long 1070641536
+ .long 944717824
+ .long 1070350471
+ .long 1065120110
+ .long 1027539054
+ .long 0
+ .long 1070641536
+ .long 944717824
+ .long 1070350471
+ .long 1065120110
+ .long 1027539054
+ .long 0
+ .long 1070627328
+ .long 1985789952
+ .long 1070398094
+ .long 3635943864
+ .long 3173136490
+ .long 0
+ .long 1070613120
+ .long 2123825152
+ .long 1070446348
+ .long 1125219725
+ .long 3175615738
+ .long 0
+ .long 1070598912
+ .long 1078378496
+ .long 1070495250
+ .long 603852726
+ .long 3174570526
+ .long 0
+ .long 1070598912
+ .long 1078378496
+ .long 1070495250
+ .long 603852726
+ .long 3174570526
+ .long 0
+ .long 1070573312
+ .long 1537933312
+ .long 1070544817
+ .long 998069198
+ .long 1026662908
+ .long 0
+ .long 1070544896
+ .long 733773824
+ .long 1070595068
+ .long 4061058002
+ .long 3174036009
+ .long 0
+ .long 1070544896
+ .long 733773824
+ .long 1070595068
+ .long 4061058002
+ .long 3174036009
+ .long 0
+ .long 1070516480
+ .long 3897544704
+ .long 1070621058
+ .long 951856294
+ .long 1026731877
+ .long 0
+ .long 1070516480
+ .long 3897544704
+ .long 1070621058
+ .long 951856294
+ .long 1026731877
+ .long 0
+ .long 1070488064
+ .long 493535232
+ .long 1070646897
+ .long 3852369308
+ .long 3173264746
+ .long 0
+ .long 1070459648
+ .long 463249408
+ .long 1070673107
+ .long 2853152111
+ .long 3174564937
+ .long 0
+ .long 1070459648
+ .long 463249408
+ .long 1070673107
+ .long 2853152111
+ .long 3174564937
+ .long 0
+ .long 1070431232
+ .long 3186585600
+ .long 1070699699
+ .long 1874718356
+ .long 3174139933
+ .long 0
+ .long 1070431232
+ .long 3186585600
+ .long 1070699699
+ .long 1874718356
+ .long 3174139933
+ .long 0
+ .long 1070402816
+ .long 1525858304
+ .long 1070726686
+ .long 3039843523
+ .long 1024724665
+ .long 0
+ .long 1070402816
+ .long 1525858304
+ .long 1070726686
+ .long 3039843523
+ .long 1024724665
+ .long 0
+ .long 1070374400
+ .long 3425300480
+ .long 1070754078
+ .long 1303046649
+ .long 1022401701
+ .long 0
+ .long 1070374400
+ .long 3425300480
+ .long 1070754078
+ .long 1303046649
+ .long 1022401701
+ .long 0
+ .long 1070345984
+ .long 1980465152
+ .long 1070781889
+ .long 3188656319
+ .long 1027271390
+ .long 0
+ .long 1070345984
+ .long 1980465152
+ .long 1070781889
+ .long 3188656319
+ .long 1027271390
+ .long 0
+ .long 1070317568
+ .long 1352630272
+ .long 1070810131
+ .long 3090895658
+ .long 3174564915
+ .long 1352630272
+ .long 1070810131
+ .long 3090895658
+ .long 3174564915
+ .long 64
+ .long 1120927744
+ .long 0
+ .long 1096810496
+ .long 0
+ .long 1064828928
+ .long 0
+ .long 1135607808
+ .long 0
+ .long 0
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 1071366144
+ .long 3207479559
+ .long 1062894188
+ .long 3698831637
+ .long 3220339442
+ .long 3700832817
+ .long 1073506818
+ .long 1691624569
+ .long 3221787401
+ .long 2065628764
+ .long 1075227551
+ .long 1770847080
+ .long 3223701774
+ .long 3786517112
+ .long 1077250450
+ .long 1316351650
+ .long 3225793313
+ .type __dlog10_la_CoutTab,@object
+ .size __dlog10_la_CoutTab,1696
+ .align 16
+
+.FLT_88:
+ .long 0x00000000,0x80000000,0x00000000,0x00000000
+ .type .FLT_88,@object
+ .size .FLT_88,16
+ .align 8
+
+.FLT_89:
+ .long 0x00000000,0x3ff00000
+ .type .FLT_89,@object
+ .size .FLT_89,8
new file mode 100644
@@ -0,0 +1,20 @@
+/* AVX2 version of vectorized log10f.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define _ZGVeN16v_log10f _ZGVeN16v_log10f_avx2_wrapper
+#include "../svml_s_log10f16_core.S"
new file mode 100644
@@ -0,0 +1,28 @@
+/* Multiple versions of vectorized log10f, vector length is 16.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define SYMBOL_NAME _ZGVeN16v_log10f
+#include "ifunc-mathvec-avx512-skx.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVeN16v_log10f, __GI__ZGVeN16v_log10f,
+ __redirect__ZGVeN16v_log10f)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,727 @@
+/* Function log10f vectorized with AVX-512.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ https://www.gnu.org/licenses/. */
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *
+ * Get short reciprocal approximation Rcp ~ 1/mantissa(x)
+ * R = Rcp*x - 1.0
+ * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R)
+ * log10(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ .section .text.exex512,"ax",@progbits
+ENTRY(_ZGVeN16v_log10f_skx)
+ pushq %rbp
+ cfi_def_cfa_offset(16)
+ movq %rsp, %rbp
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+ andq $-64, %rsp
+ subq $192, %rsp
+ vgetmantps $11, {sae}, %zmm0, %zmm3
+ vmovups __svml_slog10_data_internal_avx512(%rip), %zmm1
+ vgetexpps {sae}, %zmm0, %zmm5
+ vmovups 320+__svml_slog10_data_internal_avx512(%rip), %zmm10
+ vpsrld $19, %zmm3, %zmm7
+ vgetexpps {sae}, %zmm3, %zmm6
+ vsubps {rn-sae}, %zmm1, %zmm3, %zmm11
+ vpermps 64+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm1
+ vpermps 128+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm2
+ vsubps {rn-sae}, %zmm6, %zmm5, %zmm9
+ vpermps 192+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm4
+ vpermps 256+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm8
+
+/* x<=0? */
+ vfpclassps $94, %zmm0, %k0
+ vfmadd213ps {rn-sae}, %zmm2, %zmm11, %zmm1
+ vmulps {rn-sae}, %zmm10, %zmm9, %zmm12
+ vfmadd213ps {rn-sae}, %zmm4, %zmm11, %zmm1
+ kmovw %k0, %edx
+ vfmadd213ps {rn-sae}, %zmm8, %zmm11, %zmm1
+ vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm1
+ testl %edx, %edx
+ jne L(2)
+
+L(1):
+ vmovaps %zmm1, %zmm0
+ movq %rbp, %rsp
+ popq %rbp
+ cfi_def_cfa(7, 8)
+ cfi_restore(6)
+ ret
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+
+L(2):
+ vmovups %zmm0, 64(%rsp)
+ vmovups %zmm1, 128(%rsp)
+ je L(1)
+ xorl %eax, %eax
+ vzeroupper
+ kmovw %k4, 24(%rsp)
+ kmovw %k5, 16(%rsp)
+ kmovw %k6, 8(%rsp)
+ kmovw %k7, (%rsp)
+ movq %rsi, 40(%rsp)
+ movq %rdi, 32(%rsp)
+ movq %r12, 56(%rsp)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+ movl %eax, %r12d
+ movq %r13, 48(%rsp)
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+ movl %edx, %r13d
+ .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+L(3):
+ btl %r12d, %r13d
+ jc L(5)
+
+L(4):
+ incl %r12d
+ cmpl $16, %r12d
+ jl L(3)
+ kmovw 24(%rsp), %k4
+ cfi_restore(122)
+ kmovw 16(%rsp), %k5
+ cfi_restore(123)
+ kmovw 8(%rsp), %k6
+ cfi_restore(124)
+ kmovw (%rsp), %k7
+ cfi_restore(125)
+ vmovups 128(%rsp), %zmm1
+ movq 40(%rsp), %rsi
+ cfi_restore(4)
+ movq 32(%rsp), %rdi
+ cfi_restore(5)
+ movq 56(%rsp), %r12
+ cfi_restore(12)
+ movq 48(%rsp), %r13
+ cfi_restore(13)
+ jmp L(1)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+L(5):
+ lea 64(%rsp,%r12,4), %rdi
+ lea 128(%rsp,%r12,4), %rsi
+ call __svml_slog10_cout_rare_internal
+ jmp L(4)
+
+END(_ZGVeN16v_log10f_skx)
+
+ .align 16,0x90
+
+__svml_slog10_cout_rare_internal:
+
+ cfi_startproc
+
+ xorl %eax, %eax
+ movzwl 2(%rdi), %edx
+ andl $32640, %edx
+ cmpl $32640, %edx
+ je L(11)
+ movss (%rdi), %xmm2
+ xorl %ecx, %ecx
+ movss %xmm2, -16(%rsp)
+ movzwl -14(%rsp), %edx
+ testl $32640, %edx
+ jne L(6)
+ mulss .FLT_77(%rip), %xmm2
+ movl $-40, %ecx
+ movss %xmm2, -16(%rsp)
+
+L(6):
+ pxor %xmm0, %xmm0
+ comiss %xmm0, %xmm2
+ jbe L(8)
+ movaps %xmm2, %xmm1
+ subss .FLT_93(%rip), %xmm1
+ movss %xmm1, -20(%rsp)
+ andb $127, -17(%rsp)
+ movss -20(%rsp), %xmm0
+ comiss .FLT_78(%rip), %xmm0
+ jbe L(7)
+ movss %xmm2, -20(%rsp)
+ pxor %xmm8, %xmm8
+ movzwl -18(%rsp), %edi
+ lea __slog10_la_CoutTab(%rip), %r10
+ andl $-32641, %edi
+ addl $16256, %edi
+ movw %di, -18(%rsp)
+ movss -20(%rsp), %xmm3
+ movaps %xmm3, %xmm0
+ movss .FLT_80(%rip), %xmm2
+ movaps %xmm2, %xmm1
+ addss .FLT_79(%rip), %xmm0
+ addss %xmm3, %xmm1
+ movss %xmm0, -24(%rsp)
+ movl -24(%rsp), %r8d
+ movss %xmm1, -24(%rsp)
+ andl $127, %r8d
+ movss -24(%rsp), %xmm9
+ movss .FLT_89(%rip), %xmm6
+ subss %xmm2, %xmm9
+ movzwl -14(%rsp), %edx
+ lea (%r8,%r8,2), %r9d
+ movss (%r10,%r9,4), %xmm7
+ andl $32640, %edx
+ shrl $7, %edx
+ subss %xmm9, %xmm3
+ mulss %xmm7, %xmm9
+ mulss %xmm3, %xmm7
+ subss .FLT_81(%rip), %xmm9
+ movaps %xmm9, %xmm4
+ lea -127(%rcx,%rdx), %ecx
+ cvtsi2ss %ecx, %xmm8
+ addss %xmm7, %xmm4
+ mulss %xmm4, %xmm6
+ movss .FLT_90(%rip), %xmm10
+ mulss %xmm8, %xmm10
+ addss .FLT_88(%rip), %xmm6
+ addss 4(%r10,%r9,4), %xmm10
+ mulss %xmm4, %xmm6
+ addss %xmm9, %xmm10
+ addss .FLT_87(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ movss .FLT_91(%rip), %xmm5
+ mulss %xmm5, %xmm8
+ addss .FLT_86(%rip), %xmm6
+ addss 8(%r10,%r9,4), %xmm8
+ mulss %xmm4, %xmm6
+ addss .FLT_85(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_84(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_83(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_82(%rip), %xmm6
+ mulss %xmm6, %xmm9
+ mulss %xmm7, %xmm6
+ addss %xmm6, %xmm8
+ addss %xmm7, %xmm8
+ addss %xmm8, %xmm9
+ addss %xmm9, %xmm10
+ movss %xmm10, (%rsi)
+ ret
+
+L(7):
+ movss .FLT_81(%rip), %xmm0
+ mulss %xmm0, %xmm1
+ movss .FLT_89(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_88(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_87(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_86(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_85(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_84(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_83(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_82(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss %xmm1, %xmm2
+ movss %xmm2, (%rsi)
+ ret
+
+L(8):
+ ucomiss %xmm0, %xmm2
+ jp L(9)
+ je L(10)
+
+L(9):
+ divss %xmm0, %xmm0
+ movss %xmm0, (%rsi)
+ movl $1, %eax
+ ret
+
+L(10):
+ movss .FLT_92(%rip), %xmm1
+ movl $2, %eax
+ divss %xmm0, %xmm1
+ movss %xmm1, (%rsi)
+ ret
+
+L(11):
+ movb 3(%rdi), %dl
+ andb $-128, %dl
+ cmpb $-128, %dl
+ je L(13)
+
+L(12):
+ movss (%rdi), %xmm0
+ mulss %xmm0, %xmm0
+ movss %xmm0, (%rsi)
+ ret
+
+L(13):
+ testl $8388607, (%rdi)
+ jne L(12)
+ movl $1, %eax
+ pxor %xmm1, %xmm1
+ pxor %xmm0, %xmm0
+ divss %xmm0, %xmm1
+ movss %xmm1, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_slog10_cout_rare_internal,@function
+ .size __svml_slog10_cout_rare_internal,.-__svml_slog10_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_slog10_data_internal_avx512:
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 3184111259
+ .long 3181837556
+ .long 3180047478
+ .long 3177957936
+ .long 3175655835
+ .long 3173780127
+ .long 3172237531
+ .long 3170958066
+ .long 3196205737
+ .long 3194315592
+ .long 3192585145
+ .long 3191105685
+ .long 3189833727
+ .long 3188734475
+ .long 3187779868
+ .long 3186223182
+ .long 1041488008
+ .long 1041279100
+ .long 1040946627
+ .long 1040547595
+ .long 1040048184
+ .long 1039171801
+ .long 1038306334
+ .long 1037468467
+ .long 1034710670
+ .long 1037388369
+ .long 1039339328
+ .long 1040458589
+ .long 1040937011
+ .long 1041247376
+ .long 1041427373
+ .long 1041506296
+ .long 3193854619
+ .long 3193841271
+ .long 3193799669
+ .long 3193724950
+ .long 3193617675
+ .long 3193480957
+ .long 3193318914
+ .long 3193135864
+ .long 3194544764
+ .long 3194251079
+ .long 3194067571
+ .long 3193958490
+ .long 3193898352
+ .long 3193869008
+ .long 3193857579
+ .long 3193854984
+ .long 1054759896
+ .long 1054759749
+ .long 1054758872
+ .long 1054756529
+ .long 1054752055
+ .long 1054744934
+ .long 1054734809
+ .long 1054721467
+ .long 1054738669
+ .long 1054749415
+ .long 1054755175
+ .long 1054758032
+ .long 1054759295
+ .long 1054759760
+ .long 1054759882
+ .long 1054759897
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .type __svml_slog10_data_internal_avx512,@object
+ .size __svml_slog10_data_internal_avx512,384
+ .align 32
+
+__slog10_la_CoutTab:
+ .long 1121868800
+ .long 0
+ .long 0
+ .long 1121641104
+ .long 1004535808
+ .long 912917177
+ .long 1121413408
+ .long 1013055488
+ .long 3065901602
+ .long 1121185712
+ .long 1017839616
+ .long 3083361151
+ .long 1120958016
+ .long 1021673472
+ .long 929297206
+ .long 1120844168
+ .long 1023524864
+ .long 3077496589
+ .long 1120616472
+ .long 1025499136
+ .long 3070500046
+ .long 1120388776
+ .long 1027506176
+ .long 912271551
+ .long 1120274928
+ .long 1028521984
+ .long 927716856
+ .long 1120047232
+ .long 1030586368
+ .long 923757491
+ .long 1119933384
+ .long 1031634944
+ .long 3056752848
+ .long 1119705688
+ .long 1032775680
+ .long 917029265
+ .long 1119591840
+ .long 1033314304
+ .long 3065085585
+ .long 1119364144
+ .long 1034403840
+ .long 3064614024
+ .long 1119250296
+ .long 1034954752
+ .long 921091539
+ .long 1119136448
+ .long 1035513856
+ .long 3057436454
+ .long 1118908752
+ .long 1036644352
+ .long 922468856
+ .long 1118794904
+ .long 1037219840
+ .long 3049155845
+ .long 1118681056
+ .long 1037799424
+ .long 904301451
+ .long 1118567208
+ .long 1038385152
+ .long 908617625
+ .long 1118453360
+ .long 1038977024
+ .long 905362229
+ .long 1118225664
+ .long 1040179200
+ .long 3027570914
+ .long 1118111816
+ .long 1040488448
+ .long 882280038
+ .long 1117997968
+ .long 1040796672
+ .long 911375775
+ .long 1117884120
+ .long 1041108480
+ .long 904500572
+ .long 1117770272
+ .long 1041423872
+ .long 3057579304
+ .long 1117656424
+ .long 1041742336
+ .long 3053334705
+ .long 1117542576
+ .long 1042064384
+ .long 3053389931
+ .long 1117428728
+ .long 1042390016
+ .long 3051561465
+ .long 1117314880
+ .long 1042719232
+ .long 3011187895
+ .long 1117201032
+ .long 1043052544
+ .long 3059907089
+ .long 1117087184
+ .long 1043389440
+ .long 3057005374
+ .long 1116973336
+ .long 1043729920
+ .long 911932638
+ .long 1116859488
+ .long 1044075008
+ .long 892958461
+ .long 1116859488
+ .long 1044075008
+ .long 892958461
+ .long 1116745640
+ .long 1044424192
+ .long 3048660547
+ .long 1116631792
+ .long 1044777472
+ .long 3049032043
+ .long 1116517944
+ .long 1045134848
+ .long 906867152
+ .long 1116404096
+ .long 1045496832
+ .long 911484894
+ .long 1116404096
+ .long 1045496832
+ .long 911484894
+ .long 1116290248
+ .long 1045863424
+ .long 912580963
+ .long 1116176400
+ .long 1046235136
+ .long 3058440244
+ .long 1116062552
+ .long 1046610944
+ .long 895945194
+ .long 1116062552
+ .long 1046610944
+ .long 895945194
+ .long 1115948704
+ .long 1046991872
+ .long 904357324
+ .long 1115834856
+ .long 1047377920
+ .long 902293870
+ .long 1115721008
+ .long 1047769088
+ .long 907149878
+ .long 1115721008
+ .long 1047769088
+ .long 907149878
+ .long 1115529456
+ .long 1048165888
+ .long 3052029263
+ .long 1115301760
+ .long 1048567808
+ .long 3035959522
+ .long 1115301760
+ .long 1048567808
+ .long 3035959522
+ .long 1115074064
+ .long 1048775680
+ .long 892998645
+ .long 1115074064
+ .long 1048775680
+ .long 892998645
+ .long 1114846368
+ .long 1048982400
+ .long 881767775
+ .long 1114618672
+ .long 1049192064
+ .long 893839142
+ .long 1114618672
+ .long 1049192064
+ .long 893839142
+ .long 1114390976
+ .long 1049404800
+ .long 896498651
+ .long 1114390976
+ .long 1049404800
+ .long 896498651
+ .long 1114163280
+ .long 1049620736
+ .long 3033695903
+ .long 1114163280
+ .long 1049620736
+ .long 3033695903
+ .long 1113935584
+ .long 1049839872
+ .long 3029986056
+ .long 1113935584
+ .long 1049839872
+ .long 3029986056
+ .long 1113707888
+ .long 1050062336
+ .long 884671939
+ .long 1113707888
+ .long 1050062336
+ .long 884671939
+ .long 1113480192
+ .long 1050288256
+ .long 894707678
+ .long 1050279936
+ .long 964848148
+ .long 1207959616
+ .long 1174405120
+ .long 1002438656
+ .long 1400897536
+ .long 0
+ .long 1065353216
+ .long 1121868800
+ .long 3212771328
+ .long 3079888218
+ .long 870463078
+ .long 2957202361
+ .long 749987585
+ .long 2838272395
+ .long 631921661
+ .long 2720751022
+ .type __slog10_la_CoutTab,@object
+ .size __slog10_la_CoutTab,848
+ .align 4
+
+.FLT_77:
+ .long 0x53800000
+ .type .FLT_77,@object
+ .size .FLT_77,4
+ .align 4
+
+.FLT_78:
+ .long 0x3bc00000
+ .type .FLT_78,@object
+ .size .FLT_78,4
+ .align 4
+
+.FLT_79:
+ .long 0x48000040
+ .type .FLT_79,@object
+ .size .FLT_79,4
+ .align 4
+
+.FLT_80:
+ .long 0x46000000
+ .type .FLT_80,@object
+ .size .FLT_80,4
+ .align 4
+
+.FLT_81:
+ .long 0x42de5c00
+ .type .FLT_81,@object
+ .size .FLT_81,4
+ .align 4
+
+.FLT_82:
+ .long 0xbf7f0000
+ .type .FLT_82,@object
+ .size .FLT_82,4
+ .align 4
+
+.FLT_83:
+ .long 0xb7935d5a
+ .type .FLT_83,@object
+ .size .FLT_83,4
+ .align 4
+
+.FLT_84:
+ .long 0x33e23666
+ .type .FLT_84,@object
+ .size .FLT_84,4
+ .align 4
+
+.FLT_85:
+ .long 0xb04353b9
+ .type .FLT_85,@object
+ .size .FLT_85,4
+ .align 4
+
+.FLT_86:
+ .long 0x2cb3e701
+ .type .FLT_86,@object
+ .size .FLT_86,4
+ .align 4
+
+.FLT_87:
+ .long 0xa92c998b
+ .type .FLT_87,@object
+ .size .FLT_87,4
+ .align 4
+
+.FLT_88:
+ .long 0x25aa5bfd
+ .type .FLT_88,@object
+ .size .FLT_88,4
+ .align 4
+
+.FLT_89:
+ .long 0xa22b5dae
+ .type .FLT_89,@object
+ .size .FLT_89,4
+ .align 4
+
+.FLT_90:
+ .long 0x3e9a0000
+ .type .FLT_90,@object
+ .size .FLT_90,4
+ .align 4
+
+.FLT_91:
+ .long 0x39826a14
+ .type .FLT_91,@object
+ .size .FLT_91,4
+ .align 4
+
+.FLT_92:
+ .long 0xbf800000
+ .type .FLT_92,@object
+ .size .FLT_92,4
+ .align 4
+
+.FLT_93:
+ .long 0x3f800000
+ .type .FLT_93,@object
+ .size .FLT_93,4
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE2 version of vectorized log10f, vector length is 4.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define _ZGVbN4v_log10f _ZGVbN4v_log10f_sse2
+#include "../svml_s_log10f4_core.S"
new file mode 100644
@@ -0,0 +1,28 @@
+/* Multiple versions of vectorized log10f, vector length is 4.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define SYMBOL_NAME _ZGVbN4v_log10f
+#include "ifunc-mathvec-sse4_1.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVbN4v_log10f, __GI__ZGVbN4v_log10f,
+ __redirect__ZGVbN4v_log10f)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,1968 @@
+/* Function log10f vectorized with SSE4.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ https://www.gnu.org/licenses/. */
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *
+ * Get short reciprocal approximation Rcp ~ 1/mantissa(x)
+ * R = Rcp*x - 1.0
+ * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R)
+ * log10(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ .section .text.sse4,"ax",@progbits
+ENTRY(_ZGVbN4v_log10f_sse4)
+ pushq %rbp
+ cfi_def_cfa_offset(16)
+ movq %rsp, %rbp
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+ andq $-64, %rsp
+ subq $320, %rsp
+ movaps %xmm0, %xmm4
+
+/* reduction: compute r,n */
+ movdqu 1664+__svml_slog10_data_internal(%rip), %xmm5
+ movaps %xmm0, %xmm7
+ movdqu 1728+__svml_slog10_data_internal(%rip), %xmm3
+ psubd %xmm5, %xmm4
+ pand %xmm4, %xmm3
+ movaps %xmm0, %xmm6
+ paddd %xmm5, %xmm3
+ psrad $23, %xmm4
+ cmpltps 1280+__svml_slog10_data_internal(%rip), %xmm7
+ cmpnleps 1344+__svml_slog10_data_internal(%rip), %xmm6
+ cvtdq2ps %xmm4, %xmm2
+ subps 1792+__svml_slog10_data_internal(%rip), %xmm3
+ movups 1856+__svml_slog10_data_internal(%rip), %xmm1
+ orps %xmm6, %xmm7
+ mulps %xmm3, %xmm1
+ movaps %xmm3, %xmm6
+ mulps %xmm3, %xmm6
+
+/* combine and get argument value range mask */
+ movmskps %xmm7, %edx
+ addps 1872+__svml_slog10_data_internal(%rip), %xmm1
+ movups 1888+__svml_slog10_data_internal(%rip), %xmm4
+ mulps %xmm3, %xmm4
+ mulps %xmm6, %xmm1
+ addps 1904+__svml_slog10_data_internal(%rip), %xmm4
+ movups 1920+__svml_slog10_data_internal(%rip), %xmm5
+ addps %xmm1, %xmm4
+ mulps %xmm3, %xmm5
+ mulps %xmm6, %xmm4
+ addps 1936+__svml_slog10_data_internal(%rip), %xmm5
+ movups 1952+__svml_slog10_data_internal(%rip), %xmm1
+ addps %xmm4, %xmm5
+ mulps %xmm3, %xmm1
+ mulps %xmm5, %xmm6
+ addps 1968+__svml_slog10_data_internal(%rip), %xmm1
+ movups 1600+__svml_slog10_data_internal(%rip), %xmm4
+ addps %xmm6, %xmm1
+ mulps %xmm2, %xmm4
+ mulps %xmm3, %xmm1
+ movups 1536+__svml_slog10_data_internal(%rip), %xmm7
+ mulps %xmm7, %xmm2
+ addps 1984+__svml_slog10_data_internal(%rip), %xmm1
+ mulps %xmm1, %xmm3
+ addps %xmm3, %xmm4
+ addps %xmm2, %xmm4
+ testl %edx, %edx
+ jne L(2)
+
+L(1):
+ movaps %xmm4, %xmm0
+ movq %rbp, %rsp
+ popq %rbp
+ cfi_def_cfa(7, 8)
+ cfi_restore(6)
+ ret
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+
+L(2):
+ movups %xmm0, 192(%rsp)
+ movups %xmm4, 256(%rsp)
+ xorl %eax, %eax
+ movups %xmm8, 112(%rsp)
+ movups %xmm9, 96(%rsp)
+ movups %xmm10, 80(%rsp)
+ movups %xmm11, 64(%rsp)
+ movups %xmm12, 48(%rsp)
+ movups %xmm13, 32(%rsp)
+ movups %xmm14, 16(%rsp)
+ movups %xmm15, (%rsp)
+ movq %rsi, 136(%rsp)
+ movq %rdi, 128(%rsp)
+ movq %r12, 152(%rsp)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
+ movl %eax, %r12d
+ movq %r13, 144(%rsp)
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+ movl %edx, %r13d
+
+L(3):
+ btl %r12d, %r13d
+ jc L(5)
+
+L(4):
+ incl %r12d
+ cmpl $4, %r12d
+ jl L(3)
+ movups 112(%rsp), %xmm8
+ cfi_restore(25)
+ movups 96(%rsp), %xmm9
+ cfi_restore(26)
+ movups 80(%rsp), %xmm10
+ cfi_restore(27)
+ movups 64(%rsp), %xmm11
+ cfi_restore(28)
+ movups 48(%rsp), %xmm12
+ cfi_restore(29)
+ movups 32(%rsp), %xmm13
+ cfi_restore(30)
+ movups 16(%rsp), %xmm14
+ cfi_restore(31)
+ movups (%rsp), %xmm15
+ cfi_restore(32)
+ movq 136(%rsp), %rsi
+ cfi_restore(4)
+ movq 128(%rsp), %rdi
+ cfi_restore(5)
+ movq 152(%rsp), %r12
+ cfi_restore(12)
+ movq 144(%rsp), %r13
+ cfi_restore(13)
+ movups 256(%rsp), %xmm4
+ jmp L(1)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
+
+L(5):
+ lea 192(%rsp,%r12,4), %rdi
+ lea 256(%rsp,%r12,4), %rsi
+ call __svml_slog10_cout_rare_internal
+ jmp L(4)
+
+END(_ZGVbN4v_log10f_sse4)
+
+ .align 16,0x90
+
+__svml_slog10_cout_rare_internal:
+
+ cfi_startproc
+
+ xorl %eax, %eax
+ movzwl 2(%rdi), %edx
+ andl $32640, %edx
+ cmpl $32640, %edx
+ je L(11)
+ movss (%rdi), %xmm2
+ xorl %ecx, %ecx
+ movss %xmm2, -16(%rsp)
+ movzwl -14(%rsp), %edx
+ testl $32640, %edx
+ jne L(6)
+ mulss .FLT_83(%rip), %xmm2
+ movl $-40, %ecx
+ movss %xmm2, -16(%rsp)
+
+L(6):
+ pxor %xmm0, %xmm0
+ comiss %xmm0, %xmm2
+ jbe L(8)
+ movaps %xmm2, %xmm1
+ subss .FLT_99(%rip), %xmm1
+ movss %xmm1, -20(%rsp)
+ andb $127, -17(%rsp)
+ movss -20(%rsp), %xmm0
+ comiss .FLT_84(%rip), %xmm0
+ jbe L(7)
+ movss %xmm2, -20(%rsp)
+ pxor %xmm8, %xmm8
+ movzwl -18(%rsp), %edi
+ lea __slog10_la_CoutTab(%rip), %r10
+ andl $-32641, %edi
+ addl $16256, %edi
+ movw %di, -18(%rsp)
+ movss -20(%rsp), %xmm3
+ movaps %xmm3, %xmm0
+ movss .FLT_86(%rip), %xmm2
+ movaps %xmm2, %xmm1
+ addss .FLT_85(%rip), %xmm0
+ addss %xmm3, %xmm1
+ movss %xmm0, -24(%rsp)
+ movl -24(%rsp), %r8d
+ movss %xmm1, -24(%rsp)
+ andl $127, %r8d
+ movss -24(%rsp), %xmm9
+ movss .FLT_95(%rip), %xmm6
+ subss %xmm2, %xmm9
+ movzwl -14(%rsp), %edx
+ lea (%r8,%r8,2), %r9d
+ movss (%r10,%r9,4), %xmm7
+ andl $32640, %edx
+ shrl $7, %edx
+ subss %xmm9, %xmm3
+ mulss %xmm7, %xmm9
+ mulss %xmm3, %xmm7
+ subss .FLT_87(%rip), %xmm9
+ movaps %xmm9, %xmm4
+ lea -127(%rcx,%rdx), %ecx
+ cvtsi2ss %ecx, %xmm8
+ addss %xmm7, %xmm4
+ mulss %xmm4, %xmm6
+ movss .FLT_96(%rip), %xmm10
+ mulss %xmm8, %xmm10
+ addss .FLT_94(%rip), %xmm6
+ addss 4(%r10,%r9,4), %xmm10
+ mulss %xmm4, %xmm6
+ addss %xmm9, %xmm10
+ addss .FLT_93(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ movss .FLT_97(%rip), %xmm5
+ mulss %xmm5, %xmm8
+ addss .FLT_92(%rip), %xmm6
+ addss 8(%r10,%r9,4), %xmm8
+ mulss %xmm4, %xmm6
+ addss .FLT_91(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_90(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_89(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_88(%rip), %xmm6
+ mulss %xmm6, %xmm9
+ mulss %xmm7, %xmm6
+ addss %xmm6, %xmm8
+ addss %xmm7, %xmm8
+ addss %xmm8, %xmm9
+ addss %xmm9, %xmm10
+ movss %xmm10, (%rsi)
+ ret
+
+L(7):
+ movss .FLT_87(%rip), %xmm0
+ mulss %xmm0, %xmm1
+ movss .FLT_95(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_94(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_93(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_92(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_91(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_90(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_89(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_88(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss %xmm1, %xmm2
+ movss %xmm2, (%rsi)
+ ret
+
+L(8):
+ ucomiss %xmm0, %xmm2
+ jp L(9)
+ je L(10)
+
+L(9):
+ divss %xmm0, %xmm0
+ movss %xmm0, (%rsi)
+ movl $1, %eax
+ ret
+
+L(10):
+ movss .FLT_98(%rip), %xmm1
+ movl $2, %eax
+ divss %xmm0, %xmm1
+ movss %xmm1, (%rsi)
+ ret
+
+L(11):
+ movb 3(%rdi), %dl
+ andb $-128, %dl
+ cmpb $-128, %dl
+ je L(13)
+
+L(12):
+ movss (%rdi), %xmm0
+ mulss %xmm0, %xmm0
+ movss %xmm0, (%rsi)
+ ret
+
+L(13):
+ testl $8388607, (%rdi)
+ jne L(12)
+ movl $1, %eax
+ pxor %xmm1, %xmm1
+ pxor %xmm0, %xmm0
+ divss %xmm0, %xmm1
+ movss %xmm1, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_slog10_cout_rare_internal,@function
+ .size __svml_slog10_cout_rare_internal,.-__svml_slog10_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_slog10_data_internal:
+ .long 3256334460
+ .long 969394728
+ .long 3256334974
+ .long 969699354
+ .long 3256335486
+ .long 970041911
+ .long 3256335982
+ .long 968584717
+ .long 3256336494
+ .long 969519438
+ .long 3256336990
+ .long 968649168
+ .long 3256337502
+ .long 970165641
+ .long 3256337998
+ .long 969872020
+ .long 3256338494
+ .long 969862955
+ .long 3256338990
+ .long 970135976
+ .long 3256339470
+ .long 968591496
+ .long 3256339966
+ .long 969421411
+ .long 3256340462
+ .long 970526195
+ .long 3256340942
+ .long 969806353
+ .long 3256341422
+ .long 969356721
+ .long 3256341902
+ .long 969175014
+ .long 3256342382
+ .long 969258977
+ .long 3256342862
+ .long 969606381
+ .long 3256343342
+ .long 970215027
+ .long 3256343806
+ .long 968985590
+ .long 3256344286
+ .long 970110228
+ .long 3256344750
+ .long 969392519
+ .long 3256345214
+ .long 968927522
+ .long 3256345678
+ .long 968713169
+ .long 3256346142
+ .long 968747418
+ .long 3256346606
+ .long 969028253
+ .long 3256347070
+ .long 969553681
+ .long 3256347534
+ .long 970321733
+ .long 3256347982
+ .long 969233313
+ .long 3256348446
+ .long 970480802
+ .long 3256348894
+ .long 969867999
+ .long 3256349342
+ .long 969490179
+ .long 3256349790
+ .long 969345487
+ .long 3256350238
+ .long 969432093
+ .long 3256350686
+ .long 969748186
+ .long 3256351566
+ .long 968964541
+ .long 3256352446
+ .long 969077639
+ .long 3256353326
+ .long 970073736
+ .long 3256354190
+ .long 969842251
+ .long 3256355054
+ .long 970467209
+ .long 3256355902
+ .long 969838628
+ .long 3256356750
+ .long 970041115
+ .long 3256357582
+ .long 968965252
+ .long 3256358414
+ .long 968696192
+ .long 3256359246
+ .long 969222201
+ .long 3256360078
+ .long 970531798
+ .long 3256360894
+ .long 970516595
+ .long 3256361694
+ .long 969165599
+ .long 3256362494
+ .long 968565200
+ .long 3256363294
+ .long 968704863
+ .long 3256364094
+ .long 969574273
+ .long 3256364878
+ .long 969066179
+ .long 3256365662
+ .long 969267840
+ .long 3256366446
+ .long 970169567
+ .long 3256367214
+ .long 969664714
+ .long 3256367982
+ .long 969841134
+ .long 3256368734
+ .long 968592559
+ .long 3256369502
+ .long 970104362
+ .long 3256370254
+ .long 970173483
+ .long 3256370990
+ .long 968791339
+ .long 3256371742
+ .long 970143819
+ .long 3256372478
+ .long 970028365
+ .long 3256373214
+ .long 970534037
+ .long 3256373934
+ .long 969555746
+ .long 3256374654
+ .long 969182856
+ .long 3256375374
+ .long 969407729
+ .long 3256376094
+ .long 970222869
+ .long 3256376798
+ .long 969523769
+ .long 3256377502
+ .long 969400361
+ .long 3256378206
+ .long 969845561
+ .long 3256378894
+ .long 968755260
+ .long 3256379598
+ .long 970316935
+ .long 3256380286
+ .long 970329575
+ .long 3256380958
+ .long 968786598
+ .long 3256381646
+ .long 969875841
+ .long 3256382318
+ .long 969396649
+ .long 3256382990
+ .long 969439935
+ .long 3256383662
+ .long 969999571
+ .long 3256384318
+ .long 968972383
+ .long 3256384990
+ .long 970546758
+ .long 3256385646
+ .long 970522577
+ .long 3256386286
+ .long 968894127
+ .long 3256386942
+ .long 969850093
+ .long 3256387582
+ .long 969190651
+ .long 3256388222
+ .long 969007524
+ .long 3256388862
+ .long 969295375
+ .long 3256389502
+ .long 970048957
+ .long 3256390126
+ .long 969165958
+ .long 3256390750
+ .long 968738453
+ .long 3256391374
+ .long 968761452
+ .long 3256391998
+ .long 969230043
+ .long 3256392622
+ .long 970139398
+ .long 3256393230
+ .long 969387611
+ .long 3256393838
+ .long 969067159
+ .long 3256394446
+ .long 969173441
+ .long 3256395054
+ .long 969701929
+ .long 3256395646
+ .long 968551015
+ .long 3256396254
+ .long 969910618
+ .long 3256396846
+ .long 969582116
+ .long 3256397438
+ .long 969658411
+ .long 3256398030
+ .long 970135319
+ .long 3256398606
+ .long 968911569
+ .long 3256399198
+ .long 970177409
+ .long 3256399774
+ .long 969734540
+ .long 3256400350
+ .long 969676181
+ .long 3256400926
+ .long 969998457
+ .long 3256401486
+ .long 968600401
+ .long 3256402062
+ .long 969672558
+ .long 3256402622
+ .long 969016921
+ .long 3256403182
+ .long 968726993
+ .long 3256403742
+ .long 968799182
+ .long 3256404302
+ .long 969229944
+ .long 3256404862
+ .long 970015791
+ .long 3256405406
+ .long 969056131
+ .long 3256405966
+ .long 970541879
+ .long 3256406510
+ .long 970275391
+ .long 3256407054
+ .long 970350525
+ .long 3256407582
+ .long 968666884
+ .long 3256408126
+ .long 969415571
+ .long 3256408670
+ .long 970496282
+ .long 3256409198
+ .long 969808752
+ .long 3256409726
+ .long 969447067
+ .long 3256410254
+ .long 969408203
+ .long 3256410782
+ .long 969689179
+ .long 3256411310
+ .long 970287052
+ .long 3256411822
+ .long 969101770
+ .long 3256412350
+ .long 970324777
+ .long 3256412862
+ .long 969758945
+ .long 3256413374
+ .long 969498644
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1071862019
+ .long 1071862019
+ .long 1071862019
+ .long 1071862019
+ .long 3214137316
+ .long 3214137316
+ .long 3214137316
+ .long 3214137316
+ .long 986960742
+ .long 986960742
+ .long 986960742
+ .long 986960742
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 989855744
+ .long 989855744
+ .long 989855744
+ .long 989855744
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 8388608
+ .long 8388608
+ .long 8388608
+ .long 8388608
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 2139095039
+ .long 2139095039
+ .long 2139095039
+ .long 2139095039
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 4294967040
+ .long 4294967040
+ .long 4294967040
+ .long 4294967040
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1054736384
+ .long 1054736384
+ .long 1054736384
+ .long 1054736384
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1050288384
+ .long 1050288384
+ .long 1050288384
+ .long 1050288384
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 3058365952
+ .long 3058365952
+ .long 3058365952
+ .long 3058365952
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1059760811
+ .long 1059760811
+ .long 1059760811
+ .long 1059760811
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1031824308
+ .long 1031824308
+ .long 1031824308
+ .long 1031824308
+ .long 3179872371
+ .long 3179872371
+ .long 3179872371
+ .long 3179872371
+ .long 1031230231
+ .long 1031230231
+ .long 1031230231
+ .long 1031230231
+ .long 3180460839
+ .long 3180460839
+ .long 3180460839
+ .long 3180460839
+ .long 1035078550
+ .long 1035078550
+ .long 1035078550
+ .long 1035078550
+ .long 3185471008
+ .long 3185471008
+ .long 3185471008
+ .long 3185471008
+ .long 1041513701
+ .long 1041513701
+ .long 1041513701
+ .long 1041513701
+ .long 3193854917
+ .long 3193854917
+ .long 3193854917
+ .long 3193854917
+ .long 1054759897
+ .long 1054759897
+ .long 1054759897
+ .long 1054759897
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1036894503
+ .long 1036894503
+ .long 1036894503
+ .long 1036894503
+ .long 3186945393
+ .long 3186945393
+ .long 3186945393
+ .long 3186945393
+ .long 1041464766
+ .long 1041464766
+ .long 1041464766
+ .long 1041464766
+ .long 3193833762
+ .long 3193833762
+ .long 3193833762
+ .long 3193833762
+ .long 1054760110
+ .long 1054760110
+ .long 1054760110
+ .long 1054760110
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 2139095040
+ .long 4286578688
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1065353216
+ .long 3212836864
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 2147483648
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .type __svml_slog10_data_internal,@object
+ .size __svml_slog10_data_internal,2432
+ .align 32
+
+__slog10_la_CoutTab:
+ .long 1121868800
+ .long 0
+ .long 0
+ .long 1121641104
+ .long 1004535808
+ .long 912917177
+ .long 1121413408
+ .long 1013055488
+ .long 3065901602
+ .long 1121185712
+ .long 1017839616
+ .long 3083361151
+ .long 1120958016
+ .long 1021673472
+ .long 929297206
+ .long 1120844168
+ .long 1023524864
+ .long 3077496589
+ .long 1120616472
+ .long 1025499136
+ .long 3070500046
+ .long 1120388776
+ .long 1027506176
+ .long 912271551
+ .long 1120274928
+ .long 1028521984
+ .long 927716856
+ .long 1120047232
+ .long 1030586368
+ .long 923757491
+ .long 1119933384
+ .long 1031634944
+ .long 3056752848
+ .long 1119705688
+ .long 1032775680
+ .long 917029265
+ .long 1119591840
+ .long 1033314304
+ .long 3065085585
+ .long 1119364144
+ .long 1034403840
+ .long 3064614024
+ .long 1119250296
+ .long 1034954752
+ .long 921091539
+ .long 1119136448
+ .long 1035513856
+ .long 3057436454
+ .long 1118908752
+ .long 1036644352
+ .long 922468856
+ .long 1118794904
+ .long 1037219840
+ .long 3049155845
+ .long 1118681056
+ .long 1037799424
+ .long 904301451
+ .long 1118567208
+ .long 1038385152
+ .long 908617625
+ .long 1118453360
+ .long 1038977024
+ .long 905362229
+ .long 1118225664
+ .long 1040179200
+ .long 3027570914
+ .long 1118111816
+ .long 1040488448
+ .long 882280038
+ .long 1117997968
+ .long 1040796672
+ .long 911375775
+ .long 1117884120
+ .long 1041108480
+ .long 904500572
+ .long 1117770272
+ .long 1041423872
+ .long 3057579304
+ .long 1117656424
+ .long 1041742336
+ .long 3053334705
+ .long 1117542576
+ .long 1042064384
+ .long 3053389931
+ .long 1117428728
+ .long 1042390016
+ .long 3051561465
+ .long 1117314880
+ .long 1042719232
+ .long 3011187895
+ .long 1117201032
+ .long 1043052544
+ .long 3059907089
+ .long 1117087184
+ .long 1043389440
+ .long 3057005374
+ .long 1116973336
+ .long 1043729920
+ .long 911932638
+ .long 1116859488
+ .long 1044075008
+ .long 892958461
+ .long 1116859488
+ .long 1044075008
+ .long 892958461
+ .long 1116745640
+ .long 1044424192
+ .long 3048660547
+ .long 1116631792
+ .long 1044777472
+ .long 3049032043
+ .long 1116517944
+ .long 1045134848
+ .long 906867152
+ .long 1116404096
+ .long 1045496832
+ .long 911484894
+ .long 1116404096
+ .long 1045496832
+ .long 911484894
+ .long 1116290248
+ .long 1045863424
+ .long 912580963
+ .long 1116176400
+ .long 1046235136
+ .long 3058440244
+ .long 1116062552
+ .long 1046610944
+ .long 895945194
+ .long 1116062552
+ .long 1046610944
+ .long 895945194
+ .long 1115948704
+ .long 1046991872
+ .long 904357324
+ .long 1115834856
+ .long 1047377920
+ .long 902293870
+ .long 1115721008
+ .long 1047769088
+ .long 907149878
+ .long 1115721008
+ .long 1047769088
+ .long 907149878
+ .long 1115529456
+ .long 1048165888
+ .long 3052029263
+ .long 1115301760
+ .long 1048567808
+ .long 3035959522
+ .long 1115301760
+ .long 1048567808
+ .long 3035959522
+ .long 1115074064
+ .long 1048775680
+ .long 892998645
+ .long 1115074064
+ .long 1048775680
+ .long 892998645
+ .long 1114846368
+ .long 1048982400
+ .long 881767775
+ .long 1114618672
+ .long 1049192064
+ .long 893839142
+ .long 1114618672
+ .long 1049192064
+ .long 893839142
+ .long 1114390976
+ .long 1049404800
+ .long 896498651
+ .long 1114390976
+ .long 1049404800
+ .long 896498651
+ .long 1114163280
+ .long 1049620736
+ .long 3033695903
+ .long 1114163280
+ .long 1049620736
+ .long 3033695903
+ .long 1113935584
+ .long 1049839872
+ .long 3029986056
+ .long 1113935584
+ .long 1049839872
+ .long 3029986056
+ .long 1113707888
+ .long 1050062336
+ .long 884671939
+ .long 1113707888
+ .long 1050062336
+ .long 884671939
+ .long 1113480192
+ .long 1050288256
+ .long 894707678
+ .long 1050279936
+ .long 964848148
+ .long 1207959616
+ .long 1174405120
+ .long 1002438656
+ .long 1400897536
+ .long 0
+ .long 1065353216
+ .long 1121868800
+ .long 3212771328
+ .long 3079888218
+ .long 870463078
+ .long 2957202361
+ .long 749987585
+ .long 2838272395
+ .long 631921661
+ .long 2720751022
+ .type __slog10_la_CoutTab,@object
+ .size __slog10_la_CoutTab,848
+ .align 4
+
+.FLT_83:
+ .long 0x53800000
+ .type .FLT_83,@object
+ .size .FLT_83,4
+ .align 4
+
+.FLT_84:
+ .long 0x3bc00000
+ .type .FLT_84,@object
+ .size .FLT_84,4
+ .align 4
+
+.FLT_85:
+ .long 0x48000040
+ .type .FLT_85,@object
+ .size .FLT_85,4
+ .align 4
+
+.FLT_86:
+ .long 0x46000000
+ .type .FLT_86,@object
+ .size .FLT_86,4
+ .align 4
+
+.FLT_87:
+ .long 0x42de5c00
+ .type .FLT_87,@object
+ .size .FLT_87,4
+ .align 4
+
+.FLT_88:
+ .long 0xbf7f0000
+ .type .FLT_88,@object
+ .size .FLT_88,4
+ .align 4
+
+.FLT_89:
+ .long 0xb7935d5a
+ .type .FLT_89,@object
+ .size .FLT_89,4
+ .align 4
+
+.FLT_90:
+ .long 0x33e23666
+ .type .FLT_90,@object
+ .size .FLT_90,4
+ .align 4
+
+.FLT_91:
+ .long 0xb04353b9
+ .type .FLT_91,@object
+ .size .FLT_91,4
+ .align 4
+
+.FLT_92:
+ .long 0x2cb3e701
+ .type .FLT_92,@object
+ .size .FLT_92,4
+ .align 4
+
+.FLT_93:
+ .long 0xa92c998b
+ .type .FLT_93,@object
+ .size .FLT_93,4
+ .align 4
+
+.FLT_94:
+ .long 0x25aa5bfd
+ .type .FLT_94,@object
+ .size .FLT_94,4
+ .align 4
+
+.FLT_95:
+ .long 0xa22b5dae
+ .type .FLT_95,@object
+ .size .FLT_95,4
+ .align 4
+
+.FLT_96:
+ .long 0x3e9a0000
+ .type .FLT_96,@object
+ .size .FLT_96,4
+ .align 4
+
+.FLT_97:
+ .long 0x39826a14
+ .type .FLT_97,@object
+ .size .FLT_97,4
+ .align 4
+
+.FLT_98:
+ .long 0xbf800000
+ .type .FLT_98,@object
+ .size .FLT_98,4
+ .align 4
+
+.FLT_99:
+ .long 0x3f800000
+ .type .FLT_99,@object
+ .size .FLT_99,4
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE version of vectorized log10f, vector length is 8.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define _ZGVdN8v_log10f _ZGVdN8v_log10f_sse_wrapper
+#include "../svml_s_log10f8_core.S"
new file mode 100644
@@ -0,0 +1,28 @@
+/* Multiple versions of vectorized log10f, vector length is 8.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#define SYMBOL_NAME _ZGVdN8v_log10f
+#include "ifunc-mathvec-avx2.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVdN8v_log10f, __GI__ZGVdN8v_log10f,
+ __redirect__ZGVdN8v_log10f)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,1861 @@
+/* Function log10f vectorized with AVX2.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ https://www.gnu.org/licenses/. */
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *
+ * Get short reciprocal approximation Rcp ~ 1/mantissa(x)
+ * R = Rcp*x - 1.0
+ * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R)
+ * log10(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ .section .text.avx2,"ax",@progbits
+ENTRY(_ZGVdN8v_log10f_avx2)
+ pushq %rbp
+ cfi_def_cfa_offset(16)
+ movq %rsp, %rbp
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+ andq $-64, %rsp
+ subq $384, %rsp
+
+/* reduction: compute r,n */
+ vmovups 1728+__svml_slog10_data_internal(%rip), %ymm4
+ vmovups %ymm8, 32(%rsp)
+ vmovups %ymm9, 96(%rsp)
+ .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ vmovups 1920+__svml_slog10_data_internal(%rip), %ymm8
+ vmovups %ymm15, 320(%rsp)
+ vmovups %ymm14, 288(%rsp)
+ vmovups %ymm13, 256(%rsp)
+ vmovups %ymm12, 224(%rsp)
+ vmovups %ymm11, 192(%rsp)
+ vmovups %ymm10, 160(%rsp)
+ vpsubd %ymm4, %ymm0, %ymm1
+ vcmplt_oqps 1344+__svml_slog10_data_internal(%rip), %ymm0, %ymm5
+ vcmpnle_uqps 1408+__svml_slog10_data_internal(%rip), %ymm0, %ymm6
+ vpand 1792+__svml_slog10_data_internal(%rip), %ymm1, %ymm3
+ vpsrad $23, %ymm1, %ymm2
+ vpaddd %ymm4, %ymm3, %ymm1
+ vmovups 2048+__svml_slog10_data_internal(%rip), %ymm3
+ .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22
+ vcvtdq2ps %ymm2, %ymm9
+ vmovups 1984+__svml_slog10_data_internal(%rip), %ymm2
+ vorps %ymm6, %ymm5, %ymm7
+ vsubps 1856+__svml_slog10_data_internal(%rip), %ymm1, %ymm6
+ vmovups 2112+__svml_slog10_data_internal(%rip), %ymm5
+ vfmadd213ps 1952+__svml_slog10_data_internal(%rip), %ymm6, %ymm8
+ vfmadd213ps 2016+__svml_slog10_data_internal(%rip), %ymm6, %ymm2
+ vmulps %ymm6, %ymm6, %ymm4
+ vfmadd213ps 2080+__svml_slog10_data_internal(%rip), %ymm6, %ymm3
+ vfmadd213ps 2144+__svml_slog10_data_internal(%rip), %ymm6, %ymm5
+ vfmadd213ps %ymm2, %ymm4, %ymm8
+ vfmadd213ps %ymm3, %ymm4, %ymm8
+ vfmadd213ps %ymm5, %ymm4, %ymm8
+ vfmadd213ps 2176+__svml_slog10_data_internal(%rip), %ymm6, %ymm8
+
+/* combine and get argument value range mask */
+ vmovmskps %ymm7, %edx
+ vmulps 1664+__svml_slog10_data_internal(%rip), %ymm9, %ymm7
+ vfmadd213ps %ymm7, %ymm6, %ymm8
+ vfmadd132ps 1600+__svml_slog10_data_internal(%rip), %ymm8, %ymm9
+ testl %edx, %edx
+ jne L(2)
+
+L(1):
+ vmovaps %ymm9, %ymm0
+ vmovups 32(%rsp), %ymm8
+ cfi_restore(91)
+ vmovups 96(%rsp), %ymm9
+ cfi_restore(92)
+ vmovups 160(%rsp), %ymm10
+ cfi_restore(93)
+ vmovups 192(%rsp), %ymm11
+ cfi_restore(94)
+ vmovups 224(%rsp), %ymm12
+ cfi_restore(95)
+ vmovups 256(%rsp), %ymm13
+ cfi_restore(96)
+ vmovups 288(%rsp), %ymm14
+ cfi_restore(97)
+ vmovups 320(%rsp), %ymm15
+ cfi_restore(98)
+ movq %rbp, %rsp
+ popq %rbp
+ cfi_def_cfa(7, 8)
+ cfi_restore(6)
+ ret
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+ .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22
+
+L(2):
+ vmovups %ymm0, 64(%rsp)
+ vmovups %ymm9, 128(%rsp)
+ je L(1)
+ xorl %eax, %eax
+ vzeroupper
+ movq %rsi, 8(%rsp)
+ movq %rdi, (%rsp)
+ movq %r12, 24(%rsp)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22
+ movl %eax, %r12d
+ movq %r13, 16(%rsp)
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22
+ movl %edx, %r13d
+
+L(3):
+ btl %r12d, %r13d
+ jc L(5)
+
+L(4):
+ incl %r12d
+ cmpl $8, %r12d
+ jl L(3)
+ movq 8(%rsp), %rsi
+ cfi_restore(4)
+ movq (%rsp), %rdi
+ cfi_restore(5)
+ movq 24(%rsp), %r12
+ cfi_restore(12)
+ movq 16(%rsp), %r13
+ cfi_restore(13)
+ vmovups 128(%rsp), %ymm9
+ jmp L(1)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22
+
+L(5):
+ lea 64(%rsp,%r12,4), %rdi
+ lea 128(%rsp,%r12,4), %rsi
+ call __svml_slog10_cout_rare_internal
+ jmp L(4)
+
+END(_ZGVdN8v_log10f_avx2)
+
+ .align 16,0x90
+
+__svml_slog10_cout_rare_internal:
+
+ cfi_startproc
+
+ xorl %eax, %eax
+ movzwl 2(%rdi), %edx
+ andl $32640, %edx
+ cmpl $32640, %edx
+ je L(11)
+ movss (%rdi), %xmm2
+ xorl %ecx, %ecx
+ movss %xmm2, -16(%rsp)
+ movzwl -14(%rsp), %edx
+ testl $32640, %edx
+ jne L(6)
+ mulss .FLT_83(%rip), %xmm2
+ movl $-40, %ecx
+ movss %xmm2, -16(%rsp)
+
+L(6):
+ pxor %xmm0, %xmm0
+ comiss %xmm0, %xmm2
+ jbe L(8)
+ movaps %xmm2, %xmm1
+ subss .FLT_99(%rip), %xmm1
+ movss %xmm1, -20(%rsp)
+ andb $127, -17(%rsp)
+ movss -20(%rsp), %xmm0
+ comiss .FLT_84(%rip), %xmm0
+ jbe L(7)
+ movss %xmm2, -20(%rsp)
+ pxor %xmm8, %xmm8
+ movzwl -18(%rsp), %edi
+ lea __slog10_la_CoutTab(%rip), %r10
+ andl $-32641, %edi
+ addl $16256, %edi
+ movw %di, -18(%rsp)
+ movss -20(%rsp), %xmm3
+ movaps %xmm3, %xmm0
+ movss .FLT_86(%rip), %xmm2
+ movaps %xmm2, %xmm1
+ addss .FLT_85(%rip), %xmm0
+ addss %xmm3, %xmm1
+ movss %xmm0, -24(%rsp)
+ movl -24(%rsp), %r8d
+ movss %xmm1, -24(%rsp)
+ andl $127, %r8d
+ movss -24(%rsp), %xmm9
+ movss .FLT_95(%rip), %xmm6
+ subss %xmm2, %xmm9
+ movzwl -14(%rsp), %edx
+ lea (%r8,%r8,2), %r9d
+ movss (%r10,%r9,4), %xmm7
+ andl $32640, %edx
+ shrl $7, %edx
+ subss %xmm9, %xmm3
+ mulss %xmm7, %xmm9
+ mulss %xmm3, %xmm7
+ subss .FLT_87(%rip), %xmm9
+ movaps %xmm9, %xmm4
+ lea -127(%rcx,%rdx), %ecx
+ cvtsi2ss %ecx, %xmm8
+ addss %xmm7, %xmm4
+ mulss %xmm4, %xmm6
+ movss .FLT_96(%rip), %xmm10
+ mulss %xmm8, %xmm10
+ addss .FLT_94(%rip), %xmm6
+ addss 4(%r10,%r9,4), %xmm10
+ mulss %xmm4, %xmm6
+ addss %xmm9, %xmm10
+ addss .FLT_93(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ movss .FLT_97(%rip), %xmm5
+ mulss %xmm5, %xmm8
+ addss .FLT_92(%rip), %xmm6
+ addss 8(%r10,%r9,4), %xmm8
+ mulss %xmm4, %xmm6
+ addss .FLT_91(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_90(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_89(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_88(%rip), %xmm6
+ mulss %xmm6, %xmm9
+ mulss %xmm7, %xmm6
+ addss %xmm6, %xmm8
+ addss %xmm7, %xmm8
+ addss %xmm8, %xmm9
+ addss %xmm9, %xmm10
+ movss %xmm10, (%rsi)
+ ret
+
+L(7):
+ movss .FLT_87(%rip), %xmm0
+ mulss %xmm0, %xmm1
+ movss .FLT_95(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_94(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_93(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_92(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_91(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_90(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_89(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_88(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss %xmm1, %xmm2
+ movss %xmm2, (%rsi)
+ ret
+
+L(8):
+ ucomiss %xmm0, %xmm2
+ jp L(9)
+ je L(10)
+
+L(9):
+ divss %xmm0, %xmm0
+ movss %xmm0, (%rsi)
+ movl $1, %eax
+ ret
+
+L(10):
+ movss .FLT_98(%rip), %xmm1
+ movl $2, %eax
+ divss %xmm0, %xmm1
+ movss %xmm1, (%rsi)
+ ret
+
+L(11):
+ movb 3(%rdi), %dl
+ andb $-128, %dl
+ cmpb $-128, %dl
+ je L(13)
+
+L(12):
+ movss (%rdi), %xmm0
+ mulss %xmm0, %xmm0
+ movss %xmm0, (%rsi)
+ ret
+
+L(13):
+ testl $8388607, (%rdi)
+ jne L(12)
+ movl $1, %eax
+ pxor %xmm1, %xmm1
+ pxor %xmm0, %xmm0
+ divss %xmm0, %xmm1
+ movss %xmm1, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_slog10_cout_rare_internal,@function
+ .size __svml_slog10_cout_rare_internal,.-__svml_slog10_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_slog10_data_internal:
+ .long 3256334460
+ .long 969394728
+ .long 3256334974
+ .long 969699354
+ .long 3256335486
+ .long 970041911
+ .long 3256335982
+ .long 968584717
+ .long 3256336494
+ .long 969519438
+ .long 3256336990
+ .long 968649168
+ .long 3256337502
+ .long 970165641
+ .long 3256337998
+ .long 969872020
+ .long 3256338494
+ .long 969862955
+ .long 3256338990
+ .long 970135976
+ .long 3256339470
+ .long 968591496
+ .long 3256339966
+ .long 969421411
+ .long 3256340462
+ .long 970526195
+ .long 3256340942
+ .long 969806353
+ .long 3256341422
+ .long 969356721
+ .long 3256341902
+ .long 969175014
+ .long 3256342382
+ .long 969258977
+ .long 3256342862
+ .long 969606381
+ .long 3256343342
+ .long 970215027
+ .long 3256343806
+ .long 968985590
+ .long 3256344286
+ .long 970110228
+ .long 3256344750
+ .long 969392519
+ .long 3256345214
+ .long 968927522
+ .long 3256345678
+ .long 968713169
+ .long 3256346142
+ .long 968747418
+ .long 3256346606
+ .long 969028253
+ .long 3256347070
+ .long 969553681
+ .long 3256347534
+ .long 970321733
+ .long 3256347982
+ .long 969233313
+ .long 3256348446
+ .long 970480802
+ .long 3256348894
+ .long 969867999
+ .long 3256349342
+ .long 969490179
+ .long 3256349790
+ .long 969345487
+ .long 3256350238
+ .long 969432093
+ .long 3256350686
+ .long 969748186
+ .long 3256351566
+ .long 968964541
+ .long 3256352446
+ .long 969077639
+ .long 3256353326
+ .long 970073736
+ .long 3256354190
+ .long 969842251
+ .long 3256355054
+ .long 970467209
+ .long 3256355902
+ .long 969838628
+ .long 3256356750
+ .long 970041115
+ .long 3256357582
+ .long 968965252
+ .long 3256358414
+ .long 968696192
+ .long 3256359246
+ .long 969222201
+ .long 3256360078
+ .long 970531798
+ .long 3256360894
+ .long 970516595
+ .long 3256361694
+ .long 969165599
+ .long 3256362494
+ .long 968565200
+ .long 3256363294
+ .long 968704863
+ .long 3256364094
+ .long 969574273
+ .long 3256364878
+ .long 969066179
+ .long 3256365662
+ .long 969267840
+ .long 3256366446
+ .long 970169567
+ .long 3256367214
+ .long 969664714
+ .long 3256367982
+ .long 969841134
+ .long 3256368734
+ .long 968592559
+ .long 3256369502
+ .long 970104362
+ .long 3256370254
+ .long 970173483
+ .long 3256370990
+ .long 968791339
+ .long 3256371742
+ .long 970143819
+ .long 3256372478
+ .long 970028365
+ .long 3256373214
+ .long 970534037
+ .long 3256373934
+ .long 969555746
+ .long 3256374654
+ .long 969182856
+ .long 3256375374
+ .long 969407729
+ .long 3256376094
+ .long 970222869
+ .long 3256376798
+ .long 969523769
+ .long 3256377502
+ .long 969400361
+ .long 3256378206
+ .long 969845561
+ .long 3256378894
+ .long 968755260
+ .long 3256379598
+ .long 970316935
+ .long 3256380286
+ .long 970329575
+ .long 3256380958
+ .long 968786598
+ .long 3256381646
+ .long 969875841
+ .long 3256382318
+ .long 969396649
+ .long 3256382990
+ .long 969439935
+ .long 3256383662
+ .long 969999571
+ .long 3256384318
+ .long 968972383
+ .long 3256384990
+ .long 970546758
+ .long 3256385646
+ .long 970522577
+ .long 3256386286
+ .long 968894127
+ .long 3256386942
+ .long 969850093
+ .long 3256387582
+ .long 969190651
+ .long 3256388222
+ .long 969007524
+ .long 3256388862
+ .long 969295375
+ .long 3256389502
+ .long 970048957
+ .long 3256390126
+ .long 969165958
+ .long 3256390750
+ .long 968738453
+ .long 3256391374
+ .long 968761452
+ .long 3256391998
+ .long 969230043
+ .long 3256392622
+ .long 970139398
+ .long 3256393230
+ .long 969387611
+ .long 3256393838
+ .long 969067159
+ .long 3256394446
+ .long 969173441
+ .long 3256395054
+ .long 969701929
+ .long 3256395646
+ .long 968551015
+ .long 3256396254
+ .long 969910618
+ .long 3256396846
+ .long 969582116
+ .long 3256397438
+ .long 969658411
+ .long 3256398030
+ .long 970135319
+ .long 3256398606
+ .long 968911569
+ .long 3256399198
+ .long 970177409
+ .long 3256399774
+ .long 969734540
+ .long 3256400350
+ .long 969676181
+ .long 3256400926
+ .long 969998457
+ .long 3256401486
+ .long 968600401
+ .long 3256402062
+ .long 969672558
+ .long 3256402622
+ .long 969016921
+ .long 3256403182
+ .long 968726993
+ .long 3256403742
+ .long 968799182
+ .long 3256404302
+ .long 969229944
+ .long 3256404862
+ .long 970015791
+ .long 3256405406
+ .long 969056131
+ .long 3256405966
+ .long 970541879
+ .long 3256406510
+ .long 970275391
+ .long 3256407054
+ .long 970350525
+ .long 3256407582
+ .long 968666884
+ .long 3256408126
+ .long 969415571
+ .long 3256408670
+ .long 970496282
+ .long 3256409198
+ .long 969808752
+ .long 3256409726
+ .long 969447067
+ .long 3256410254
+ .long 969408203
+ .long 3256410782
+ .long 969689179
+ .long 3256411310
+ .long 970287052
+ .long 3256411822
+ .long 969101770
+ .long 3256412350
+ .long 970324777
+ .long 3256412862
+ .long 969758945
+ .long 3256413374
+ .long 969498644
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1071862019
+ .long 1071862019
+ .long 1071862019
+ .long 1071862019
+ .long 1071862019
+ .long 1071862019
+ .long 1071862019
+ .long 1071862019
+ .long 3214137316
+ .long 3214137316
+ .long 3214137316
+ .long 3214137316
+ .long 3214137316
+ .long 3214137316
+ .long 3214137316
+ .long 3214137316
+ .long 986960742
+ .long 986960742
+ .long 986960742
+ .long 986960742
+ .long 986960742
+ .long 986960742
+ .long 986960742
+ .long 986960742
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 989855744
+ .long 989855744
+ .long 989855744
+ .long 989855744
+ .long 989855744
+ .long 989855744
+ .long 989855744
+ .long 989855744
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 8388608
+ .long 8388608
+ .long 8388608
+ .long 8388608
+ .long 8388608
+ .long 8388608
+ .long 8388608
+ .long 8388608
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 2139095039
+ .long 2139095039
+ .long 2139095039
+ .long 2139095039
+ .long 2139095039
+ .long 2139095039
+ .long 2139095039
+ .long 2139095039
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 4294967040
+ .long 4294967040
+ .long 4294967040
+ .long 4294967040
+ .long 4294967040
+ .long 4294967040
+ .long 4294967040
+ .long 4294967040
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1054736384
+ .long 1054736384
+ .long 1054736384
+ .long 1054736384
+ .long 1054736384
+ .long 1054736384
+ .long 1054736384
+ .long 1054736384
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1050288384
+ .long 1050288384
+ .long 1050288384
+ .long 1050288384
+ .long 1050288384
+ .long 1050288384
+ .long 1050288384
+ .long 1050288384
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 3058365952
+ .long 3058365952
+ .long 3058365952
+ .long 3058365952
+ .long 3058365952
+ .long 3058365952
+ .long 3058365952
+ .long 3058365952
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1059760811
+ .long 1059760811
+ .long 1059760811
+ .long 1059760811
+ .long 1059760811
+ .long 1059760811
+ .long 1059760811
+ .long 1059760811
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .long 8388607
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .long 1065353216
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1031824308
+ .long 1031824308
+ .long 1031824308
+ .long 1031824308
+ .long 1031824308
+ .long 1031824308
+ .long 1031824308
+ .long 1031824308
+ .long 3179872371
+ .long 3179872371
+ .long 3179872371
+ .long 3179872371
+ .long 3179872371
+ .long 3179872371
+ .long 3179872371
+ .long 3179872371
+ .long 1031230231
+ .long 1031230231
+ .long 1031230231
+ .long 1031230231
+ .long 1031230231
+ .long 1031230231
+ .long 1031230231
+ .long 1031230231
+ .long 3180460839
+ .long 3180460839
+ .long 3180460839
+ .long 3180460839
+ .long 3180460839
+ .long 3180460839
+ .long 3180460839
+ .long 3180460839
+ .long 1035078550
+ .long 1035078550
+ .long 1035078550
+ .long 1035078550
+ .long 1035078550
+ .long 1035078550
+ .long 1035078550
+ .long 1035078550
+ .long 3185471008
+ .long 3185471008
+ .long 3185471008
+ .long 3185471008
+ .long 3185471008
+ .long 3185471008
+ .long 3185471008
+ .long 3185471008
+ .long 1041513701
+ .long 1041513701
+ .long 1041513701
+ .long 1041513701
+ .long 1041513701
+ .long 1041513701
+ .long 1041513701
+ .long 1041513701
+ .long 3193854917
+ .long 3193854917
+ .long 3193854917
+ .long 3193854917
+ .long 3193854917
+ .long 3193854917
+ .long 3193854917
+ .long 3193854917
+ .long 1054759897
+ .long 1054759897
+ .long 1054759897
+ .long 1054759897
+ .long 1054759897
+ .long 1054759897
+ .long 1054759897
+ .long 1054759897
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1036894503
+ .long 1036894503
+ .long 1036894503
+ .long 1036894503
+ .long 1036894503
+ .long 1036894503
+ .long 1036894503
+ .long 1036894503
+ .long 3186945393
+ .long 3186945393
+ .long 3186945393
+ .long 3186945393
+ .long 3186945393
+ .long 3186945393
+ .long 3186945393
+ .long 3186945393
+ .long 1041464766
+ .long 1041464766
+ .long 1041464766
+ .long 1041464766
+ .long 1041464766
+ .long 1041464766
+ .long 1041464766
+ .long 1041464766
+ .long 3193833762
+ .long 3193833762
+ .long 3193833762
+ .long 3193833762
+ .long 3193833762
+ .long 3193833762
+ .long 3193833762
+ .long 3193833762
+ .long 1054760110
+ .long 1054760110
+ .long 1054760110
+ .long 1054760110
+ .long 1054760110
+ .long 1054760110
+ .long 1054760110
+ .long 1054760110
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .long 1050288283
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 2139095040
+ .long 4286578688
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 1065353216
+ .long 3212836864
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .long 0
+ .long 2147483648
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .type __svml_slog10_data_internal,@object
+ .size __svml_slog10_data_internal,2688
+ .align 32
+
+__slog10_la_CoutTab:
+ .long 1121868800
+ .long 0
+ .long 0
+ .long 1121641104
+ .long 1004535808
+ .long 912917177
+ .long 1121413408
+ .long 1013055488
+ .long 3065901602
+ .long 1121185712
+ .long 1017839616
+ .long 3083361151
+ .long 1120958016
+ .long 1021673472
+ .long 929297206
+ .long 1120844168
+ .long 1023524864
+ .long 3077496589
+ .long 1120616472
+ .long 1025499136
+ .long 3070500046
+ .long 1120388776
+ .long 1027506176
+ .long 912271551
+ .long 1120274928
+ .long 1028521984
+ .long 927716856
+ .long 1120047232
+ .long 1030586368
+ .long 923757491
+ .long 1119933384
+ .long 1031634944
+ .long 3056752848
+ .long 1119705688
+ .long 1032775680
+ .long 917029265
+ .long 1119591840
+ .long 1033314304
+ .long 3065085585
+ .long 1119364144
+ .long 1034403840
+ .long 3064614024
+ .long 1119250296
+ .long 1034954752
+ .long 921091539
+ .long 1119136448
+ .long 1035513856
+ .long 3057436454
+ .long 1118908752
+ .long 1036644352
+ .long 922468856
+ .long 1118794904
+ .long 1037219840
+ .long 3049155845
+ .long 1118681056
+ .long 1037799424
+ .long 904301451
+ .long 1118567208
+ .long 1038385152
+ .long 908617625
+ .long 1118453360
+ .long 1038977024
+ .long 905362229
+ .long 1118225664
+ .long 1040179200
+ .long 3027570914
+ .long 1118111816
+ .long 1040488448
+ .long 882280038
+ .long 1117997968
+ .long 1040796672
+ .long 911375775
+ .long 1117884120
+ .long 1041108480
+ .long 904500572
+ .long 1117770272
+ .long 1041423872
+ .long 3057579304
+ .long 1117656424
+ .long 1041742336
+ .long 3053334705
+ .long 1117542576
+ .long 1042064384
+ .long 3053389931
+ .long 1117428728
+ .long 1042390016
+ .long 3051561465
+ .long 1117314880
+ .long 1042719232
+ .long 3011187895
+ .long 1117201032
+ .long 1043052544
+ .long 3059907089
+ .long 1117087184
+ .long 1043389440
+ .long 3057005374
+ .long 1116973336
+ .long 1043729920
+ .long 911932638
+ .long 1116859488
+ .long 1044075008
+ .long 892958461
+ .long 1116859488
+ .long 1044075008
+ .long 892958461
+ .long 1116745640
+ .long 1044424192
+ .long 3048660547
+ .long 1116631792
+ .long 1044777472
+ .long 3049032043
+ .long 1116517944
+ .long 1045134848
+ .long 906867152
+ .long 1116404096
+ .long 1045496832
+ .long 911484894
+ .long 1116404096
+ .long 1045496832
+ .long 911484894
+ .long 1116290248
+ .long 1045863424
+ .long 912580963
+ .long 1116176400
+ .long 1046235136
+ .long 3058440244
+ .long 1116062552
+ .long 1046610944
+ .long 895945194
+ .long 1116062552
+ .long 1046610944
+ .long 895945194
+ .long 1115948704
+ .long 1046991872
+ .long 904357324
+ .long 1115834856
+ .long 1047377920
+ .long 902293870
+ .long 1115721008
+ .long 1047769088
+ .long 907149878
+ .long 1115721008
+ .long 1047769088
+ .long 907149878
+ .long 1115529456
+ .long 1048165888
+ .long 3052029263
+ .long 1115301760
+ .long 1048567808
+ .long 3035959522
+ .long 1115301760
+ .long 1048567808
+ .long 3035959522
+ .long 1115074064
+ .long 1048775680
+ .long 892998645
+ .long 1115074064
+ .long 1048775680
+ .long 892998645
+ .long 1114846368
+ .long 1048982400
+ .long 881767775
+ .long 1114618672
+ .long 1049192064
+ .long 893839142
+ .long 1114618672
+ .long 1049192064
+ .long 893839142
+ .long 1114390976
+ .long 1049404800
+ .long 896498651
+ .long 1114390976
+ .long 1049404800
+ .long 896498651
+ .long 1114163280
+ .long 1049620736
+ .long 3033695903
+ .long 1114163280
+ .long 1049620736
+ .long 3033695903
+ .long 1113935584
+ .long 1049839872
+ .long 3029986056
+ .long 1113935584
+ .long 1049839872
+ .long 3029986056
+ .long 1113707888
+ .long 1050062336
+ .long 884671939
+ .long 1113707888
+ .long 1050062336
+ .long 884671939
+ .long 1113480192
+ .long 1050288256
+ .long 894707678
+ .long 1050279936
+ .long 964848148
+ .long 1207959616
+ .long 1174405120
+ .long 1002438656
+ .long 1400897536
+ .long 0
+ .long 1065353216
+ .long 1121868800
+ .long 3212771328
+ .long 3079888218
+ .long 870463078
+ .long 2957202361
+ .long 749987585
+ .long 2838272395
+ .long 631921661
+ .long 2720751022
+ .type __slog10_la_CoutTab,@object
+ .size __slog10_la_CoutTab,848
+ .align 4
+
+.FLT_83:
+ .long 0x53800000
+ .type .FLT_83,@object
+ .size .FLT_83,4
+ .align 4
+
+.FLT_84:
+ .long 0x3bc00000
+ .type .FLT_84,@object
+ .size .FLT_84,4
+ .align 4
+
+.FLT_85:
+ .long 0x48000040
+ .type .FLT_85,@object
+ .size .FLT_85,4
+ .align 4
+
+.FLT_86:
+ .long 0x46000000
+ .type .FLT_86,@object
+ .size .FLT_86,4
+ .align 4
+
+.FLT_87:
+ .long 0x42de5c00
+ .type .FLT_87,@object
+ .size .FLT_87,4
+ .align 4
+
+.FLT_88:
+ .long 0xbf7f0000
+ .type .FLT_88,@object
+ .size .FLT_88,4
+ .align 4
+
+.FLT_89:
+ .long 0xb7935d5a
+ .type .FLT_89,@object
+ .size .FLT_89,4
+ .align 4
+
+.FLT_90:
+ .long 0x33e23666
+ .type .FLT_90,@object
+ .size .FLT_90,4
+ .align 4
+
+.FLT_91:
+ .long 0xb04353b9
+ .type .FLT_91,@object
+ .size .FLT_91,4
+ .align 4
+
+.FLT_92:
+ .long 0x2cb3e701
+ .type .FLT_92,@object
+ .size .FLT_92,4
+ .align 4
+
+.FLT_93:
+ .long 0xa92c998b
+ .type .FLT_93,@object
+ .size .FLT_93,4
+ .align 4
+
+.FLT_94:
+ .long 0x25aa5bfd
+ .type .FLT_94,@object
+ .size .FLT_94,4
+ .align 4
+
+.FLT_95:
+ .long 0xa22b5dae
+ .type .FLT_95,@object
+ .size .FLT_95,4
+ .align 4
+
+.FLT_96:
+ .long 0x3e9a0000
+ .type .FLT_96,@object
+ .size .FLT_96,4
+ .align 4
+
+.FLT_97:
+ .long 0x39826a14
+ .type .FLT_97,@object
+ .size .FLT_97,4
+ .align 4
+
+.FLT_98:
+ .long 0xbf800000
+ .type .FLT_98,@object
+ .size .FLT_98,4
+ .align 4
+
+.FLT_99:
+ .long 0x3f800000
+ .type .FLT_99,@object
+ .size .FLT_99,4
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function log10 vectorized with SSE2.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include "svml_d_wrapper_impl.h"
+
+ .text
+ENTRY (_ZGVbN2v_log10)
+WRAPPER_IMPL_SSE2 log10
+END (_ZGVbN2v_log10)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVbN2v_log10)
+#endif
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function log10 vectorized with AVX2, wrapper version.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include "svml_d_wrapper_impl.h"
+
+ .text
+ENTRY (_ZGVdN4v_log10)
+WRAPPER_IMPL_AVX _ZGVbN2v_log10
+END (_ZGVdN4v_log10)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVdN4v_log10)
+#endif
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function log10 vectorized in AVX ISA as wrapper to SSE4 ISA version.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include "svml_d_wrapper_impl.h"
+
+ .text
+ENTRY (_ZGVcN4v_log10)
+WRAPPER_IMPL_AVX _ZGVbN2v_log10
+END (_ZGVcN4v_log10)
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function log10 vectorized with AVX-512, wrapper to AVX2.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include "svml_d_wrapper_impl.h"
+
+ .text
+ENTRY (_ZGVeN8v_log10)
+WRAPPER_IMPL_AVX512 _ZGVdN4v_log10
+END (_ZGVeN8v_log10)
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function log10f vectorized with AVX-512. Wrapper to AVX2 version.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include "svml_s_wrapper_impl.h"
+
+ .text
+ENTRY (_ZGVeN16v_log10f)
+WRAPPER_IMPL_AVX512 _ZGVdN8v_log10f
+END (_ZGVeN16v_log10f)
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function log10f vectorized with SSE2, wrapper version.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include "svml_s_wrapper_impl.h"
+
+ .text
+ENTRY (_ZGVbN4v_log10f)
+WRAPPER_IMPL_SSE2 log10f
+END (_ZGVbN4v_log10f)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVbN4v_log10f)
+#endif
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function log10f vectorized with AVX2, wrapper version.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include "svml_s_wrapper_impl.h"
+
+ .text
+ENTRY (_ZGVdN8v_log10f)
+WRAPPER_IMPL_AVX _ZGVbN4v_log10f
+END (_ZGVdN8v_log10f)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVdN8v_log10f)
+#endif
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function log10f vectorized in AVX ISA as wrapper to SSE4 ISA version.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include "svml_s_wrapper_impl.h"
+
+ .text
+ENTRY (_ZGVcN8v_log10f)
+WRAPPER_IMPL_AVX _ZGVbN4v_log10f
+END (_ZGVcN8v_log10f)
new file mode 100644
@@ -0,0 +1 @@
+#include "test-double-libmvec-log10.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-double-libmvec-log10.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-double-libmvec-log10.c"
new file mode 100644
@@ -0,0 +1,3 @@
+#define LIBMVEC_TYPE double
+#define LIBMVEC_FUNC log10
+#include "test-vector-abi-arg1.h"
@@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVbN2v_exp10)
VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVbN2v_exp2)
VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVbN2v_expm1)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVbN2vv_hypot)
+VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVbN2v_log10)
#define VEC_INT_TYPE __m128i
@@ -45,6 +45,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVdN4v_exp10)
VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVdN4v_exp2)
VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVdN4v_expm1)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVdN4vv_hypot)
+VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVdN4v_log10)
#ifndef __ILP32__
# define VEC_INT_TYPE __m256i
@@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVcN4v_exp10)
VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVcN4v_exp2)
VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVcN4v_expm1)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVcN4vv_hypot)
+VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVcN4v_log10)
#define VEC_INT_TYPE __m128i
@@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVeN8v_exp10)
VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVeN8v_exp2)
VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVeN8v_expm1)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVeN8vv_hypot)
+VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVeN8v_log10)
#ifndef __ILP32__
# define VEC_INT_TYPE __m512i
new file mode 100644
@@ -0,0 +1 @@
+#include "test-float-libmvec-log10f.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-float-libmvec-log10f.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-float-libmvec-log10f.c"
new file mode 100644
@@ -0,0 +1,3 @@
+#define LIBMVEC_TYPE float
+#define LIBMVEC_FUNC log10f
+#include "test-vector-abi-arg1.h"
@@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVeN16v_exp10f)
VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVeN16v_exp2f)
VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVeN16v_expm1f)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVeN16vv_hypotf)
+VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVeN16v_log10f)
#define VEC_INT_TYPE __m512i
@@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVbN4v_exp10f)
VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVbN4v_exp2f)
VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVbN4v_expm1f)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVbN4vv_hypotf)
+VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVbN4v_log10f)
#define VEC_INT_TYPE __m128i
@@ -45,6 +45,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVdN8v_exp10f)
VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVdN8v_exp2f)
VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVdN8v_expm1f)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVdN8vv_hypotf)
+VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVdN8v_log10f)
/* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */
#undef VECTOR_WRAPPER_fFF
@@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVcN8v_exp10f)
VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVcN8v_exp2f)
VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVcN8v_expm1f)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVcN8vv_hypotf)
+VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVcN8v_log10f)
#define VEC_INT_TYPE __m128i