@@ -285,4 +285,15 @@
#define __DECL_SIMD_log1pf32x
#define __DECL_SIMD_log1pf64x
#define __DECL_SIMD_log1pf128x
+
+#define __DECL_SIMD_log2
+#define __DECL_SIMD_log2f
+#define __DECL_SIMD_log2l
+#define __DECL_SIMD_log2f16
+#define __DECL_SIMD_log2f32
+#define __DECL_SIMD_log2f64
+#define __DECL_SIMD_log2f128
+#define __DECL_SIMD_log2f32x
+#define __DECL_SIMD_log2f64x
+#define __DECL_SIMD_log2f128x
#endif
@@ -130,7 +130,7 @@ __MATHCALL (logb,, (_Mdouble_ __x));
__MATHCALL_VEC (exp2,, (_Mdouble_ __x));
/* Compute base-2 logarithm of X. */
-__MATHCALL (log2,, (_Mdouble_ __x));
+__MATHCALL_VEC (log2,, (_Mdouble_ __x));
#endif
@@ -61,6 +61,7 @@ GLIBC_2.35 _ZGVbN2v_exp2 F
GLIBC_2.35 _ZGVbN2v_expm1 F
GLIBC_2.35 _ZGVbN2v_log10 F
GLIBC_2.35 _ZGVbN2v_log1p F
+GLIBC_2.35 _ZGVbN2v_log2 F
GLIBC_2.35 _ZGVbN2vv_atan2 F
GLIBC_2.35 _ZGVbN2vv_hypot F
GLIBC_2.35 _ZGVbN4v_acosf F
@@ -78,6 +79,7 @@ GLIBC_2.35 _ZGVbN4v_exp2f F
GLIBC_2.35 _ZGVbN4v_expm1f F
GLIBC_2.35 _ZGVbN4v_log10f F
GLIBC_2.35 _ZGVbN4v_log1pf F
+GLIBC_2.35 _ZGVbN4v_log2f F
GLIBC_2.35 _ZGVbN4vv_atan2f F
GLIBC_2.35 _ZGVbN4vv_hypotf F
GLIBC_2.35 _ZGVcN4v_acos F
@@ -95,6 +97,7 @@ GLIBC_2.35 _ZGVcN4v_exp2 F
GLIBC_2.35 _ZGVcN4v_expm1 F
GLIBC_2.35 _ZGVcN4v_log10 F
GLIBC_2.35 _ZGVcN4v_log1p F
+GLIBC_2.35 _ZGVcN4v_log2 F
GLIBC_2.35 _ZGVcN4vv_atan2 F
GLIBC_2.35 _ZGVcN4vv_hypot F
GLIBC_2.35 _ZGVcN8v_acosf F
@@ -112,6 +115,7 @@ GLIBC_2.35 _ZGVcN8v_exp2f F
GLIBC_2.35 _ZGVcN8v_expm1f F
GLIBC_2.35 _ZGVcN8v_log10f F
GLIBC_2.35 _ZGVcN8v_log1pf F
+GLIBC_2.35 _ZGVcN8v_log2f F
GLIBC_2.35 _ZGVcN8vv_atan2f F
GLIBC_2.35 _ZGVcN8vv_hypotf F
GLIBC_2.35 _ZGVdN4v_acos F
@@ -129,6 +133,7 @@ GLIBC_2.35 _ZGVdN4v_exp2 F
GLIBC_2.35 _ZGVdN4v_expm1 F
GLIBC_2.35 _ZGVdN4v_log10 F
GLIBC_2.35 _ZGVdN4v_log1p F
+GLIBC_2.35 _ZGVdN4v_log2 F
GLIBC_2.35 _ZGVdN4vv_atan2 F
GLIBC_2.35 _ZGVdN4vv_hypot F
GLIBC_2.35 _ZGVdN8v_acosf F
@@ -146,6 +151,7 @@ GLIBC_2.35 _ZGVdN8v_exp2f F
GLIBC_2.35 _ZGVdN8v_expm1f F
GLIBC_2.35 _ZGVdN8v_log10f F
GLIBC_2.35 _ZGVdN8v_log1pf F
+GLIBC_2.35 _ZGVdN8v_log2f F
GLIBC_2.35 _ZGVdN8vv_atan2f F
GLIBC_2.35 _ZGVdN8vv_hypotf F
GLIBC_2.35 _ZGVeN16v_acosf F
@@ -163,6 +169,7 @@ GLIBC_2.35 _ZGVeN16v_exp2f F
GLIBC_2.35 _ZGVeN16v_expm1f F
GLIBC_2.35 _ZGVeN16v_log10f F
GLIBC_2.35 _ZGVeN16v_log1pf F
+GLIBC_2.35 _ZGVeN16v_log2f F
GLIBC_2.35 _ZGVeN16vv_atan2f F
GLIBC_2.35 _ZGVeN16vv_hypotf F
GLIBC_2.35 _ZGVeN8v_acos F
@@ -180,5 +187,6 @@ GLIBC_2.35 _ZGVeN8v_exp2 F
GLIBC_2.35 _ZGVeN8v_expm1 F
GLIBC_2.35 _ZGVeN8v_log10 F
GLIBC_2.35 _ZGVeN8v_log1p F
+GLIBC_2.35 _ZGVeN8v_log2 F
GLIBC_2.35 _ZGVeN8vv_atan2 F
GLIBC_2.35 _ZGVeN8vv_hypot F
@@ -126,6 +126,10 @@
# define __DECL_SIMD_log1p __DECL_SIMD_x86_64
# undef __DECL_SIMD_log1pf
# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64
+# undef __DECL_SIMD_log2
+# define __DECL_SIMD_log2 __DECL_SIMD_x86_64
+# undef __DECL_SIMD_log2f
+# define __DECL_SIMD_log2f __DECL_SIMD_x86_64
# endif
#endif
@@ -42,6 +42,7 @@ libmvec-funcs = \
log \
log10 \
log1p \
+ log2 \
pow \
sin \
sincos \
@@ -29,6 +29,7 @@ libmvec {
_ZGVbN2v_expm1; _ZGVcN4v_expm1; _ZGVdN4v_expm1; _ZGVeN8v_expm1;
_ZGVbN2v_log10; _ZGVcN4v_log10; _ZGVdN4v_log10; _ZGVeN8v_log10;
_ZGVbN2v_log1p; _ZGVcN4v_log1p; _ZGVdN4v_log1p; _ZGVeN8v_log1p;
+ _ZGVbN2v_log2; _ZGVcN4v_log2; _ZGVdN4v_log2; _ZGVeN8v_log2;
_ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2;
_ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot;
_ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf;
@@ -46,6 +47,7 @@ libmvec {
_ZGVbN4v_expm1f; _ZGVcN8v_expm1f; _ZGVdN8v_expm1f; _ZGVeN16v_expm1f;
_ZGVbN4v_log10f; _ZGVcN8v_log10f; _ZGVdN8v_log10f; _ZGVeN16v_log10f;
_ZGVbN4v_log1pf; _ZGVcN8v_log1pf; _ZGVdN8v_log1pf; _ZGVeN16v_log1pf;
+ _ZGVbN4v_log2f; _ZGVcN8v_log2f; _ZGVdN8v_log2f; _ZGVeN16v_log2f;
_ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f;
_ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf;
}
@@ -1826,6 +1826,26 @@ float: 3
float128: 1
ldouble: 1
+Function: "log2_vlen16":
+float: 1
+
+Function: "log2_vlen2":
+double: 1
+
+Function: "log2_vlen4":
+double: 1
+float: 1
+
+Function: "log2_vlen4_avx2":
+double: 1
+
+Function: "log2_vlen8":
+double: 1
+float: 1
+
+Function: "log2_vlen8_avx2":
+float: 1
+
Function: "log_downward":
float: 2
float128: 1
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE2 version of vectorized log2, 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_log2 _ZGVbN2v_log2_sse2
+#include "../svml_d_log22_core.S"
new file mode 100644
@@ -0,0 +1,27 @@
+/* Multiple versions of vectorized log2, 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_log2
+#include "ifunc-mathvec-sse4_1.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVbN2v_log2, __GI__ZGVbN2v_log2, __redirect__ZGVbN2v_log2)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,5474 @@
+/* Function log 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
+ * log2(x) = k - log2(Rcp) + poly_approximation(R)
+ * log2(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVbN2v_log2_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 12672+__svml_dlog2_data_internal(%rip), %xmm5
+
+/* check range */
+ movaps %xmm6, %xmm3
+ andps %xmm6, %xmm5
+ movaps %xmm6, %xmm2
+ orps 12800+__svml_dlog2_data_internal(%rip), %xmm5
+ lea -4218816+__svml_dlog2_data_internal(%rip), %r8
+
+/* reciprocal approximation good to at least 11 bits */
+ cvtpd2ps %xmm5, %xmm7
+ cmpltpd 12864+__svml_dlog2_data_internal(%rip), %xmm3
+ cmpnlepd 12928+__svml_dlog2_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 12992+__svml_dlog2_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 13120+__svml_dlog2_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 */
+ movups 13184+__svml_dlog2_data_internal(%rip), %xmm7
+ cmpltpd %xmm4, %xmm7
+
+/* polynomial */
+ movups 12544+__svml_dlog2_data_internal(%rip), %xmm4
+ mulpd %xmm5, %xmm4
+ pshufd $2, %xmm3, %xmm2
+ movaps %xmm5, %xmm3
+ mulpd %xmm5, %xmm3
+ movd %xmm2, %ecx
+ movups 12576+__svml_dlog2_data_internal(%rip), %xmm2
+ andps 13248+__svml_dlog2_data_internal(%rip), %xmm7
+ addpd 12560+__svml_dlog2_data_internal(%rip), %xmm4
+ mulpd %xmm5, %xmm2
+ mulpd %xmm3, %xmm4
+ addpd 12592+__svml_dlog2_data_internal(%rip), %xmm2
+ addpd %xmm4, %xmm2
+ orps 13312+__svml_dlog2_data_internal(%rip), %xmm7
+ subpd %xmm7, %xmm0
+ mulpd %xmm2, %xmm3
+ movups 12608+__svml_dlog2_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 .LBL_1_3
+
+.LBL_1_2:
+ movq %rbp, %rsp
+ popq %rbp
+ cfi_def_cfa(7, 8)
+ cfi_restore(6)
+ ret
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+
+.LBL_1_3:
+ 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
+
+.LBL_1_7:
+ btl %r12d, %r13d
+ jc .LBL_1_10
+
+.LBL_1_8:
+ incl %r12d
+ cmpl $2, %r12d
+ jl .LBL_1_7
+ 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 .LBL_1_2
+ .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
+
+.LBL_1_10:
+ lea 192(%rsp,%r12,8), %rdi
+ lea 256(%rsp,%r12,8), %rsi
+ call __svml_dlog2_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVbN2v_log2_sse4)
+
+ .align 16,0x90
+
+__svml_dlog2_cout_rare_internal:
+
+ cfi_startproc
+
+ movq $0, -64(%rsp)
+ movsd -64(%rsp), %xmm0
+ movsd (%rdi), %xmm1
+ movups _zeros.173.0.0.1(%rip), %xmm2
+ subsd %xmm0, %xmm1
+ movsd %xmm1, -8(%rsp)
+ movups %xmm2, -56(%rsp)
+ movups _ones.173.0.0.1(%rip), %xmm0
+ movups %xmm0, -40(%rsp)
+ movups _infs.173.0.0.1(%rip), %xmm0
+ movups %xmm0, -24(%rsp)
+ movl -4(%rsp), %eax
+ cmpl $2146435072, %eax
+ jae .LBL_2_19
+ lea -1072660480(%rax), %edx
+ cmpl $53248, %edx
+ jae .LBL_2_14
+ lea -1072693232(%rax), %edx
+ cmpl $24, %edx
+ jae .LBL_2_13
+ movl -8(%rsp), %edi
+ movl %eax, %ecx
+ movl %edi, %edx
+ shll $11, %ecx
+ shrl $21, %edx
+ orl %edx, %ecx
+ addl $-2147483646, %ecx
+ cmpl $3, %ecx
+ jae .LBL_2_12
+ addl $-1072693248, %eax
+ orl %edi, %eax
+ jne .LBL_2_10
+ movq -56(%rsp), %rax
+ movq %rax, (%rsi)
+ jmp .LBL_2_11
+
+.LBL_2_10:
+ movsd -8(%rsp), %xmm0
+ movsd 16+__dlog2_la__Q3(%rip), %xmm2
+ movsd 24+__dlog2_la__Q3(%rip), %xmm1
+ addsd -32(%rsp), %xmm0
+ mulsd %xmm0, %xmm2
+ mulsd %xmm0, %xmm1
+ addsd 8+__dlog2_la__Q3(%rip), %xmm2
+ mulsd %xmm0, %xmm2
+ movsd %xmm0, -8(%rsp)
+ addsd __dlog2_la__Q3(%rip), %xmm2
+ mulsd %xmm0, %xmm2
+ addsd %xmm1, %xmm2
+ movsd %xmm2, (%rsi)
+
+.LBL_2_11:
+ xorl %eax, %eax
+ ret
+
+.LBL_2_12:
+ movsd -8(%rsp), %xmm2
+ xorl %eax, %eax
+ movsd 16+__dlog2_la__Q2(%rip), %xmm1
+ movsd 24+__dlog2_la__Q2(%rip), %xmm3
+ addsd -32(%rsp), %xmm2
+ movaps %xmm2, %xmm0
+ mulsd %xmm2, %xmm0
+ mulsd %xmm0, %xmm1
+ mulsd %xmm0, %xmm3
+ addsd __dlog2_la__Q2(%rip), %xmm1
+ addsd 8+__dlog2_la__Q2(%rip), %xmm3
+ mulsd %xmm2, %xmm1
+ mulsd %xmm0, %xmm3
+ movsd %xmm2, -8(%rsp)
+ addsd %xmm1, %xmm3
+ movl $0, -8(%rsp)
+ movsd -8(%rsp), %xmm4
+ subsd %xmm4, %xmm2
+ addsd %xmm2, %xmm4
+ mulsd 32+__dlog2_la__Q2(%rip), %xmm4
+ addsd %xmm3, %xmm4
+ movsd %xmm4, (%rsi)
+ ret
+
+.LBL_2_13:
+ movsd -8(%rsp), %xmm2
+ xorl %eax, %eax
+ movsd 72+__dlog2_la__Q1(%rip), %xmm10
+ movsd 64+__dlog2_la__Q1(%rip), %xmm4
+ movsd __dlog2_la__TWO_32P(%rip), %xmm5
+ movsd __dlog2_la__TWO_32P(%rip), %xmm7
+ movsd 88+__dlog2_la__Q1(%rip), %xmm14
+ movsd __dlog2_la__TWO_32P(%rip), %xmm11
+ movsd __dlog2_la__TWO_32P(%rip), %xmm15
+ addsd -32(%rsp), %xmm2
+ movaps %xmm2, %xmm3
+ movaps %xmm2, %xmm6
+ mulsd %xmm2, %xmm3
+ movaps %xmm2, %xmm0
+ mulsd %xmm2, %xmm5
+ mulsd __dlog2_la__TWO_32(%rip), %xmm6
+ mulsd %xmm3, %xmm10
+ mulsd %xmm3, %xmm4
+ addsd 56+__dlog2_la__Q1(%rip), %xmm10
+ addsd 48+__dlog2_la__Q1(%rip), %xmm4
+ mulsd %xmm3, %xmm10
+ mulsd %xmm3, %xmm4
+ addsd 40+__dlog2_la__Q1(%rip), %xmm10
+ addsd 32+__dlog2_la__Q1(%rip), %xmm4
+ mulsd %xmm3, %xmm10
+ mulsd %xmm3, %xmm4
+ addsd 24+__dlog2_la__Q1(%rip), %xmm10
+ addsd 16+__dlog2_la__Q1(%rip), %xmm4
+ mulsd %xmm3, %xmm10
+ mulsd %xmm2, %xmm4
+ movsd __dlog2_la__TWO_32(%rip), %xmm3
+ addsd %xmm4, %xmm10
+ mulsd %xmm10, %xmm7
+ movaps %xmm3, %xmm8
+ mulsd %xmm10, %xmm8
+ movsd %xmm5, -72(%rsp)
+ movsd -72(%rsp), %xmm1
+ movsd %xmm7, -72(%rsp)
+ subsd %xmm6, %xmm1
+ movsd -72(%rsp), %xmm9
+ subsd %xmm1, %xmm0
+ subsd %xmm8, %xmm9
+ movsd %xmm1, -8(%rsp)
+ subsd %xmm9, %xmm10
+ addsd %xmm9, %xmm14
+ addsd 8+__dlog2_la__Q1(%rip), %xmm10
+ movaps %xmm14, %xmm4
+ mulsd %xmm0, %xmm4
+ mulsd %xmm2, %xmm10
+ mulsd %xmm1, %xmm14
+ addsd %xmm0, %xmm1
+ addsd %xmm10, %xmm4
+ movaps %xmm4, %xmm12
+ movsd 80+__dlog2_la__Q1(%rip), %xmm9
+ addsd %xmm14, %xmm12
+ mulsd %xmm12, %xmm11
+ mulsd %xmm3, %xmm12
+ movsd %xmm11, -72(%rsp)
+ movsd -72(%rsp), %xmm13
+ subsd %xmm12, %xmm13
+ subsd %xmm13, %xmm4
+ addsd %xmm13, %xmm9
+ addsd %xmm14, %xmm4
+ movaps %xmm9, %xmm13
+ addsd __dlog2_la__Q1(%rip), %xmm4
+ addsd %xmm4, %xmm13
+ mulsd %xmm13, %xmm15
+ mulsd %xmm3, %xmm13
+ movsd %xmm15, -72(%rsp)
+ movsd -72(%rsp), %xmm14
+ subsd %xmm13, %xmm14
+ mulsd %xmm14, %xmm1
+ subsd %xmm14, %xmm9
+ addsd %xmm9, %xmm4
+ mulsd %xmm2, %xmm4
+ addsd %xmm4, %xmm1
+ movsd %xmm1, (%rsi)
+ ret
+
+.LBL_2_14:
+ movl %eax, %ecx
+ movl %eax, %edx
+ shrl $20, %ecx
+ andl $1048575, %edx
+ addl $-1023, %ecx
+ cmpl $1048576, %eax
+ jae .LBL_2_18
+ movl %edx, -4(%rsp)
+ movl -8(%rsp), %edx
+ orl %edx, %eax
+ jne .LBL_2_17
+ movsd -32(%rsp), %xmm0
+ movl $2, %eax
+ divsd -56(%rsp), %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+.LBL_2_17:
+ movsd -8(%rsp), %xmm0
+ mulsd __dlog2_la__TWO_55(%rip), %xmm0
+ movsd %xmm0, -8(%rsp)
+ movl -4(%rsp), %edx
+ movl %edx, %ecx
+ shrl $20, %ecx
+ movl %edx, %eax
+ addl $-1078, %ecx
+
+.LBL_2_18:
+ shrl $12, %eax
+ orl $1072693248, %edx
+ movzbl %al, %edi
+ pxor %xmm7, %xmm7
+ movl %edx, -4(%rsp)
+ lea __dlog2_la___libm_rcp_table_256(%rip), %rdx
+ movsd -8(%rsp), %xmm10
+ pxor %xmm8, %xmm8
+ movl $0, -8(%rsp)
+ lea __dlog2_la___libm_log2_table_256(%rip), %rax
+ movsd -8(%rsp), %xmm0
+ cvtss2sd (%rdx,%rdi,4), %xmm7
+ cvtsi2sd %ecx, %xmm8
+ subsd %xmm0, %xmm10
+ mulsd %xmm7, %xmm10
+ mulsd %xmm0, %xmm7
+ movsd 40+__dlog2_la__P(%rip), %xmm4
+ movsd 32+__dlog2_la__P(%rip), %xmm3
+ movsd 48+__dlog2_la__P(%rip), %xmm5
+ movsd __dlog2_la__TWO_32(%rip), %xmm6
+ shlq $4, %rdi
+ addsd -32(%rsp), %xmm7
+ movaps %xmm7, %xmm2
+ mulsd %xmm5, %xmm7
+ addsd %xmm10, %xmm2
+ mulsd %xmm5, %xmm10
+ addsd %xmm7, %xmm6
+ movaps %xmm2, %xmm1
+ mulsd %xmm2, %xmm1
+ mulsd %xmm1, %xmm4
+ mulsd %xmm1, %xmm3
+ addsd 24+__dlog2_la__P(%rip), %xmm4
+ addsd 16+__dlog2_la__P(%rip), %xmm3
+ mulsd %xmm1, %xmm4
+ mulsd %xmm1, %xmm3
+ addsd 8+__dlog2_la__P(%rip), %xmm4
+ addsd __dlog2_la__P(%rip), %xmm3
+ mulsd %xmm1, %xmm4
+ mulsd %xmm2, %xmm3
+ movsd %xmm6, -72(%rsp)
+ addsd %xmm3, %xmm4
+ addsd 8(%rax,%rdi), %xmm8
+ addsd %xmm4, %xmm10
+ movsd -72(%rsp), %xmm9
+ subsd __dlog2_la__TWO_32(%rip), %xmm9
+ subsd %xmm9, %xmm7
+ addsd %xmm8, %xmm9
+ addsd (%rax,%rdi), %xmm7
+ movsd %xmm9, -8(%rsp)
+ xorl %eax, %eax
+ addsd %xmm7, %xmm10
+ addsd %xmm9, %xmm10
+ movsd %xmm10, (%rsi)
+ ret
+
+.LBL_2_19:
+ movl %eax, %edx
+ andl $2147483647, %edx
+ cmpl $2146435072, %edx
+ ja .LBL_2_28
+ jne .LBL_2_22
+ cmpl $0, -8(%rsp)
+ jne .LBL_2_28
+
+.LBL_2_22:
+ testl $-2147483648, %eax
+ je .LBL_2_27
+ movl -8(%rsp), %eax
+ orl %eax, %edx
+ movsd -56(%rsp), %xmm1
+ jne .LBL_2_25
+ movsd -32(%rsp), %xmm0
+ movl $2, %eax
+ divsd %xmm1, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+.LBL_2_25:
+ movsd -24(%rsp), %xmm0
+ movl $1, %eax
+ mulsd %xmm1, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+.LBL_2_27:
+ movq -8(%rsp), %rax
+ movq %rax, (%rsi)
+ xorl %eax, %eax
+ ret
+
+.LBL_2_28:
+ movsd -8(%rsp), %xmm0
+ xorl %eax, %eax
+ mulsd -40(%rsp), %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_dlog2_cout_rare_internal,@function
+ .size __svml_dlog2_cout_rare_internal,.-__svml_dlog2_cout_rare_internal
+ .section .rodata, "a"
+ .align 64
+ .align 16
+
+_zeros.173.0.0.1:
+ .long 0
+ .long 0
+ .long 0
+ .long 2147483648
+ .align 16
+
+_ones.173.0.0.1:
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 3220176896
+ .align 16
+
+_infs.173.0.0.1:
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 4293918720
+
+ .section .rodata, "a"
+ .space 16, 0x00
+ .align 64
+
+__svml_dlog2_data_internal:
+ .long 0
+ .long 3230658560
+ .long 0
+ .long 0
+ .long 3721504
+ .long 3230658564
+ .long 390392217
+ .long 1028833224
+ .long 4279173520
+ .long 3230658567
+ .long 3697526933
+ .long 3176772302
+ .long 4236484232
+ .long 3230658571
+ .long 3866369393
+ .long 3173573477
+ .long 4170683432
+ .long 3230658575
+ .long 2406066045
+ .long 1027614617
+ .long 4081833376
+ .long 3230658579
+ .long 872311433
+ .long 1029558987
+ .long 3969996056
+ .long 3230658583
+ .long 3455238169
+ .long 3176293652
+ .long 3835233240
+ .long 3230658587
+ .long 3122028036
+ .long 3175399406
+ .long 3677606424
+ .long 3230658591
+ .long 3775975107
+ .long 3175065502
+ .long 3497176864
+ .long 3230658595
+ .long 1120402784
+ .long 3176065974
+ .long 3294005576
+ .long 3230658599
+ .long 3607704643
+ .long 1027775251
+ .long 3068153320
+ .long 3230658603
+ .long 3174454558
+ .long 1028715334
+ .long 2819680616
+ .long 3230658607
+ .long 1714361654
+ .long 3176145083
+ .long 2548647760
+ .long 3230658611
+ .long 1446250901
+ .long 1029564267
+ .long 2255114776
+ .long 3230658615
+ .long 4080025744
+ .long 1029178975
+ .long 1939141472
+ .long 3230658619
+ .long 841987973
+ .long 1029054409
+ .long 1600787408
+ .long 3230658623
+ .long 399562616
+ .long 1024114381
+ .long 1240111912
+ .long 3230658627
+ .long 3503181124
+ .long 3176697658
+ .long 857174080
+ .long 3230658631
+ .long 1254487117
+ .long 3175371962
+ .long 452032760
+ .long 3230658635
+ .long 4205447303
+ .long 3176492920
+ .long 24746584
+ .long 3230658639
+ .long 1994290281
+ .long 1028250505
+ .long 3870341224
+ .long 3230658642
+ .long 3457675008
+ .long 3176979311
+ .long 3398940264
+ .long 3230658646
+ .long 3225497353
+ .long 3176623592
+ .long 2905568928
+ .long 3230658650
+ .long 2126923612
+ .long 1026561068
+ .long 2390284912
+ .long 3230658654
+ .long 4230405746
+ .long 3172886618
+ .long 1853145696
+ .long 3230658658
+ .long 2504030371
+ .long 3175134796
+ .long 1294208528
+ .long 3230658662
+ .long 2470849917
+ .long 3177172451
+ .long 713530440
+ .long 3230658666
+ .long 4008627283
+ .long 3176362565
+ .long 111168232
+ .long 3230658670
+ .long 3947344950
+ .long 1028309766
+ .long 3782145768
+ .long 3230658673
+ .long 3547697003
+ .long 3176800217
+ .long 3136584832
+ .long 3230658677
+ .long 2863038012
+ .long 1025769979
+ .long 2469508848
+ .long 3230658681
+ .long 4101655891
+ .long 1028623806
+ .long 1780973736
+ .long 3230658685
+ .long 180044497
+ .long 1028727134
+ .long 1071035200
+ .long 3230658689
+ .long 1240324917
+ .long 1029164642
+ .long 339748720
+ .long 3230658693
+ .long 3339205157
+ .long 3174606851
+ .long 3882136872
+ .long 3230658696
+ .long 3953461054
+ .long 1027744139
+ .long 3108320112
+ .long 3230658700
+ .long 4056294543
+ .long 1027898214
+ .long 2313320576
+ .long 3230658704
+ .long 2017978773
+ .long 3176388905
+ .long 1497192904
+ .long 3230658708
+ .long 2630318761
+ .long 3172120215
+ .long 659991504
+ .long 3230658712
+ .long 1173149442
+ .long 3176476805
+ .long 4096737888
+ .long 3230658715
+ .long 2084279151
+ .long 3176632233
+ .long 3217551464
+ .long 3230658719
+ .long 147752605
+ .long 3175187076
+ .long 2317453320
+ .long 3230658723
+ .long 3463598502
+ .long 1029004710
+ .long 1396497032
+ .long 3230658727
+ .long 348113666
+ .long 3175216077
+ .long 454735992
+ .long 3230658731
+ .long 2797541458
+ .long 3172926093
+ .long 3787190664
+ .long 3230658734
+ .long 3810950996
+ .long 3175936077
+ .long 2803979432
+ .long 3230658738
+ .long 1880742672
+ .long 3175438052
+ .long 1800122360
+ .long 3230658742
+ .long 185990116
+ .long 1025407904
+ .long 775672016
+ .long 3230658746
+ .long 3308007208
+ .long 1029438945
+ .long 4025648056
+ .long 3230658749
+ .long 3792627158
+ .long 1028183615
+ .long 2960168064
+ .long 3230658753
+ .long 2550675711
+ .long 1029174609
+ .long 1874251296
+ .long 3230658757
+ .long 522796161
+ .long 3175188745
+ .long 767949536
+ .long 3230658761
+ .long 99639657
+ .long 1028478111
+ .long 3936281640
+ .long 3230658764
+ .long 1618272739
+ .long 3176759878
+ .long 2789364408
+ .long 3230658768
+ .long 2976648779
+ .long 3177001126
+ .long 1622216320
+ .long 3230658772
+ .long 995205633
+ .long 3174119615
+ .long 434888360
+ .long 3230658776
+ .long 201851350
+ .long 3175435880
+ .long 3522398632
+ .long 3230658779
+ .long 1631082790
+ .long 1029197235
+ .long 2294863136
+ .long 3230658783
+ .long 1386753027
+ .long 3176550178
+ .long 1047299600
+ .long 3230658787
+ .long 1591070772
+ .long 3176954051
+ .long 4074725544
+ .long 3230658790
+ .long 701119861
+ .long 3176328095
+ .long 2787256416
+ .long 3230658794
+ .long 3223019512
+ .long 1028866240
+ .long 1479909352
+ .long 3230658798
+ .long 2952422582
+ .long 1024508588
+ .long 152734024
+ .long 3230658802
+ .long 288366270
+ .long 3175075539
+ .long 3100747208
+ .long 3230658805
+ .long 1494938379
+ .long 1027731037
+ .long 1734063600
+ .long 3230658809
+ .long 1796105868
+ .long 1028158292
+ .long 347699608
+ .long 3230658813
+ .long 2172100889
+ .long 1029347730
+ .long 3236671448
+ .long 3230658816
+ .long 321576108
+ .long 1027051181
+ .long 1811093280
+ .long 3230658820
+ .long 3159981384
+ .long 1028760888
+ .long 365980952
+ .long 3230658824
+ .long 4083088766
+ .long 3176402658
+ .long 3196350152
+ .long 3230658827
+ .long 1966791372
+ .long 3176779668
+ .long 1712314488
+ .long 3230658831
+ .long 3599116437
+ .long 3176268195
+ .long 208889280
+ .long 3230658835
+ .long 3498192131
+ .long 1027096101
+ .long 2981089664
+ .long 3230658838
+ .long 3152711547
+ .long 3171644297
+ .long 1439028720
+ .long 3230658842
+ .long 142239255
+ .long 3176002168
+ .long 4172688536
+ .long 3230658845
+ .long 2394955302
+ .long 3175668459
+ .long 2592181840
+ .long 3230658849
+ .long 772412634
+ .long 1029163313
+ .long 992523056
+ .long 3230658853
+ .long 239947902
+ .long 3177123772
+ .long 3668726472
+ .long 3230658856
+ .long 3993011847
+ .long 3173133053
+ .long 2030904280
+ .long 3230658860
+ .long 1203564427
+ .long 1024968471
+ .long 374070408
+ .long 3230658864
+ .long 3495014224
+ .long 1029532111
+ .long 2993238600
+ .long 3230658867
+ .long 1693008698
+ .long 1029300208
+ .long 1298520552
+ .long 3230658871
+ .long 229843979
+ .long 1028616611
+ .long 3879896968
+ .long 3230658874
+ .long 2840741382
+ .long 3177076399
+ .long 2147479216
+ .long 3230658878
+ .long 1315931416
+ .long 3175394520
+ .long 396280360
+ .long 3230658882
+ .long 2917523745
+ .long 3176241221
+ .long 2921313312
+ .long 3230658885
+ .long 954068080
+ .long 3176872778
+ .long 1132688928
+ .long 3230658889
+ .long 1539389383
+ .long 3177096379
+ .long 3620387088
+ .long 3230658892
+ .long 3213801166
+ .long 1029050611
+ .long 1794518304
+ .long 3230658896
+ .long 224494799
+ .long 1029157143
+ .long 4245062128
+ .long 3230658899
+ .long 2292409870
+ .long 1029149094
+ .long 2382128760
+ .long 3230658903
+ .long 4172000302
+ .long 1029521900
+ .long 500730120
+ .long 3230658907
+ .long 1566889331
+ .long 1022410137
+ .long 2895877976
+ .long 3230658910
+ .long 3447287041
+ .long 3177068115
+ .long 977682048
+ .long 3230658914
+ .long 6222552
+ .long 3176756595
+ .long 3336121072
+ .long 3230658917
+ .long 3594755137
+ .long 3176063522
+ .long 1381304448
+ .long 3230658921
+ .long 1172789584
+ .long 1029247928
+ .long 3703210584
+ .long 3230658924
+ .long 2721646462
+ .long 3176500859
+ .long 1711948584
+ .long 3230658928
+ .long 1244442214
+ .long 1029312023
+ .long 3997496536
+ .long 3230658931
+ .long 272480018
+ .long 1025685723
+ .long 1969963224
+ .long 3230658935
+ .long 1208505284
+ .long 1029490192
+ .long 4219326432
+ .long 3230658938
+ .long 3360578575
+ .long 3174058635
+ .long 2155694632
+ .long 3230658942
+ .long 2245681021
+ .long 1026963921
+ .long 74078008
+ .long 3230658946
+ .long 3496835215
+ .long 3176351493
+ .long 2269486608
+ .long 3230658949
+ .long 2995409405
+ .long 3176402213
+ .long 152028432
+ .long 3230658953
+ .long 2946959370
+ .long 3171080196
+ .long 2311680512
+ .long 3230658956
+ .long 811079866
+ .long 1029646941
+ .long 158550536
+ .long 3230658960
+ .long 2634400740
+ .long 3174719534
+ .long 2282615248
+ .long 3230658963
+ .long 3704965237
+ .long 3176349039
+ .long 93982048
+ .long 3230658967
+ .long 2840134146
+ .long 1025829616
+ .long 2182627360
+ .long 3230658970
+ .long 1838738265
+ .long 3176564070
+ .long 4253625592
+ .long 3230658973
+ .long 1173390987
+ .long 3176177543
+ .long 2012050992
+ .long 3230658977
+ .long 1084871272
+ .long 3173895075
+ .long 4047879552
+ .long 3230658980
+ .long 3493007974
+ .long 1028200188
+ .long 1771217928
+ .long 3230658984
+ .long 866422899
+ .long 3176434896
+ .long 3772041832
+ .long 3230658987
+ .long 241037730
+ .long 3176289012
+ .long 1460457632
+ .long 3230658991
+ .long 1003496008
+ .long 3176406370
+ .long 3426440744
+ .long 3230658994
+ .long 2184560753
+ .long 3173354948
+ .long 1080097248
+ .long 3230658998
+ .long 4029600754
+ .long 3175828440
+ .long 3011402280
+ .long 3230659001
+ .long 2827800738
+ .long 1028558112
+ .long 630461632
+ .long 3230659005
+ .long 1669381205
+ .long 1027303067
+ .long 2527250152
+ .long 3230659008
+ .long 1507135636
+ .long 3175470401
+ .long 111873368
+ .long 3230659012
+ .long 4290552909
+ .long 1029305988
+ .long 1974305832
+ .long 3230659015
+ .long 491815833
+ .long 1028930331
+ .long 3819620088
+ .long 3230659018
+ .long 974322798
+ .long 1029451925
+ .long 1352888528
+ .long 3230659022
+ .long 1335536991
+ .long 3172426672
+ .long 3164085312
+ .long 3230659025
+ .long 2773436098
+ .long 1029127279
+ .long 663315256
+ .long 3230659029
+ .long 2684187733
+ .long 1028181243
+ .long 2440552240
+ .long 3230659032
+ .long 2161571790
+ .long 1027765615
+ .long 4200868112
+ .long 3230659035
+ .long 3277047205
+ .long 3174837243
+ .long 1649334592
+ .long 3230659039
+ .long 4124850187
+ .long 1025335396
+ .long 3375925144
+ .long 3230659042
+ .long 3003584975
+ .long 1021519814
+ .long 790743920
+ .long 3230659046
+ .long 1415914940
+ .long 1024723625
+ .long 2483764120
+ .long 3230659049
+ .long 1136793699
+ .long 3172319743
+ .long 4160056928
+ .long 3230659052
+ .long 2148664472
+ .long 1029245862
+ .long 1524693384
+ .long 3230659056
+ .long 3056467792
+ .long 1028886726
+ .long 3167646296
+ .long 3230659059
+ .long 142099839
+ .long 1028497609
+ .long 499019152
+ .long 3230659063
+ .long 3699751308
+ .long 1026582910
+ .long 2108784496
+ .long 3230659066
+ .long 2287012473
+ .long 1023727633
+ .long 3702012848
+ .long 3230659069
+ .long 2554126940
+ .long 3177131484
+ .long 983774616
+ .long 3230659073
+ .long 263088196
+ .long 1028047407
+ .long 2544041936
+ .long 3230659076
+ .long 1900821763
+ .long 3176347035
+ .long 4087884960
+ .long 3230659079
+ .long 1428486283
+ .long 3175804842
+ .long 1320373696
+ .long 3230659083
+ .long 1249103901
+ .long 1027194698
+ .long 2831479912
+ .long 3230659086
+ .long 4024111846
+ .long 1027875195
+ .long 31306072
+ .long 3230659090
+ .long 2178201336
+ .long 1028790706
+ .long 1509823688
+ .long 3230659093
+ .long 863228784
+ .long 3177069330
+ .long 2972102280
+ .long 3230659096
+ .long 2800600011
+ .long 3176772901
+ .long 123211224
+ .long 3230659100
+ .long 2000143580
+ .long 3175827790
+ .long 1553121664
+ .long 3230659103
+ .long 3598597716
+ .long 3174664631
+ .long 2966902736
+ .long 3230659106
+ .long 160093135
+ .long 1028156559
+ .long 69623448
+ .long 3230659110
+ .long 1838028210
+ .long 1028805781
+ .long 1451254576
+ .long 3230659113
+ .long 171321689
+ .long 1027544179
+ .long 2816864888
+ .long 3230659116
+ .long 48443041
+ .long 3175147757
+ .long 4166490328
+ .long 3230659119
+ .long 2602435169
+ .long 3175152427
+ .long 1205199416
+ .long 3230659123
+ .long 3778841539
+ .long 3176922801
+ .long 2522962456
+ .long 3230659126
+ .long 69075835
+ .long 1029409055
+ .long 3824847712
+ .long 3230659129
+ .long 660089785
+ .long 3174442320
+ .long 815923368
+ .long 3230659133
+ .long 2460308321
+ .long 1029094234
+ .long 2086159344
+ .long 3230659136
+ .long 3024187972
+ .long 3174141999
+ .long 3340623576
+ .long 3230659139
+ .long 1011494086
+ .long 3176827516
+ .long 284383880
+ .long 3230659143
+ .long 3868463126
+ .long 3173236251
+ .long 1507409832
+ .long 3230659146
+ .long 4210695494
+ .long 1029032026
+ .long 2714769000
+ .long 3230659149
+ .long 2695744497
+ .long 3176876805
+ .long 3906496160
+ .long 3230659152
+ .long 343340875
+ .long 1024675097
+ .long 787658648
+ .long 3230659156
+ .long 2519963105
+ .long 1029601486
+ .long 1948225576
+ .long 3230659159
+ .long 2834660375
+ .long 1027576345
+ .long 3093264072
+ .long 3230659162
+ .long 1202481435
+ .long 1029504111
+ .long 4222808424
+ .long 3230659165
+ .long 548784753
+ .long 1028305847
+ .long 1041925528
+ .long 3230659169
+ .long 2583607066
+ .long 1028957355
+ .long 2140584040
+ .long 3230659172
+ .long 2642007844
+ .long 3175275174
+ .long 3223850632
+ .long 3230659175
+ .long 352423749
+ .long 3174321553
+ .long 4291759144
+ .long 3230659178
+ .long 339552960
+ .long 3176556350
+ .long 1049376024
+ .long 3230659182
+ .long 2660353592
+ .long 1027255432
+ .long 2086669480
+ .long 3230659185
+ .long 1104152295
+ .long 1028453979
+ .long 3108705728
+ .long 3230659188
+ .long 540614262
+ .long 3175907859
+ .long 4115518184
+ .long 3230659191
+ .long 3806184097
+ .long 1028762582
+ .long 812172832
+ .long 3230659195
+ .long 308602627
+ .long 3173981149
+ .long 1788637456
+ .long 3230659198
+ .long 1325608725
+ .long 3176678267
+ .long 2749977840
+ .long 3230659201
+ .long 990288509
+ .long 3176107526
+ .long 3696226952
+ .long 3230659204
+ .long 1916429866
+ .long 1028814544
+ .long 332450344
+ .long 3230659208
+ .long 3336107755
+ .long 3176608247
+ .long 1248615376
+ .long 3230659211
+ .long 4035119084
+ .long 3176707463
+ .long 2149787400
+ .long 3230659214
+ .long 2050304943
+ .long 1029173658
+ .long 3035998944
+ .long 3230659217
+ .long 2951948176
+ .long 1029115289
+ .long 3907282448
+ .long 3230659220
+ .long 2907658715
+ .long 1028586234
+ .long 468702944
+ .long 3230659224
+ .long 674698596
+ .long 3175213847
+ .long 1310227256
+ .long 3230659227
+ .long 3034611927
+ .long 1027966053
+ .long 2136920200
+ .long 3230659230
+ .long 2687871008
+ .long 1028041908
+ .long 2948813792
+ .long 3230659233
+ .long 596497875
+ .long 3174693992
+ .long 3745939952
+ .long 3230659236
+ .long 3329560030
+ .long 1028812176
+ .long 233363184
+ .long 3230659240
+ .long 1501722877
+ .long 1028149340
+ .long 1001049792
+ .long 3230659243
+ .long 3907078376
+ .long 1028788204
+ .long 1754064080
+ .long 3230659246
+ .long 946102851
+ .long 1024784319
+ .long 2492437552
+ .long 3230659249
+ .long 2477139935
+ .long 3176834550
+ .long 3216201616
+ .long 3230659252
+ .long 3861383265
+ .long 3175556568
+ .long 3925387568
+ .long 3230659255
+ .long 1708411866
+ .long 1028140551
+ .long 325059304
+ .long 3230659259
+ .long 1571249374
+ .long 3176283508
+ .long 1005182528
+ .long 3230659262
+ .long 1100083059
+ .long 3174229259
+ .long 1670820936
+ .long 3230659265
+ .long 3756028850
+ .long 3175680086
+ .long 2322005432
+ .long 3230659268
+ .long 1631050573
+ .long 3176213330
+ .long 2958766824
+ .long 3230659271
+ .long 1907582341
+ .long 1029438684
+ .long 3581135800
+ .long 3230659274
+ .long 2950542199
+ .long 3173786866
+ .long 4189142976
+ .long 3230659277
+ .long 114954998
+ .long 3177096717
+ .long 487851568
+ .long 3230659281
+ .long 2653253061
+ .long 3176673071
+ .long 1067226576
+ .long 3230659284
+ .long 1766996068
+ .long 3175354818
+ .long 1632331016
+ .long 3230659287
+ .long 3950907539
+ .long 3175157886
+ .long 2183195112
+ .long 3230659290
+ .long 2440105690
+ .long 1029327524
+ .long 2719848976
+ .long 3230659293
+ .long 341115768
+ .long 1028056330
+ .long 3242322640
+ .long 3230659296
+ .long 3179572713
+ .long 3175645667
+ .long 3750646040
+ .long 3230659299
+ .long 935147933
+ .long 3175536948
+ .long 4244849008
+ .long 3230659302
+ .long 3916511820
+ .long 3176877809
+ .long 429994000
+ .long 3230659306
+ .long 3978671087
+ .long 1028263473
+ .long 896045240
+ .long 3230659309
+ .long 230228243
+ .long 3176823382
+ .long 1348065008
+ .long 3230659312
+ .long 1603302089
+ .long 1028781499
+ .long 1786082752
+ .long 3230659315
+ .long 1397794181
+ .long 1029625122
+ .long 2210127840
+ .long 3230659318
+ .long 3655812571
+ .long 3172766563
+ .long 2620229560
+ .long 3230659321
+ .long 2385997325
+ .long 1026727032
+ .long 3016417088
+ .long 3230659324
+ .long 697404896
+ .long 3176786781
+ .long 3398719528
+ .long 3230659327
+ .long 3231162475
+ .long 3175777962
+ .long 3767165880
+ .long 3230659330
+ .long 2548610257
+ .long 1028922412
+ .long 4121785048
+ .long 3230659333
+ .long 3962667547
+ .long 1027852637
+ .long 167638560
+ .long 3230659337
+ .long 3554092856
+ .long 3176729278
+ .long 494689752
+ .long 3230659340
+ .long 2911955219
+ .long 1028435709
+ .long 807999952
+ .long 3230659343
+ .long 3789336944
+ .long 3176103637
+ .long 1107597728
+ .long 3230659346
+ .long 3750507527
+ .long 1027365134
+ .long 1393511536
+ .long 3230659349
+ .long 1827158241
+ .long 1028945876
+ .long 1665769752
+ .long 3230659352
+ .long 3306289784
+ .long 1029589760
+ .long 1924400656
+ .long 3230659355
+ .long 1510741592
+ .long 3176411966
+ .long 2169432464
+ .long 3230659358
+ .long 2294259978
+ .long 1025847307
+ .long 2400893272
+ .long 3230659361
+ .long 539270871
+ .long 3176922069
+ .long 2618811120
+ .long 3230659364
+ .long 3685107127
+ .long 1027828508
+ .long 2823213928
+ .long 3230659367
+ .long 3271061162
+ .long 3176969831
+ .long 3014129568
+ .long 3230659370
+ .long 1787956575
+ .long 1028863184
+ .long 3191585784
+ .long 3230659373
+ .long 716587587
+ .long 3176400736
+ .long 3355610272
+ .long 3230659376
+ .long 2630361878
+ .long 3176313132
+ .long 3506230624
+ .long 3230659379
+ .long 3623957067
+ .long 1024822653
+ .long 3643474344
+ .long 3230659382
+ .long 3940980068
+ .long 3174610269
+ .long 3767368864
+ .long 3230659385
+ .long 499400003
+ .long 1028297429
+ .long 3877941520
+ .long 3230659388
+ .long 3143491592
+ .long 1028937135
+ .long 3975219568
+ .long 3230659391
+ .long 1265600507
+ .long 1027302761
+ .long 4059230184
+ .long 3230659394
+ .long 3423756523
+ .long 3174759308
+ .long 4130000464
+ .long 3230659397
+ .long 2126977913
+ .long 1029294479
+ .long 4187557400
+ .long 3230659400
+ .long 1341359213
+ .long 3176282153
+ .long 4231927936
+ .long 3230659403
+ .long 142327675
+ .long 1028516775
+ .long 4263138896
+ .long 3230659406
+ .long 3537045733
+ .long 3176611365
+ .long 4281217056
+ .long 3230659409
+ .long 804943611
+ .long 3175398448
+ .long 4286189088
+ .long 3230659412
+ .long 2300440576
+ .long 3173821797
+ .long 4278081592
+ .long 3230659415
+ .long 650140298
+ .long 1028345827
+ .long 4256921080
+ .long 3230659418
+ .long 258434203
+ .long 1024439656
+ .long 4222733992
+ .long 3230659421
+ .long 2845277783
+ .long 3175806217
+ .long 4175546688
+ .long 3230659424
+ .long 486214358
+ .long 1021995298
+ .long 4115385440
+ .long 3230659427
+ .long 362801877
+ .long 1027412332
+ .long 4042276440
+ .long 3230659430
+ .long 3220639070
+ .long 3177080040
+ .long 3956245816
+ .long 3230659433
+ .long 3857709974
+ .long 3176973100
+ .long 3857319608
+ .long 3230659436
+ .long 300219354
+ .long 1029159912
+ .long 3745523760
+ .long 3230659439
+ .long 2500015736
+ .long 3170135365
+ .long 3620884168
+ .long 3230659442
+ .long 3361192444
+ .long 1028410302
+ .long 3483426624
+ .long 3230659445
+ .long 962673197
+ .long 3176780787
+ .long 3333176872
+ .long 3230659448
+ .long 466308644
+ .long 1029193870
+ .long 3170160544
+ .long 3230659451
+ .long 1036576323
+ .long 1029692281
+ .long 2994403208
+ .long 3230659454
+ .long 1262493470
+ .long 3177123208
+ .long 2805930376
+ .long 3230659457
+ .long 2116833460
+ .long 3176824531
+ .long 2604767464
+ .long 3230659460
+ .long 4130386607
+ .long 1029379265
+ .long 2390939800
+ .long 3230659463
+ .long 3203410687
+ .long 1028676250
+ .long 2164472656
+ .long 3230659466
+ .long 1369952708
+ .long 3175783357
+ .long 1925391232
+ .long 3230659469
+ .long 879032334
+ .long 1028096866
+ .long 1673720632
+ .long 3230659472
+ .long 4136287431
+ .long 3171822968
+ .long 1409485904
+ .long 3230659475
+ .long 1676116683
+ .long 1027498055
+ .long 1132712008
+ .long 3230659478
+ .long 2215341913
+ .long 3175421168
+ .long 843423840
+ .long 3230659481
+ .long 1029715364
+ .long 3176433781
+ .long 541646224
+ .long 3230659484
+ .long 2606758269
+ .long 1029491721
+ .long 227403888
+ .long 3230659487
+ .long 2201115753
+ .long 1027951322
+ .long 4195688808
+ .long 3230659489
+ .long 4218769073
+ .long 1025395495
+ .long 3856590992
+ .long 3230659492
+ .long 434820483
+ .long 1029228152
+ .long 3505102248
+ .long 3230659495
+ .long 3898434635
+ .long 3176361218
+ .long 3141247048
+ .long 3230659498
+ .long 3118973316
+ .long 1029656842
+ .long 2765049752
+ .long 3230659501
+ .long 2996229621
+ .long 1029012421
+ .long 2376534672
+ .long 3230659504
+ .long 2407486153
+ .long 3175647547
+ .long 1975726056
+ .long 3230659507
+ .long 2587350529
+ .long 1029480630
+ .long 1562648048
+ .long 3230659510
+ .long 4294469746
+ .long 3176242263
+ .long 1137324760
+ .long 3230659513
+ .long 3819488195
+ .long 1023708576
+ .long 699780200
+ .long 3230659516
+ .long 116131792
+ .long 3177042014
+ .long 250038336
+ .long 3230659519
+ .long 1551898075
+ .long 1029096746
+ .long 4083090328
+ .long 3230659521
+ .long 2844986349
+ .long 1028973019
+ .long 3609025400
+ .long 3230659524
+ .long 2591634103
+ .long 1026318183
+ .long 3122834592
+ .long 3230659527
+ .long 2325851864
+ .long 3175053154
+ .long 2114169952
+ .long 3230659533
+ .long 790463889
+ .long 3176974498
+ .long 1057284960
+ .long 3230659539
+ .long 1675706223
+ .long 1028317332
+ .long 4247334344
+ .long 3230659544
+ .long 4226562338
+ .long 1027765102
+ .long 3094569872
+ .long 3230659550
+ .long 2366937865
+ .long 3168809551
+ .long 1894144112
+ .long 3230659556
+ .long 1267587328
+ .long 3176269982
+ .long 646241264
+ .long 3230659562
+ .long 1575621247
+ .long 3177156253
+ .long 3646011760
+ .long 3230659567
+ .long 2645567153
+ .long 3175833815
+ .long 2303703080
+ .long 3230659573
+ .long 1827286098
+ .long 1027997469
+ .long 914463544
+ .long 3230659579
+ .long 752350642
+ .long 1029527042
+ .long 3773440424
+ .long 3230659584
+ .long 160463655
+ .long 3176715839
+ .long 2290878096
+ .long 3230659590
+ .long 909081824
+ .long 3175933674
+ .long 761921776
+ .long 3230659596
+ .long 2905535403
+ .long 1028759497
+ .long 3481715656
+ .long 3230659601
+ .long 3887423264
+ .long 3176529033
+ .long 1860501056
+ .long 3230659607
+ .long 2811353534
+ .long 3176342172
+ .long 193420168
+ .long 3230659613
+ .long 3875218385
+ .long 1029601075
+ .long 2775614176
+ .long 3230659618
+ .long 915846711
+ .long 1029206337
+ .long 1017321408
+ .long 3230659624
+ .long 2817823673
+ .long 1028329866
+ .long 3508648392
+ .long 3230659629
+ .long 2457221968
+ .long 1028382518
+ .long 1659831496
+ .long 3230659635
+ .long 1953946979
+ .long 1028155361
+ .long 4060975304
+ .long 3230659640
+ .long 1103591667
+ .long 3177007543
+ .long 2122314280
+ .long 3230659646
+ .long 1917780451
+ .long 1029286965
+ .long 138983784
+ .long 3230659652
+ .long 3695788845
+ .long 3176288716
+ .long 2406118280
+ .long 3230659657
+ .long 1052548871
+ .long 1029099285
+ .long 333949368
+ .long 3230659663
+ .long 1769629084
+ .long 1028668282
+ .long 2512576920
+ .long 3230659668
+ .long 2829899890
+ .long 3177160765
+ .long 352230712
+ .long 3230659674
+ .long 190593276
+ .long 3177082107
+ .long 2443008776
+ .long 3230659679
+ .long 308933071
+ .long 1028033311
+ .long 195139040
+ .long 3230659685
+ .long 2406662387
+ .long 3174119994
+ .long 2198717736
+ .long 3230659690
+ .long 3951897556
+ .long 1025531185
+ .long 4158938296
+ .long 3230659695
+ .long 3747433104
+ .long 3176582029
+ .long 1780993280
+ .long 3230659701
+ .long 1185733823
+ .long 1025977389
+ .long 3654976232
+ .long 3230659706
+ .long 2876938397
+ .long 3175696111
+ .long 1191110656
+ .long 3230659712
+ .long 1221563196
+ .long 3173251774
+ .long 2979488360
+ .long 3230659717
+ .long 2581073785
+ .long 1028588464
+ .long 430331104
+ .long 3230659723
+ .long 1522002357
+ .long 1028645059
+ .long 2133728976
+ .long 3230659728
+ .long 1060437513
+ .long 3176445060
+ .long 3794869336
+ .long 3230659733
+ .long 1092840036
+ .long 3177052773
+ .long 1118938696
+ .long 3230659739
+ .long 2353106107
+ .long 1029111084
+ .long 2696024600
+ .long 3230659744
+ .long 4060627338
+ .long 1029597310
+ .long 4231311888
+ .long 3230659749
+ .long 3779876129
+ .long 1028286236
+ .long 1429984576
+ .long 3230659755
+ .long 48483734
+ .long 1027710210
+ .long 2882127744
+ .long 3230659760
+ .long 445208449
+ .long 1029139348
+ .long 4292923760
+ .long 3230659765
+ .long 2295142960
+ .long 3176049005
+ .long 1367554208
+ .long 3230659771
+ .long 1540635558
+ .long 1028483904
+ .long 2696101728
+ .long 3230659776
+ .long 352999095
+ .long 3169858434
+ .long 3983746296
+ .long 3230659781
+ .long 1810565431
+ .long 3175091705
+ .long 935667088
+ .long 3230659787
+ .long 349039573
+ .long 3176928791
+ .long 2141944392
+ .long 3230659792
+ .long 3659173497
+ .long 3174252174
+ .long 3307755816
+ .long 3230659797
+ .long 58840479
+ .long 1028893602
+ .long 138278192
+ .long 3230659803
+ .long 2062870396
+ .long 3175475632
+ .long 1223589488
+ .long 3230659808
+ .long 3079310401
+ .long 3176348925
+ .long 2268865008
+ .long 3230659813
+ .long 4107437042
+ .long 3177028487
+ .long 3274246600
+ .long 3230659818
+ .long 3740178426
+ .long 3176375927
+ .long 4239875352
+ .long 3230659823
+ .long 1575862792
+ .long 3176856991
+ .long 870924320
+ .long 3230659829
+ .long 1293986679
+ .long 1021959545
+ .long 1757467688
+ .long 3230659834
+ .long 1268894705
+ .long 3177114344
+ .long 2604677040
+ .long 3230659839
+ .long 1483899592
+ .long 3176088657
+ .long 3412690504
+ .long 3230659844
+ .long 1351083799
+ .long 3175751585
+ .long 4181645488
+ .long 3230659849
+ .long 1119433498
+ .long 3177131776
+ .long 616711392
+ .long 3230659855
+ .long 4175979329
+ .long 3173786505
+ .long 1307958768
+ .long 3230659860
+ .long 2068378112
+ .long 3176493003
+ .long 1960555592
+ .long 3230659865
+ .long 178688056
+ .long 1027848710
+ .long 2574636408
+ .long 3230659870
+ .long 2359427625
+ .long 1028095731
+ .long 3150335072
+ .long 3230659875
+ .long 446961290
+ .long 1028242607
+ .long 3687784736
+ .long 3230659880
+ .long 2606786686
+ .long 3176252768
+ .long 4187117872
+ .long 3230659885
+ .long 147991783
+ .long 3176229143
+ .long 353498960
+ .long 3230659891
+ .long 2565649361
+ .long 1026609244
+ .long 776993680
+ .long 3230659896
+ .long 91083332
+ .long 3175234267
+ .long 1162765160
+ .long 3230659901
+ .long 1883429456
+ .long 3174458208
+ .long 1510943144
+ .long 3230659906
+ .long 1013024678
+ .long 1027761501
+ .long 1821656704
+ .long 3230659911
+ .long 2329976096
+ .long 3171060885
+ .long 2095034256
+ .long 3230659916
+ .long 393569875
+ .long 3175313071
+ .long 2331203560
+ .long 3230659921
+ .long 3866070308
+ .long 1029684158
+ .long 2530291696
+ .long 3230659926
+ .long 2303293568
+ .long 3177026483
+ .long 2692425136
+ .long 3230659931
+ .long 4151833399
+ .long 3175350159
+ .long 2817729672
+ .long 3230659936
+ .long 65831588
+ .long 3170064008
+ .long 2906330464
+ .long 3230659941
+ .long 3126642666
+ .long 3176187966
+ .long 2958352048
+ .long 3230659946
+ .long 1091895479
+ .long 1029434562
+ .long 2973918296
+ .long 3230659951
+ .long 1341819779
+ .long 3177032854
+ .long 2953152496
+ .long 3230659956
+ .long 3431130783
+ .long 1025344246
+ .long 2896177272
+ .long 3230659961
+ .long 222319660
+ .long 3174332028
+ .long 2803114648
+ .long 3230659966
+ .long 2574176974
+ .long 3176321678
+ .long 2674086032
+ .long 3230659971
+ .long 3543599213
+ .long 3175295621
+ .long 2509212216
+ .long 3230659976
+ .long 3961571325
+ .long 1028729606
+ .long 2308613376
+ .long 3230659981
+ .long 1968562443
+ .long 3175604756
+ .long 2072409104
+ .long 3230659986
+ .long 169553949
+ .long 3175973960
+ .long 1800718384
+ .long 3230659991
+ .long 1866092989
+ .long 1029054996
+ .long 1493659592
+ .long 3230659996
+ .long 3321480082
+ .long 1028052101
+ .long 1151350528
+ .long 3230660001
+ .long 1162474749
+ .long 3175441009
+ .long 773908408
+ .long 3230660006
+ .long 2117491299
+ .long 1028922038
+ .long 361449840
+ .long 3230660011
+ .long 1720394601
+ .long 3176859733
+ .long 4209058184
+ .long 3230660015
+ .long 3270331864
+ .long 1026022939
+ .long 3726914304
+ .long 3230660020
+ .long 761189460
+ .long 1027666521
+ .long 3210100392
+ .long 3230660025
+ .long 3128639134
+ .long 3176063736
+ .long 2658730784
+ .long 3230660030
+ .long 861675876
+ .long 3174834708
+ .long 2072919240
+ .long 3230660035
+ .long 598417369
+ .long 1026585686
+ .long 1452778960
+ .long 3230660040
+ .long 2969558584
+ .long 3174198415
+ .long 798422592
+ .long 3230660045
+ .long 1955836092
+ .long 3175908135
+ .long 109962232
+ .long 3230660050
+ .long 1441195450
+ .long 1027193622
+ .long 3682476712
+ .long 3230660054
+ .long 3027916121
+ .long 1027617136
+ .long 2926142440
+ .long 3230660059
+ .long 4058891045
+ .long 1029177821
+ .long 2136037160
+ .long 3230660064
+ .long 3295666276
+ .long 1028335364
+ .long 1312270792
+ .long 3230660069
+ .long 2664877443
+ .long 1029314281
+ .long 454952704
+ .long 3230660074
+ .long 2887304751
+ .long 3176354723
+ .long 3859159056
+ .long 3230660078
+ .long 3247043098
+ .long 1029078121
+ .long 2935063552
+ .long 3230660083
+ .long 551596274
+ .long 3176193330
+ .long 1977741296
+ .long 3230660088
+ .long 2154007986
+ .long 3174741581
+ .long 987299552
+ .long 3230660093
+ .long 1133524394
+ .long 1027524435
+ .long 4258812360
+ .long 3230660097
+ .long 1600085620
+ .long 3177058369
+ .long 3202451376
+ .long 3230660102
+ .long 2333163438
+ .long 3176526084
+ .long 2113289616
+ .long 3230660107
+ .long 276039368
+ .long 1025414372
+ .long 991432288
+ .long 3230660112
+ .long 3502468789
+ .long 3176017589
+ .long 4131951408
+ .long 3230660116
+ .long 1901031578
+ .long 1027861596
+ .long 2945016584
+ .long 3230660121
+ .long 1505110536
+ .long 1028759236
+ .long 1725698816
+ .long 3230660126
+ .long 2648053277
+ .long 3176895440
+ .long 474101336
+ .long 3230660131
+ .long 1239242430
+ .long 1029534392
+ .long 3485294136
+ .long 3230660135
+ .long 845517171
+ .long 3173477246
+ .long 2169444872
+ .long 3230660140
+ .long 4075267769
+ .long 1028643096
+ .long 821622576
+ .long 3230660145
+ .long 499928215
+ .long 1029048762
+ .long 3736895800
+ .long 3230660149
+ .long 870045772
+ .long 3176516274
+ .long 2325430744
+ .long 3230660154
+ .long 3081415625
+ .long 3176560522
+ .long 882295008
+ .long 3230660159
+ .long 3662267248
+ .long 1029384081
+ .long 3702555704
+ .long 3230660163
+ .long 4011089820
+ .long 1029189731
+ .long 2196377600
+ .long 3230660168
+ .long 2872532918
+ .long 3175632540
+ .long 658826888
+ .long 3230660173
+ .long 2512614570
+ .long 3176940300
+ .long 3384969288
+ .long 3230660177
+ .long 2018053043
+ .long 3176636781
+ .long 1784968168
+ .long 3230660182
+ .long 927902188
+ .long 3175374192
+ .long 153888328
+ .long 3230660187
+ .long 338402635
+ .long 1029478185
+ .long 2786794096
+ .long 3230660191
+ .long 2634228741
+ .long 3175787031
+ .long 1093847488
+ .long 3230660196
+ .long 13726686
+ .long 3173662371
+ .long 3665079232
+ .long 3230660200
+ .long 955232272
+ .long 1029144724
+ .long 1910650416
+ .long 3230660205
+ .long 1913213398
+ .long 3177091414
+ .long 125623600
+ .long 3230660210
+ .long 3896909877
+ .long 3176901474
+ .long 2605060880
+ .long 3230660214
+ .long 1162024003
+ .long 3171225909
+ .long 759122024
+ .long 3230660219
+ .long 101180827
+ .long 1028720107
+ .long 3177835544
+ .long 3230660223
+ .long 1119059392
+ .long 3177080184
+ .long 1271360360
+ .long 3230660228
+ .long 2533735500
+ .long 1028313476
+ .long 3629724104
+ .long 3230660232
+ .long 2461458646
+ .long 3176172399
+ .long 1663084832
+ .long 3230660237
+ .long 3468033532
+ .long 1028155452
+ .long 3961469328
+ .long 3230660241
+ .long 688573429
+ .long 3173787118
+ .long 1935034792
+ .long 3230660246
+ .long 852313808
+ .long 1029214281
+ .long 4173807160
+ .long 3230660250
+ .long 1743831019
+ .long 3176961601
+ .long 2087942800
+ .long 3230660255
+ .long 939132585
+ .long 3175339625
+ .long 4267466816
+ .long 3230660259
+ .long 804943611
+ .long 3176447024
+ .long 2122534736
+ .long 3230660264
+ .long 1216317347
+ .long 1028000177
+ .long 4243170840
+ .long 3230660268
+ .long 2936275121
+ .long 3175268569
+ .long 2039529840
+ .long 3230660273
+ .long 2537367085
+ .long 1028954723
+ .long 4101635200
+ .long 3230660277
+ .long 2494170689
+ .long 3173567976
+ .long 1839640816
+ .long 3230660282
+ .long 392206900
+ .long 3176845046
+ .long 3843569368
+ .long 3230660286
+ .long 4090462392
+ .long 1028307871
+ .long 1523573928
+ .long 3230660291
+ .long 460756979
+ .long 3176389882
+ .long 3469676392
+ .long 3230660295
+ .long 2929822293
+ .long 1029426676
+ .long 1092029040
+ .long 3230660300
+ .long 3560063032
+ .long 1027386665
+ .long 2980652976
+ .long 3230660304
+ .long 2630002021
+ .long 1029084255
+ .long 545699712
+ .long 3230660309
+ .long 3251005607
+ .long 1029513439
+ .long 2377189560
+ .long 3230660313
+ .long 2613820932
+ .long 1027076618
+ .long 4180240568
+ .long 3230660317
+ .long 2799936722
+ .long 1025378340
+ .long 1659970392
+ .long 3230660322
+ .long 3210945223
+ .long 3175522055
+ .long 3406398200
+ .long 3230660326
+ .long 2950429423
+ .long 3176973715
+ .long 829673600
+ .long 3230660331
+ .long 1432187170
+ .long 3177113229
+ .long 2519815008
+ .long 3230660335
+ .long 3601043748
+ .long 3172224737
+ .long 4181938568
+ .long 3230660339
+ .long 814468389
+ .long 3175150283
+ .long 1521160064
+ .long 3230660344
+ .long 3976767292
+ .long 3177175436
+ .long 3127496808
+ .long 3230660348
+ .long 2716501510
+ .long 1028977394
+ .long 411096528
+ .long 3230660353
+ .long 878128567
+ .long 3176628610
+ .long 1961975816
+ .long 3230660357
+ .long 2184878723
+ .long 1028801182
+ .long 3485248976
+ .long 3230660361
+ .long 3145811820
+ .long 1029533129
+ .long 686029968
+ .long 3230660366
+ .long 3776363698
+ .long 1029165449
+ .long 2154334280
+ .long 3230660370
+ .long 671743341
+ .long 1024333977
+ .long 3595275160
+ .long 3230660374
+ .long 2461553818
+ .long 3174779052
+ .long 713965496
+ .long 3230660379
+ .long 2151713083
+ .long 3175993252
+ .long 2100419720
+ .long 3230660383
+ .long 3102031601
+ .long 1029232965
+ .long 3459750008
+ .long 3230660387
+ .long 4013823470
+ .long 1028620538
+ .long 497068208
+ .long 3230660392
+ .long 4248883599
+ .long 1028910528
+ .long 1802387696
+ .long 3230660396
+ .long 1846273839
+ .long 3175860934
+ .long 3080819632
+ .long 3230660400
+ .long 1848559975
+ .long 3175415033
+ .long 37474824
+ .long 3230660405
+ .long 883985798
+ .long 1029169919
+ .long 1262365616
+ .long 3230660409
+ .long 2970327261
+ .long 3175919327
+ .long 2460602152
+ .long 3230660413
+ .long 2212867178
+ .long 3176520464
+ .long 3632261520
+ .long 3230660417
+ .long 3872739030
+ .long 3176664707
+ .long 482453184
+ .long 3230660422
+ .long 1041960122
+ .long 1024886984
+ .long 1601188152
+ .long 3230660426
+ .long 3362961153
+ .long 3176317848
+ .long 2693575232
+ .long 3230660430
+ .long 914600537
+ .long 3175721660
+ .long 3759690192
+ .long 3230660434
+ .long 3732031835
+ .long 1029491624
+ .long 504641160
+ .long 3230660439
+ .long 1661949843
+ .long 3176759759
+ .long 1518437864
+ .long 3230660443
+ .long 1155538621
+ .long 3176080216
+ .long 2506187792
+ .long 3230660447
+ .long 2074668130
+ .long 3176155102
+ .long 3467965424
+ .long 3230660451
+ .long 5072226
+ .long 1029678430
+ .long 108877600
+ .long 3230660456
+ .long 3844188174
+ .long 3175740294
+ .long 1018932768
+ .long 3230660460
+ .long 509804163
+ .long 1026986837
+ .long 1903237144
+ .long 3230660464
+ .long 817284140
+ .long 1028367931
+ .long 2761863936
+ .long 3230660468
+ .long 1026749811
+ .long 1028400722
+ .long 3594886040
+ .long 3230660472
+ .long 134616122
+ .long 1027302887
+ .long 107408744
+ .long 3230660477
+ .long 3388129995
+ .long 3176634073
+ .long 889438928
+ .long 3230660481
+ .long 4952363
+ .long 1026762363
+ .long 1646081256
+ .long 3230660485
+ .long 602092353
+ .long 1025334666
+ .long 2377407400
+ .long 3230660489
+ .long 870715200
+ .long 1028049234
+ .long 3083488720
+ .long 3230660493
+ .long 2898850879
+ .long 1026959461
+ .long 3764396280
+ .long 3230660497
+ .long 1041634577
+ .long 3172001824
+ .long 125233544
+ .long 3230660502
+ .long 4098260650
+ .long 3176968164
+ .long 756005576
+ .long 3230660506
+ .long 3936264397
+ .long 3176271837
+ .long 1361815248
+ .long 3230660510
+ .long 2005773894
+ .long 1029460947
+ .long 1942732416
+ .long 3230660514
+ .long 2286486375
+ .long 3177123695
+ .long 2498826688
+ .long 3230660518
+ .long 1062595601
+ .long 1029046698
+ .long 3030167328
+ .long 3230660522
+ .long 589866180
+ .long 3176077962
+ .long 3536823352
+ .long 3230660526
+ .long 1103133966
+ .long 3175759187
+ .long 4018863464
+ .long 3230660530
+ .long 1280466737
+ .long 3177138719
+ .long 181388800
+ .long 3230660535
+ .long 2008274805
+ .long 3175962957
+ .long 614402088
+ .long 3230660539
+ .long 3816723771
+ .long 1026223943
+ .long 1023003888
+ .long 3230660543
+ .long 3028155298
+ .long 1028659203
+ .long 1407261776
+ .long 3230660547
+ .long 2229630046
+ .long 1029625324
+ .long 1767243040
+ .long 3230660551
+ .long 3164503958
+ .long 3174949449
+ .long 2103014712
+ .long 3230660555
+ .long 874323935
+ .long 1029396372
+ .long 2414643512
+ .long 3230660559
+ .long 136799065
+ .long 3176242621
+ .long 2702195920
+ .long 3230660563
+ .long 3087239240
+ .long 3175416105
+ .long 2965738120
+ .long 3230660567
+ .long 3552260349
+ .long 1026854656
+ .long 3205336024
+ .long 3230660571
+ .long 628231562
+ .long 3175305872
+ .long 3421055288
+ .long 3230660575
+ .long 723080663
+ .long 1029356970
+ .long 3612961272
+ .long 3230660579
+ .long 3562572440
+ .long 3176040503
+ .long 3781119104
+ .long 3230660583
+ .long 2799655455
+ .long 1029154690
+ .long 3925593608
+ .long 3230660587
+ .long 3936971761
+ .long 1026575267
+ .long 4046449368
+ .long 3230660591
+ .long 2072414816
+ .long 3175590577
+ .long 4143750696
+ .long 3230660595
+ .long 1765517578
+ .long 3176912984
+ .long 4217561648
+ .long 3230660599
+ .long 3309795482
+ .long 1025944498
+ .long 4267946000
+ .long 3230660603
+ .long 3577983989
+ .long 3176780675
+ .long 0
+ .long 3230660608
+ .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
+ .long 0
+ .long 0
+ .long 4278875493
+ .long 3211202435
+ .long 1836756087
+ .long 3212249540
+ .long 2166742286
+ .long 3212919558
+ .long 3069118545
+ .long 3213295184
+ .long 2882618713
+ .long 3213670083
+ .long 396983052
+ .long 3213964849
+ .long 2254986537
+ .long 3214151575
+ .long 2244137514
+ .long 3214337942
+ .long 2001317058
+ .long 3214523951
+ .long 3129282438
+ .long 3214709603
+ .long 2901961050
+ .long 3214894900
+ .long 3574805523
+ .long 3215006929
+ .long 97153270
+ .long 3215099225
+ .long 2489866790
+ .long 3215191344
+ .long 733531480
+ .long 3215283289
+ .long 1972305287
+ .long 3215375059
+ .long 449270987
+ .long 3215466656
+ .long 3276362132
+ .long 3215558079
+ .long 369713010
+ .long 3215649331
+ .long 3104484191
+ .long 3215740410
+ .long 1365308336
+ .long 3215831319
+ .long 2201113504
+ .long 3215922057
+ .long 4175201612
+ .long 3215997608
+ .long 2678235035
+ .long 3216042808
+ .long 111107850
+ .long 3216087924
+ .long 2115197501
+ .long 3216132955
+ .long 1439478642
+ .long 3216177903
+ .long 3710382531
+ .long 3216222767
+ .long 1662048346
+ .long 3216267549
+ .long 906181559
+ .long 3216312248
+ .long 2752238835
+ .long 3216356864
+ .long 4207481622
+ .long 3216401398
+ .long 2271996550
+ .long 3216445851
+ .long 2528682625
+ .long 3216490222
+ .long 1963434183
+ .long 3216534512
+ .long 1850094427
+ .long 3216578721
+ .long 3455539314
+ .long 3216622849
+ .long 3744760980
+ .long 3216666897
+ .long 3970852583
+ .long 3216710865
+ .long 1085123514
+ .long 3216754754
+ .long 622050639
+ .long 3216798563
+ .long 3814425306
+ .long 3216842292
+ .long 3298434523
+ .long 3216885943
+ .long 293578162
+ .long 3216929516
+ .long 307749260
+ .long 3216973010
+ .long 252379301
+ .long 3217016426
+ .long 663693424
+ .long 3217045466
+ .long 2363128292
+ .long 3217067096
+ .long 1523075309
+ .long 3217088688
+ .long 3028878894
+ .long 3217110241
+ .long 3172800190
+ .long 3217131756
+ .long 2538941307
+ .long 3217153233
+ .long 1708300177
+ .long 3217174672
+ .long 1258792512
+ .long 3217196073
+ .long 1765273565
+ .long 3217217436
+ .long 3799559706
+ .long 3217238761
+ .long 3635482505
+ .long 3217260049
+ .long 1838844516
+ .long 3217281300
+ .long 3267440290
+ .long 3217302513
+ .long 4186175309
+ .long 3217323689
+ .long 857021220
+ .long 3217344829
+ .long 2423938186
+ .long 3217365931
+ .long 848124101
+ .long 3217386997
+ .long 972805768
+ .long 3217408026
+ .long 3343389647
+ .long 3217429018
+ .long 4207481622
+ .long 3217449974
+ .long 4104841180
+ .long 3217470894
+ .long 3572433535
+ .long 3217491778
+ .long 3144448886
+ .long 3217512626
+ .long 3352321503
+ .long 3217533438
+ .long 429781357
+ .long 3217554215
+ .long 3492742067
+ .long 3217574955
+ .long 179581133
+ .long 3217595661
+ .long 3895798636
+ .long 3217616330
+ .long 2274427972
+ .long 3217636965
+ .long 125726943
+ .long 3217657565
+ .long 2257326549
+ .long 3217678129
+ .long 589346923
+ .long 3217698659
+ .long 4219186077
+ .long 3217719153
+ .long 766831764
+ .long 3217739614
+ .long 3619519104
+ .long 3217760039
+ .long 392140265
+ .long 3217780431
+ .long 171901807
+ .long 3217800788
+ .long 3453570542
+ .long 3217821110
+ .long 2139490342
+ .long 3217841399
+ .long 1014435273
+ .long 3217861654
+ .long 565756928
+ .long 3217881875
+ .long 1278368112
+ .long 3217902062
+ .long 3634759079
+ .long 3217922215
+ .long 3820046351
+ .long 3217942335
+ .long 2311923285
+ .long 3217962422
+ .long 3880675917
+ .long 3217982475
+ .long 409329490
+ .long 3218002496
+ .long 958435111
+ .long 3218022483
+ .long 1701314133
+ .long 3218042437
+ .long 3103942666
+ .long 3218062358
+ .long 2814999741
+ .long 3218080995
+ .long 2722956900
+ .long 3218090923
+ .long 1505407411
+ .long 3218100835
+ .long 3685756937
+ .long 3218110730
+ .long 901390368
+ .long 3218120610
+ .long 1968450191
+ .long 3218130473
+ .long 2817072651
+ .long 3218140320
+ .long 3671264118
+ .long 3218150151
+ .long 458973606
+ .long 3218159967
+ .long 1991969023
+ .long 3218169766
+ .long 4196040400
+ .long 3218179549
+ .long 2995908720
+ .long 3218189317
+ .long 2905167410
+ .long 3218199069
+ .long 4141387283
+ .long 3218208805
+ .long 2626123321
+ .long 3218218526
+ .long 2869823290
+ .long 3218228231
+ .long 791965228
+ .long 3218237921
+ .long 900933251
+ .long 3218247595
+ .long 3409122230
+ .long 3218257253
+ .long 4232944303
+ .long 3218266896
+ .long 3582769936
+ .long 3218276524
+ .long 1667967030
+ .long 3218286137
+ .long 2991874584
+ .long 3218295734
+ .long 3466907117
+ .long 3218305316
+ .long 3299462810
+ .long 3218314883
+ .long 2694962427
+ .long 3218324435
+ .long 1857855474
+ .long 3218333972
+ .long 991626313
+ .long 3218343494
+ .long 298800229
+ .long 3218353001
+ .long 4275916740
+ .long 3218362492
+ .long 238699089
+ .long 3218371970
+ .long 1271733131
+ .long 3218381432
+ .long 3278800247
+ .long 3218390879
+ .long 2162752362
+ .long 3218400312
+ .long 2415452322
+ .long 3218409730
+ .long 4232877747
+ .long 3218419133
+ .long 3515126734
+ .long 3218428522
+ .long 456358091
+ .long 3218437897
+ .long 3839764252
+ .long 3218447256
+ .long 972805768
+ .long 3218456602
+ .long 636889785
+ .long 3218465933
+ .long 3022604462
+ .long 3218475249
+ .long 4024691694
+ .long 3218484551
+ .long 3831987111
+ .long 3218493839
+ .long 2632458130
+ .long 3218503113
+ .long 613209272
+ .long 3218512373
+ .long 2255454733
+ .long 3218521618
+ .long 3449621726
+ .long 3218530849
+ .long 85290269
+ .long 3218540067
+ .long 936100227
+ .long 3218549270
+ .long 1889952648
+ .long 3218558459
+ .long 3128884028
+ .long 3218567634
+ .long 539136753
+ .long 3218576796
+ .long 2891033284
+ .long 3218585943
+ .long 1774210047
+ .long 3218595077
+ .long 1662393428
+ .long 3218604197
+ .long 2733535479
+ .long 3218613303
+ .long 869818766
+ .long 3218622396
+ .long 542563073
+ .long 3218631475
+ .long 1927328294
+ .long 3218640540
+ .long 903919170
+ .long 3218649592
+ .long 1941291890
+ .long 3218658630
+ .long 917689576
+ .long 3218667655
+ .long 2300516105
+ .long 3218676666
+ .long 1966471527
+ .long 3218685664
+ .long 86458524
+ .long 3218694649
+ .long 1125586940
+ .long 3218703620
+ .long 958276399
+ .long 3218712578
+ .long 4048129956
+ .long 3218721522
+ .long 1973102048
+ .long 3218730454
+ .long 3490273972
+ .long 3218739372
+ .long 176119889
+ .long 3218748278
+ .long 786249521
+ .long 3218757170
+ .long 1190641396
+ .long 3218766049
+ .long 1553516298
+ .long 3218774915
+ .long 2038374217
+ .long 3218783768
+ .long 2807998562
+ .long 3218792608
+ .long 4024460340
+ .long 3218801435
+ .long 1554155016
+ .long 3218810250
+ .long 4147675809
+ .long 3218819051
+ .long 3375046719
+ .long 3218827840
+ .long 3690497658
+ .long 3218836616
+ .long 957631997
+ .long 3218845380
+ .long 3924267057
+ .long 3218854130
+ .long 4157667002
+ .long 3218862868
+ .long 1814350566
+ .long 3218871594
+ .long 1345127672
+ .long 3218880307
+ .long 2905168726
+ .long 3218889007
+ .long 2354008484
+ .long 3218897695
+ .long 4140451764
+ .long 3218906370
+ .long 4122708074
+ .long 3218915033
+ .long 2453297277
+ .long 3218923684
+ .long 3579053340
+ .long 3218932322
+ .long 3356226173
+ .long 3218940948
+ .long 1935387215
+ .long 3218949562
+ .long 3761433103
+ .long 3218958163
+ .long 393720137
+ .long 3218966753
+ .long 570838969
+ .long 3218975330
+ .long 145847129
+ .long 3218983895
+ .long 3561109068
+ .long 3218992447
+ .long 2373463229
+ .long 3219000988
+ .long 1024029336
+ .long 3219009517
+ .long 3953310001
+ .long 3219018033
+ .long 2716292306
+ .long 3219026538
+ .long 1752255026
+ .long 3219035031
+ .long 1204902862
+ .long 3219043512
+ .long 1217337138
+ .long 3219051981
+ .long 1932059168
+ .long 3219060438
+ .long 3490973615
+ .long 3219068883
+ .long 1740424513
+ .long 3219077317
+ .long 1116100460
+ .long 3219085739
+ .long 1758136015
+ .long 3219094149
+ .long 3806082244
+ .long 3219102547
+ .long 3103942666
+ .long 3219110934
+ .long 4085078348
+ .long 3219119309
+ .long 2592341915
+ .long 3219127673
+ .long 1237017397
+ .long 1071636966
+ .long 2971350592
+ .long 1071628625
+ .long 2474540381
+ .long 1071620296
+ .long 3905998082
+ .long 1071611978
+ .long 2835758645
+ .long 1071603672
+ .long 3424346780
+ .long 1071595377
+ .long 1242904730
+ .long 1071587094
+ .long 453058437
+ .long 1071578822
+ .long 922012657
+ .long 1071570561
+ .long 2517515272
+ .long 1071562311
+ .long 812887046
+ .long 1071554073
+ .long 4266887859
+ .long 1071545845
+ .long 4158942730
+ .long 1071537629
+ .long 358942686
+ .long 1071529425
+ .long 1327241886
+ .long 1071521231
+ .long 2639818283
+ .long 1071513048
+ .long 4168139969
+ .long 1071504876
+ .long 1489227762
+ .long 1071496716
+ .long 3065521585
+ .long 1071488566
+ .long 180106617
+ .long 1071480428
+ .long 1296448894
+ .long 1071472300
+ .long 1993621492
+ .long 1071464183
+ .long 2146170984
+ .long 1071456077
+ .long 1629147435
+ .long 1071447982
+ .long 318101713
+ .long 1071439898
+ .long 2384050109
+ .long 1071431824
+ .long 3408569797
+ .long 1071423761
+ .long 3268698084
+ .long 1071415709
+ .long 1841962494
+ .long 1071407668
+ .long 3301345460
+ .long 1071399637
+ .long 3230379855
+ .long 1071391617
+ .long 1508048307
+ .long 1071383608
+ .long 2308780654
+ .long 1071375609
+ .long 1217549516
+ .long 1071367621
+ .long 2409736962
+ .long 1071359643
+ .long 1471262832
+ .long 1071351676
+ .long 2578451427
+ .long 1071343719
+ .long 1318159863
+ .long 1071335773
+ .long 1867644803
+ .long 1071327837
+ .long 4109658128
+ .long 1071319911
+ .long 3632444524
+ .long 1071311996
+ .long 319673663
+ .long 1071304092
+ .long 2645405118
+ .long 1071296197
+ .long 1904282206
+ .long 1071288313
+ .long 2276300709
+ .long 1071280439
+ .long 3646937343
+ .long 1071272575
+ .long 1607147436
+ .long 1071264722
+ .long 338264500
+ .long 1071256879
+ .long 4022063343
+ .long 1071249045
+ .long 3955855900
+ .long 1071241222
+ .long 27325445
+ .long 1071233410
+ .long 714524338
+ .long 1071225607
+ .long 1611035309
+ .long 1071217814
+ .long 2605838414
+ .long 1071210031
+ .long 3588341533
+ .long 1071202258
+ .long 153410875
+ .long 1071194496
+ .long 781237988
+ .long 1071186743
+ .long 1067533806
+ .long 1071179000
+ .long 903395686
+ .long 1071171267
+ .long 180337970
+ .long 1071163544
+ .long 3085257158
+ .long 1071155830
+ .long 920560604
+ .long 1071148127
+ .long 2168935497
+ .long 1071140433
+ .long 2428575699
+ .long 1071132749
+ .long 1593048857
+ .long 1071125075
+ .long 3851294344
+ .long 1071117410
+ .long 507752028
+ .long 1071109756
+ .long 47131309
+ .long 1071102111
+ .long 2364605328
+ .long 1071094475
+ .long 3060776247
+ .long 1071086849
+ .long 2031607852
+ .long 1071079233
+ .long 3468423567
+ .long 1071071626
+ .long 2973002597
+ .long 1071064029
+ .long 442479858
+ .long 1071056442
+ .long 69344031
+ .long 1071048864
+ .long 1751501034
+ .long 1071041295
+ .long 1092272106
+ .long 1071033736
+ .long 2285293781
+ .long 1071026186
+ .long 934646808
+ .long 1071018646
+ .long 1234723447
+ .long 1071011115
+ .long 3085323714
+ .long 1071003593
+ .long 2091653507
+ .long 1070996081
+ .long 2449224655
+ .long 1070988578
+ .long 4058951182
+ .long 1070981084
+ .long 2527147484
+ .long 1070973600
+ .long 2050428397
+ .long 1070966125
+ .long 2530805506
+ .long 1070958659
+ .long 3870652645
+ .long 1070951202
+ .long 1677736816
+ .long 1070943755
+ .long 150118311
+ .long 1070936317
+ .long 3486214350
+ .long 1070928887
+ .long 2999895448
+ .long 1070921467
+ .long 2890287450
+ .long 1070914056
+ .long 3061900616
+ .long 1070906654
+ .long 3419595198
+ .long 1070899261
+ .long 3868579735
+ .long 1070891877
+ .long 19442055
+ .long 1070884503
+ .long 368016775
+ .long 1070877137
+ .long 525579846
+ .long 1070869780
+ .long 398716067
+ .long 1070862432
+ .long 4189317433
+ .long 1070855092
+ .long 3214712303
+ .long 1070847762
+ .long 1677467535
+ .long 1070840441
+ .long 3780484975
+ .long 1070833128
+ .long 842097952
+ .long 1070825825
+ .long 1360840737
+ .long 1070818530
+ .long 950675880
+ .long 1070811244
+ .long 3815829096
+ .long 1070803966
+ .long 1275951213
+ .long 1070796698
+ .long 1830887666
+ .long 1070789438
+ .long 1095905871
+ .long 1070782187
+ .long 3276530156
+ .long 1070774944
+ .long 3988671029
+ .long 1070767710
+ .long 3143525540
+ .long 1070760485
+ .long 652608459
+ .long 1070753269
+ .long 722718060
+ .long 1070746061
+ .long 3266000023
+ .long 1070738861
+ .long 3899945937
+ .long 1070731670
+ .long 2537326407
+ .long 1070724488
+ .long 3386189576
+ .long 1070717314
+ .long 2064957766
+ .long 1070710149
+ .long 2782295200
+ .long 1070702992
+ .long 1157237371
+ .long 1070695844
+ .long 1399058776
+ .long 1070688704
+ .long 3422369598
+ .long 1070681572
+ .long 2847114276
+ .long 1070674449
+ .long 3883471977
+ .long 1070667334
+ .long 2151986001
+ .long 1070660228
+ .long 1863431563
+ .long 1070653130
+ .long 2933912512
+ .long 1070646040
+ .long 984859948
+ .long 1070638959
+ .long 227932728
+ .long 1070631886
+ .long 580114212
+ .long 1070624821
+ .long 1958678199
+ .long 1070617764
+ .long 4281187571
+ .long 1070610715
+ .long 3170525652
+ .long 1070603675
+ .long 2839796761
+ .long 1070596643
+ .long 2119878685
+ .long 1070583143
+ .long 4089253071
+ .long 1070569111
+ .long 2835758645
+ .long 1070555096
+ .long 2492901513
+ .long 1070541097
+ .long 2899780145
+ .long 1070527114
+ .long 3896050086
+ .long 1070513147
+ .long 1026954088
+ .long 1070499197
+ .long 2723188744
+ .long 1070485262
+ .long 236130877
+ .long 1070471344
+ .long 1997573379
+ .long 1070457441
+ .long 3554951635
+ .long 1070443554
+ .long 456242909
+ .long 1070429684
+ .long 1134865756
+ .long 1070415829
+ .long 1139873776
+ .long 1070401990
+ .long 315822345
+ .long 1070388167
+ .long 2802766176
+ .long 1070374359
+ .long 4151355006
+ .long 1070360567
+ .long 4207733072
+ .long 1070346791
+ .long 2818569420
+ .long 1070333031
+ .long 4126022811
+ .long 1070319286
+ .long 3682837469
+ .long 1070305557
+ .long 1337242607
+ .long 1070291844
+ .long 1232950086
+ .long 1070278146
+ .long 3219217489
+ .long 1070264463
+ .long 2850845810
+ .long 1070250796
+ .long 4273079031
+ .long 1070237144
+ .long 3041732648
+ .long 1070223508
+ .long 3303060581
+ .long 1070209887
+ .long 613883718
+ .long 1070196282
+ .long 3416424147
+ .long 1070182691
+ .long 2973531841
+ .long 1070169116
+ .long 3433453502
+ .long 1070155556
+ .long 354993870
+ .long 1070142012
+ .long 2182349993
+ .long 1070128482
+ .long 180337970
+ .long 1070114968
+ .long 2794129140
+ .long 1070101468
+ .long 1289509543
+ .long 1070087984
+ .long 4112616140
+ .long 1070074514
+ .long 2530196300
+ .long 1070061060
+ .long 694376742
+ .long 1070047621
+ .long 2757759525
+ .long 1070034196
+ .long 4283485357
+ .long 1070020786
+ .long 835166085
+ .long 1070007392
+ .long 861784501
+ .long 1069994012
+ .long 4222855791
+ .long 1069980646
+ .long 2188425477
+ .long 1069967296
+ .long 3208871137
+ .long 1069953960
+ .long 2850129301
+ .long 1069940639
+ .long 973562605
+ .long 1069927333
+ .long 1735957778
+ .long 1069914041
+ .long 704621746
+ .long 1069900764
+ .long 2037248826
+ .long 1069887501
+ .long 1302049555
+ .long 1069874253
+ .long 2657617909
+ .long 1069861019
+ .long 1673060149
+ .long 1069847800
+ .long 2507862062
+ .long 1069834595
+ .long 732017833
+ .long 1069821405
+ .long 505897304
+ .long 1069808229
+ .long 1695342161
+ .long 1069795067
+ .long 4166631327
+ .long 1069781919
+ .long 3491511767
+ .long 1069768786
+ .long 3832098487
+ .long 1069755667
+ .long 761003473
+ .long 1069742563
+ .long 2736170304
+ .long 1069729472
+ .long 1036101224
+ .long 1069716396
+ .long 4119593661
+ .long 1069703333
+ .long 3266000023
+ .long 1069690285
+ .long 2639996940
+ .long 1069677251
+ .long 2111714268
+ .long 1069664231
+ .long 1551700571
+ .long 1069651225
+ .long 830921328
+ .long 1069638233
+ .long 4115724438
+ .long 1069625254
+ .long 2687969258
+ .long 1069612290
+ .long 714828609
+ .long 1069599340
+ .long 2363885129
+ .long 1069586403
+ .long 3213194931
+ .long 1069573480
+ .long 3136187749
+ .long 1069560571
+ .long 2006697909
+ .long 1069547676
+ .long 3692892517
+ .long 1069522069
+ .long 765175007
+ .long 1069496334
+ .long 3570253499
+ .long 1069470625
+ .long 3269064532
+ .long 1069444944
+ .long 3908238678
+ .long 1069419290
+ .long 945260706
+ .long 1069393664
+ .long 2723302721
+ .long 1069368064
+ .long 406449780
+ .long 1069342492
+ .long 2339434949
+ .long 1069316946
+ .long 3982864956
+ .long 1069291427
+ .long 798118804
+ .long 1069265936
+ .long 1132246414
+ .long 1069240471
+ .long 448161614
+ .long 1069215033
+ .long 2799475404
+ .long 1069189621
+ .long 3650623571
+ .long 1069164236
+ .long 2761765396
+ .long 1069138878
+ .long 4188780490
+ .long 1069113546
+ .long 3398363754
+ .long 1069088241
+ .long 152924136
+ .long 1069062963
+ .long 2805548810
+ .long 1069037710
+ .long 2530196300
+ .long 1069012484
+ .long 3386464469
+ .long 1068987284
+ .long 844750970
+ .long 1068962111
+ .long 3261086672
+ .long 1068936963
+ .long 1812361559
+ .long 1068911842
+ .long 561092771
+ .long 1068886747
+ .long 3570519722
+ .long 1068861677
+ .long 2019699215
+ .long 1068836634
+ .long 4268273544
+ .long 1068811616
+ .long 1496729166
+ .long 1068786625
+ .long 2066132126
+ .long 1068761659
+ .long 1453354059
+ .long 1068736719
+ .long 3725905754
+ .long 1068711804
+ .long 67097779
+ .long 1068686916
+ .long 3135775963
+ .long 1068662052
+ .long 4116645570
+ .long 1068637214
+ .long 2785039517
+ .long 1068612402
+ .long 3211948238
+ .long 1068587615
+ .long 879114973
+ .long 1068562854
+ .long 4153869436
+ .long 1068538117
+ .long 4224353950
+ .long 1068513406
+ .long 1738648877
+ .long 1068478498
+ .long 621328029
+ .long 1068429177
+ .long 361989374
+ .long 1068379906
+ .long 522185726
+ .long 1068330685
+ .long 664805953
+ .long 1068281514
+ .long 354069550
+ .long 1068232393
+ .long 3450488540
+ .long 1068183321
+ .long 930992923
+ .long 1068134300
+ .long 953696405
+ .long 1068085328
+ .long 3088087314
+ .long 1068036405
+ .long 2609990599
+ .long 1067987532
+ .long 3386464469
+ .long 1067938708
+ .long 695925966
+ .long 1067889934
+ .long 2702982241
+ .long 1067841208
+ .long 393654302
+ .long 1067792532
+ .long 1935110223
+ .long 1067743904
+ .long 2610888947
+ .long 1067695325
+ .long 2000764363
+ .long 1067646795
+ .long 3980740227
+ .long 1067598313
+ .long 3838143224
+ .long 1067549880
+ .long 1156519829
+ .long 1067501496
+ .long 4110598596
+ .long 1067453159
+ .long 3097995520
+ .long 1067359375
+ .long 3297851897
+ .long 1067262895
+ .long 3702812359
+ .long 1067166511
+ .long 3492345695
+ .long 1067070223
+ .long 1848366390
+ .long 1066974031
+ .long 2250192214
+ .long 1066877934
+ .long 3884599966
+ .long 1066781932
+ .long 1645815860
+ .long 1066686026
+ .long 3315375145
+ .long 1066590214
+ .long 3792308805
+ .long 1066494497
+ .long 251039259
+ .long 1066395959
+ .long 207414748
+ .long 1066204903
+ .long 1561045812
+ .long 1066014035
+ .long 2718921511
+ .long 1065823355
+ .long 2092732370
+ .long 1065632863
+ .long 2393819184
+ .long 1065442558
+ .long 4086440081
+ .long 1065151664
+ .long 3228205919
+ .long 1064771801
+ .long 3368528065
+ .long 1064392310
+ .long 2754502618
+ .long 1063721742
+ .long 2303420870
+ .long 1062672426
+ .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 2696122091
+ .long 3214636092
+ .long 2696122091
+ .long 3214636092
+ .long 60798926
+ .long 1067957842
+ .long 60798926
+ .long 1067957842
+ .long 4242638864
+ .long 3216335824
+ .long 4242638864
+ .long 3216335824
+ .long 3540051903
+ .long 1069845994
+ .long 3540051903
+ .long 1069845994
+ .long 2610650434
+ .long 3218487403
+ .long 2610650434
+ .long 3218487403
+ .long 734375590
+ .long 1062030445
+ .long 734375590
+ .long 1062030445
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 2574098898
+ .long 1070757742
+ .long 2574098898
+ .long 1070757742
+ .long 1279163547
+ .long 3218543945
+ .long 1279163547
+ .long 3218543945
+ .long 3694782758
+ .long 1071564553
+ .long 3694782758
+ .long 1071564553
+ .long 1697348856
+ .long 3219592519
+ .long 1697348856
+ .long 3219592519
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1063256064
+ .long 0
+ .long 1063256064
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1073156096
+ .long 0
+ .long 1073156096
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 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 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_dlog2_data_internal,@object
+ .size __svml_dlog2_data_internal,13568
+ .align 64
+
+__dlog2_la__Q3:
+ .long 3213221364
+ .long 1050233568
+ .long 1697350398
+ .long 3219592519
+ .long 3694789629
+ .long 1071564553
+ .long 0
+ .long 1073157447
+ .type __dlog2_la__Q3,@object
+ .size __dlog2_la__Q3,32
+ .space 32, 0x00
+ .align 64
+
+__dlog2_la__Q2:
+ .long 3213221358
+ .long 1050233568
+ .long 1697350398
+ .long 3219592519
+ .long 3695167823
+ .long 1071564553
+ .long 1697791998
+ .long 3218543943
+ .long 0
+ .long 1073157447
+ .type __dlog2_la__Q2,@object
+ .size __dlog2_la__Q2,40
+ .space 24, 0x00
+ .align 64
+
+__dlog2_la__Q1:
+ .long 3213221370
+ .long 1050233568
+ .long 3213207734
+ .long 3196668640
+ .long 3694789628
+ .long 1071564553
+ .long 1697350743
+ .long 3218543943
+ .long 1357908666
+ .long 1070757740
+ .long 3685007067
+ .long 3217999625
+ .long 96832070
+ .long 1070227830
+ .long 1140452344
+ .long 3217495379
+ .long 2606274745
+ .long 1069844296
+ .long 1933654871
+ .long 3217172449
+ .long 0
+ .long 1073157447
+ .long 0
+ .long 3219592519
+ .type __dlog2_la__Q1,@object
+ .size __dlog2_la__Q1,96
+ .space 32, 0x00
+ .align 64
+
+__dlog2_la__TWO_32P:
+ .long 1048576
+ .long 1106247680
+ .type __dlog2_la__TWO_32P,@object
+ .size __dlog2_la__TWO_32P,8
+ .space 56, 0x00
+ .align 64
+
+__dlog2_la__TWO_32:
+ .long 0
+ .long 1106247680
+ .type __dlog2_la__TWO_32,@object
+ .size __dlog2_la__TWO_32,8
+ .space 56, 0x00
+ .align 64
+
+__dlog2_la__TWO_55:
+ .long 0
+ .long 1130364928
+ .type __dlog2_la__TWO_55,@object
+ .size __dlog2_la__TWO_55,8
+ .space 56, 0x00
+ .align 64
+
+__dlog2_la___libm_rcp_table_256:
+ .long 0x3f7f8000
+ .long 0x3f7e8000
+ .long 0x3f7d8000
+ .long 0x3f7c8000
+ .long 0x3f7ba000
+ .long 0x3f7aa000
+ .long 0x3f79a000
+ .long 0x3f78c000
+ .long 0x3f77c000
+ .long 0x3f76e000
+ .long 0x3f75e000
+ .long 0x3f750000
+ .long 0x3f742000
+ .long 0x3f732000
+ .long 0x3f724000
+ .long 0x3f716000
+ .long 0x3f708000
+ .long 0x3f6fa000
+ .long 0x3f6ec000
+ .long 0x3f6de000
+ .long 0x3f6d0000
+ .long 0x3f6c2000
+ .long 0x3f6b6000
+ .long 0x3f6a8000
+ .long 0x3f69a000
+ .long 0x3f68c000
+ .long 0x3f680000
+ .long 0x3f672000
+ .long 0x3f666000
+ .long 0x3f658000
+ .long 0x3f64c000
+ .long 0x3f640000
+ .long 0x3f632000
+ .long 0x3f626000
+ .long 0x3f61a000
+ .long 0x3f60e000
+ .long 0x3f600000
+ .long 0x3f5f4000
+ .long 0x3f5e8000
+ .long 0x3f5dc000
+ .long 0x3f5d0000
+ .long 0x3f5c4000
+ .long 0x3f5b8000
+ .long 0x3f5ae000
+ .long 0x3f5a2000
+ .long 0x3f596000
+ .long 0x3f58a000
+ .long 0x3f57e000
+ .long 0x3f574000
+ .long 0x3f568000
+ .long 0x3f55e000
+ .long 0x3f552000
+ .long 0x3f546000
+ .long 0x3f53c000
+ .long 0x3f532000
+ .long 0x3f526000
+ .long 0x3f51c000
+ .long 0x3f510000
+ .long 0x3f506000
+ .long 0x3f4fc000
+ .long 0x3f4f2000
+ .long 0x3f4e6000
+ .long 0x3f4dc000
+ .long 0x3f4d2000
+ .long 0x3f4c8000
+ .long 0x3f4be000
+ .long 0x3f4b4000
+ .long 0x3f4aa000
+ .long 0x3f4a0000
+ .long 0x3f496000
+ .long 0x3f48c000
+ .long 0x3f482000
+ .long 0x3f478000
+ .long 0x3f46e000
+ .long 0x3f464000
+ .long 0x3f45c000
+ .long 0x3f452000
+ .long 0x3f448000
+ .long 0x3f43e000
+ .long 0x3f436000
+ .long 0x3f42c000
+ .long 0x3f422000
+ .long 0x3f41a000
+ .long 0x3f410000
+ .long 0x3f408000
+ .long 0x3f3fe000
+ .long 0x3f3f6000
+ .long 0x3f3ec000
+ .long 0x3f3e4000
+ .long 0x3f3da000
+ .long 0x3f3d2000
+ .long 0x3f3ca000
+ .long 0x3f3c0000
+ .long 0x3f3b8000
+ .long 0x3f3b0000
+ .long 0x3f3a8000
+ .long 0x3f39e000
+ .long 0x3f396000
+ .long 0x3f38e000
+ .long 0x3f386000
+ .long 0x3f37e000
+ .long 0x3f376000
+ .long 0x3f36c000
+ .long 0x3f364000
+ .long 0x3f35c000
+ .long 0x3f354000
+ .long 0x3f34c000
+ .long 0x3f344000
+ .long 0x3f33c000
+ .long 0x3f334000
+ .long 0x3f32e000
+ .long 0x3f326000
+ .long 0x3f31e000
+ .long 0x3f316000
+ .long 0x3f30e000
+ .long 0x3f306000
+ .long 0x3f2fe000
+ .long 0x3f2f8000
+ .long 0x3f2f0000
+ .long 0x3f2e8000
+ .long 0x3f2e2000
+ .long 0x3f2da000
+ .long 0x3f2d2000
+ .long 0x3f2cc000
+ .long 0x3f2c4000
+ .long 0x3f2bc000
+ .long 0x3f2b6000
+ .long 0x3f2ae000
+ .long 0x3f2a8000
+ .long 0x3f2a0000
+ .long 0x3f29a000
+ .long 0x3f292000
+ .long 0x3f28c000
+ .long 0x3f284000
+ .long 0x3f27e000
+ .long 0x3f276000
+ .long 0x3f270000
+ .long 0x3f268000
+ .long 0x3f262000
+ .long 0x3f25c000
+ .long 0x3f254000
+ .long 0x3f24e000
+ .long 0x3f248000
+ .long 0x3f240000
+ .long 0x3f23a000
+ .long 0x3f234000
+ .long 0x3f22e000
+ .long 0x3f226000
+ .long 0x3f220000
+ .long 0x3f21a000
+ .long 0x3f214000
+ .long 0x3f20e000
+ .long 0x3f206000
+ .long 0x3f200000
+ .long 0x3f1fa000
+ .long 0x3f1f4000
+ .long 0x3f1ee000
+ .long 0x3f1e8000
+ .long 0x3f1e2000
+ .long 0x3f1dc000
+ .long 0x3f1d6000
+ .long 0x3f1d0000
+ .long 0x3f1ca000
+ .long 0x3f1c4000
+ .long 0x3f1be000
+ .long 0x3f1b8000
+ .long 0x3f1b2000
+ .long 0x3f1ac000
+ .long 0x3f1a6000
+ .long 0x3f1a0000
+ .long 0x3f19a000
+ .long 0x3f194000
+ .long 0x3f190000
+ .long 0x3f18a000
+ .long 0x3f184000
+ .long 0x3f17e000
+ .long 0x3f178000
+ .long 0x3f172000
+ .long 0x3f16e000
+ .long 0x3f168000
+ .long 0x3f162000
+ .long 0x3f15c000
+ .long 0x3f158000
+ .long 0x3f152000
+ .long 0x3f14c000
+ .long 0x3f148000
+ .long 0x3f142000
+ .long 0x3f13c000
+ .long 0x3f138000
+ .long 0x3f132000
+ .long 0x3f12c000
+ .long 0x3f128000
+ .long 0x3f122000
+ .long 0x3f11c000
+ .long 0x3f118000
+ .long 0x3f112000
+ .long 0x3f10e000
+ .long 0x3f108000
+ .long 0x3f104000
+ .long 0x3f0fe000
+ .long 0x3f0f8000
+ .long 0x3f0f4000
+ .long 0x3f0ee000
+ .long 0x3f0ea000
+ .long 0x3f0e6000
+ .long 0x3f0e0000
+ .long 0x3f0dc000
+ .long 0x3f0d6000
+ .long 0x3f0d2000
+ .long 0x3f0cc000
+ .long 0x3f0c8000
+ .long 0x3f0c2000
+ .long 0x3f0be000
+ .long 0x3f0ba000
+ .long 0x3f0b4000
+ .long 0x3f0b0000
+ .long 0x3f0ac000
+ .long 0x3f0a6000
+ .long 0x3f0a2000
+ .long 0x3f09e000
+ .long 0x3f098000
+ .long 0x3f094000
+ .long 0x3f090000
+ .long 0x3f08a000
+ .long 0x3f086000
+ .long 0x3f082000
+ .long 0x3f07e000
+ .long 0x3f078000
+ .long 0x3f074000
+ .long 0x3f070000
+ .long 0x3f06c000
+ .long 0x3f066000
+ .long 0x3f062000
+ .long 0x3f05e000
+ .long 0x3f05a000
+ .long 0x3f056000
+ .long 0x3f052000
+ .long 0x3f04c000
+ .long 0x3f048000
+ .long 0x3f044000
+ .long 0x3f040000
+ .long 0x3f03c000
+ .long 0x3f038000
+ .long 0x3f034000
+ .long 0x3f030000
+ .long 0x3f02a000
+ .long 0x3f026000
+ .long 0x3f022000
+ .long 0x3f01e000
+ .long 0x3f01a000
+ .long 0x3f016000
+ .long 0x3f012000
+ .long 0x3f00e000
+ .long 0x3f00a000
+ .long 0x3f006000
+ .long 0x3f002000
+ .type __dlog2_la___libm_rcp_table_256,@object
+ .size __dlog2_la___libm_rcp_table_256,1024
+ .align 64
+
+__dlog2_la___libm_log2_table_256:
+ .long 0xfb44c3b7,0x3e1485cb
+ .long 0x00000000,0x3f671b0e
+ .long 0x06028ac0,0x3e31d5d9
+ .long 0x00000000,0x3f815cfe
+ .long 0xb8d7240b,0x3df8b9cb
+ .long 0x00000000,0x3f8cfee7
+ .long 0x0d179106,0x3e38864a
+ .long 0x00000000,0x3f94564a
+ .long 0xecba1593,0x3e459c6a
+ .long 0x00000000,0x3f997723
+ .long 0x94120c14,0x3e48d36a
+ .long 0x00000000,0x3f9f5923
+ .long 0xd2571490,0x3e5410ba
+ .long 0x00000000,0x3fa2a094
+ .long 0x1dc036a2,0x3e2776b0
+ .long 0x00000000,0x3fa53894
+ .long 0x78efe2b1,0x3e537229
+ .long 0x00000000,0x3fa8324c
+ .long 0xfd29dc75,0x3e59c0fa
+ .long 0x00000000,0x3faacf54
+ .long 0x046734f7,0x3e4636b7
+ .long 0x00000000,0x3fadced9
+ .long 0xd3b410b8,0x3e6f7950
+ .long 0x00000000,0x3fb0387e
+ .long 0x00f2200a,0x3e19d1e7
+ .long 0x00000000,0x3fb18ac6
+ .long 0x8661ba82,0x3e4f09a9
+ .long 0x00000000,0x3fb30edd
+ .long 0x9367107c,0x3e564d91
+ .long 0x00000000,0x3fb463c1
+ .long 0x0e4a4ce8,0x3e4e1fd1
+ .long 0x00000000,0x3fb5b9e1
+ .long 0x3cdb6374,0x3e492cf0
+ .long 0x00000000,0x3fb7113f
+ .long 0x069c4f7f,0x3e61a364
+ .long 0x00000000,0x3fb869dd
+ .long 0x427b631b,0x3e6493a6
+ .long 0x00000000,0x3fb9c3be
+ .long 0xe02b3e8b,0x3e6af2c2
+ .long 0x00000000,0x3fbb1ee4
+ .long 0x389f4365,0x3e616e1e
+ .long 0x00000000,0x3fbc7b52
+ .long 0x6a31fd96,0x3e4633b7
+ .long 0x00000000,0x3fbdd90a
+ .long 0x0508664d,0x3e62ed84
+ .long 0x00000000,0x3fbf05d4
+ .long 0xaca1905c,0x3e775dcd
+ .long 0x00000000,0x3fc032fb
+ .long 0x094fbeeb,0x3e753e65
+ .long 0x00000000,0x3fc0e3b5
+ .long 0x96aa4b17,0x3e671f44
+ .long 0x00000000,0x3fc19519
+ .long 0x92da5a47,0x3e785566
+ .long 0x00000000,0x3fc22dad
+ .long 0xbeb7d722,0x3e518efa
+ .long 0x00000000,0x3fc2e050
+ .long 0xab57551c,0x3e738564
+ .long 0x00000000,0x3fc379f7
+ .long 0x54a914e3,0x3e55d0da
+ .long 0x00000000,0x3fc42ddd
+ .long 0xfe974017,0x3e73cd00
+ .long 0x00000000,0x3fc4c89b
+ .long 0x59064390,0x3e54ffd6
+ .long 0x00000000,0x3fc563dc
+ .long 0x633ab50f,0x3e67d75e
+ .long 0x00000000,0x3fc619a2
+ .long 0xc8877e8a,0x3e77e6ce
+ .long 0x00000000,0x3fc6b5ff
+ .long 0x1ab7837f,0x3e7ecc1f
+ .long 0x00000000,0x3fc752e1
+ .long 0xf9d5827a,0x3e7cea7c
+ .long 0x00000000,0x3fc7f049
+ .long 0x64ccd537,0x3e357f7a
+ .long 0x00000000,0x3fc8a898
+ .long 0xf7c9b05b,0x3e7994ca
+ .long 0x00000000,0x3fc94724
+ .long 0xa2f56536,0x3e524b8f
+ .long 0x00000000,0x3fc9e63a
+ .long 0x5edaab42,0x3e7fd640
+ .long 0x00000000,0x3fca85d8
+ .long 0xd163379a,0x3e625f54
+ .long 0x00000000,0x3fcb2602
+ .long 0x936acd51,0x3e7ebdc3
+ .long 0x00000000,0x3fcbc6b6
+ .long 0xcfbc0aa0,0x3e7eee14
+ .long 0x00000000,0x3fcc67f7
+ .long 0xf73bcdad,0x3e764469
+ .long 0x00000000,0x3fcceec4
+ .long 0x60971b86,0x3e6eb44e
+ .long 0x00000000,0x3fcd9109
+ .long 0xcd2052a5,0x3e65fcf4
+ .long 0x00000000,0x3fce33dd
+ .long 0xc402867b,0x3e61af1e
+ .long 0x00000000,0x3fced741
+ .long 0xa0c956e4,0x3e61bfbd
+ .long 0x00000000,0x3fcf7b36
+ .long 0x831e77ff,0x3e85287b
+ .long 0x00000000,0x3fd00223
+ .long 0xaddfdee2,0x3e7d2fc3
+ .long 0x00000000,0x3fd054a4
+ .long 0x342052c1,0x3e83724b
+ .long 0x00000000,0x3fd0999d
+ .long 0x602bcd34,0x3e7b4ec9
+ .long 0x00000000,0x3fd0eca6
+ .long 0x3aa20ead,0x3e6742da
+ .long 0x00000000,0x3fd13ffa
+ .long 0x9ecdadf4,0x3e713e82
+ .long 0x00000000,0x3fd185a4
+ .long 0xfef3031b,0x3e52f27e
+ .long 0x00000000,0x3fd1cb83
+ .long 0x79e4af8a,0x3e710739
+ .long 0x00000000,0x3fd21fa1
+ .long 0xe59ad84a,0x3e637301
+ .long 0x00000000,0x3fd265f5
+ .long 0x3d7dfd9b,0x3e88697c
+ .long 0x00000000,0x3fd2baa0
+ .long 0x738117b0,0x3e717788
+ .long 0x00000000,0x3fd3016b
+ .long 0xd3c26a97,0x3e6c5514
+ .long 0x00000000,0x3fd3486c
+ .long 0x4c4ff246,0x3e8df550
+ .long 0x00000000,0x3fd38fa3
+ .long 0x40340fa6,0x3e88102d
+ .long 0x00000000,0x3fd3e562
+ .long 0x4592f4c3,0x3e5f53b6
+ .long 0x00000000,0x3fd42d14
+ .long 0x8b149a00,0x3e750fc8
+ .long 0x00000000,0x3fd474fd
+ .long 0xa8f50e5f,0x3e86d01c
+ .long 0x00000000,0x3fd4bd1e
+ .long 0x7a22a88a,0x3e83c469
+ .long 0x00000000,0x3fd50578
+ .long 0xdc18b6d2,0x3e79000e
+ .long 0x00000000,0x3fd54e0b
+ .long 0x7c00250b,0x3e7870f0
+ .long 0x00000000,0x3fd596d7
+ .long 0xc1c885ae,0x3e8e3dd5
+ .long 0x00000000,0x3fd5dfdc
+ .long 0xa6ecc47e,0x3e7bf64c
+ .long 0x00000000,0x3fd6291c
+ .long 0x0bc16c18,0x3e6bdaca
+ .long 0x00000000,0x3fd67296
+ .long 0x1f925729,0x3e84d25c
+ .long 0x00000000,0x3fd6bc4a
+ .long 0xf23978de,0x3e5a5fb4
+ .long 0x00000000,0x3fd7063a
+ .long 0xe2ac7f60,0x3e8e3da0
+ .long 0x00000000,0x3fd75064
+ .long 0x71f51a7b,0x3e819e20
+ .long 0x00000000,0x3fd79acb
+ .long 0x5b924234,0x3e5e43ae
+ .long 0x00000000,0x3fd7d67c
+ .long 0xe9aedf37,0x3e701a2b
+ .long 0x00000000,0x3fd8214f
+ .long 0xeddd33ea,0x3e6b6f51
+ .long 0x00000000,0x3fd86c5f
+ .long 0xe732b3c4,0x3e79375f
+ .long 0x00000000,0x3fd8b7ac
+ .long 0xe47cb9df,0x3e7e831b
+ .long 0x00000000,0x3fd8f416
+ .long 0xe392d3c8,0x3e8abc37
+ .long 0x00000000,0x3fd93fd2
+ .long 0x28b35c77,0x3e80852d
+ .long 0x00000000,0x3fd98bcd
+ .long 0xd29cea36,0x3e69f374
+ .long 0x00000000,0x3fd9c8c3
+ .long 0xb3d7b0e6,0x3e542981
+ .long 0x00000000,0x3fda152f
+ .long 0x1fe6d5ac,0x3e8b2bfb
+ .long 0x00000000,0x3fda527f
+ .long 0xf32e5dda,0x3e6f6f5c
+ .long 0x00000000,0x3fda9f5e
+ .long 0xd34d0d30,0x3e65abaa
+ .long 0x00000000,0x3fdadd0b
+ .long 0xe0ac9602,0x3e7bd47f
+ .long 0x00000000,0x3fdb2a5d
+ .long 0x7c5c784b,0x3e833601
+ .long 0x00000000,0x3fdb6867
+ .long 0xd7b0821f,0x3e5b887c
+ .long 0x00000000,0x3fdbb62f
+ .long 0xcd0a8f6a,0x3e83eccc
+ .long 0x00000000,0x3fdbf497
+ .long 0x7500a4e8,0x3e7ba0e6
+ .long 0x00000000,0x3fdc332a
+ .long 0xfc8712bb,0x3e885a8b
+ .long 0x00000000,0x3fdc819d
+ .long 0xf7a3a78f,0x3e81c336
+ .long 0x00000000,0x3fdcc090
+ .long 0x4ad8a38b,0x3e7846b4
+ .long 0x00000000,0x3fdcffae
+ .long 0xfcfc3a99,0x3e7db50f
+ .long 0x00000000,0x3fdd3ef7
+ .long 0x433cccd2,0x3e238809
+ .long 0x00000000,0x3fdd8e50
+ .long 0x6828fa82,0x3e721b2e
+ .long 0x00000000,0x3fddcdfb
+ .long 0xfc7c49c1,0x3e82848b
+ .long 0x00000000,0x3fde0dd2
+ .long 0x1fce4d49,0x3e615144
+ .long 0x00000000,0x3fde4dd6
+ .long 0x77e2e8fd,0x3e68b88a
+ .long 0x00000000,0x3fde8e06
+ .long 0x22a961b0,0x3e8fd353
+ .long 0x00000000,0x3fdece62
+ .long 0x266f2e1f,0x3e72854e
+ .long 0x00000000,0x3fdf1f16
+ .long 0xc69211fe,0x3e8520c7
+ .long 0x00000000,0x3fdf5fd8
+ .long 0xaba878d5,0x3e826fcf
+ .long 0x00000000,0x3fdfa0c8
+ .long 0xcd5b35b1,0x3e726ed8
+ .long 0x00000000,0x3fdfe1e6
+ .long 0x678a4f1c,0x3e49054d
+ .long 0x00000000,0x3fe01199
+ .long 0x3bc19f18,0x3e5d23cb
+ .long 0x00000000,0x3fe03256
+ .long 0x12772acb,0x3e87af35
+ .long 0x00000000,0x3fe0532a
+ .long 0x2849c88a,0x3e67f5fc
+ .long 0x00000000,0x3fe07416
+ .long 0x0e574fa1,0x3e84fce2
+ .long 0x00000000,0x3fe08cd6
+ .long 0x0ec2b5fa,0x3e857044
+ .long 0x00000000,0x3fe0adeb
+ .long 0xd031f353,0x3e6d5d1d
+ .long 0x00000000,0x3fe0cf18
+ .long 0xdae75c4d,0x3e99a159
+ .long 0x00000000,0x3fe0f05c
+ .long 0x1553afb9,0x3e90eaf1
+ .long 0x00000000,0x3fe111b9
+ .long 0xdcc5c3c7,0x3e8bc6f3
+ .long 0x00000000,0x3fe1332e
+ .long 0x1109e597,0x3e94ef84
+ .long 0x00000000,0x3fe154bb
+ .long 0xd82adea4,0x3e937f40
+ .long 0x00000000,0x3fe16df5
+ .long 0x78336a2f,0x3e96dc5a
+ .long 0x00000000,0x3fe18fad
+ .long 0x84c2c804,0x3e90935b
+ .long 0x00000000,0x3fe1b17e
+ .long 0x04fd30aa,0x3e8a837a
+ .long 0x00000000,0x3fe1caeb
+ .long 0xd924b0ac,0x3e99061d
+ .long 0x00000000,0x3fe1ece7
+ .long 0xef9b9d01,0x3e7ed700
+ .long 0x00000000,0x3fe20efd
+ .long 0x202c81ec,0x3e9c6ebb
+ .long 0x00000000,0x3fe2289d
+ .long 0xfc0d7d76,0x3e936d4d
+ .long 0x00000000,0x3fe24adf
+ .long 0x9f8756ba,0x3e9a35d7
+ .long 0x00000000,0x3fe26d3a
+ .long 0xe7c79d83,0x3e584ee3
+ .long 0x00000000,0x3fe28710
+ .long 0x942065a0,0x3e7d9e0d
+ .long 0x00000000,0x3fe2a998
+ .long 0x2175afbf,0x3e872108
+ .long 0x00000000,0x3fe2c38f
+ .long 0xfaf6283c,0x3e9f5809
+ .long 0x00000000,0x3fe2e644
+ .long 0x411d0507,0x3e871209
+ .long 0x00000000,0x3fe3005e
+ .long 0x370c24bf,0x3e9c3b11
+ .long 0x00000000,0x3fe32341
+ .long 0x8044bb5a,0x3e9bce8e
+ .long 0x00000000,0x3fe33d7d
+ .long 0x698ea854,0x3e98aca0
+ .long 0x00000000,0x3fe3608f
+ .long 0xd4d873bb,0x3e972a8e
+ .long 0x00000000,0x3fe37aee
+ .long 0x615e8182,0x3e8f669b
+ .long 0x00000000,0x3fe39e2f
+ .long 0xdda5b49a,0x3e98d1f4
+ .long 0x00000000,0x3fe3b8b1
+ .long 0xe72383f7,0x3e9cc279
+ .long 0x00000000,0x3fe3dc21
+ .long 0x497497f1,0x3e9c6774
+ .long 0x00000000,0x3fe3f6c7
+ .long 0x801bd0e6,0x3e82c7f6
+ .long 0x00000000,0x3fe4117d
+ .long 0xd0ee28b4,0x3e9dfdd6
+ .long 0x00000000,0x3fe43531
+ .long 0xb70d3761,0x3e92d3a2
+ .long 0x00000000,0x3fe4500b
+ .long 0xe7d6bcb2,0x3e9c8343
+ .long 0x00000000,0x3fe46af4
+ .long 0x90d43957,0x3e693179
+ .long 0x00000000,0x3fe48eef
+ .long 0xf12570df,0x3e799eab
+ .long 0x00000000,0x3fe4a9fd
+ .long 0x1b88755d,0x3e78c5f8
+ .long 0x00000000,0x3fe4c51b
+ .long 0xdf99a22c,0x3e7369be
+ .long 0x00000000,0x3fe4e049
+ .long 0x6ed50f62,0x3e88fd93
+ .long 0x00000000,0x3fe5049f
+ .long 0x978605ff,0x3e9c6042
+ .long 0x00000000,0x3fe51ff2
+ .long 0xe6c85f4c,0x3e930ae6
+ .long 0x00000000,0x3fe53b56
+ .long 0xc3275ba6,0x3e92e7b6
+ .long 0x00000000,0x3fe556ca
+ .long 0x91597938,0x3e9e6401
+ .long 0x00000000,0x3fe5724e
+ .long 0x448ebb62,0x3e3d2dee
+ .long 0x00000000,0x3fe59719
+ .long 0x47501b6d,0x3e9b432e
+ .long 0x00000000,0x3fe5b2c3
+ .long 0x571fa7cd,0x3e83cf9b
+ .long 0x00000000,0x3fe5ce7f
+ .long 0x7359819d,0x3e8dc615
+ .long 0x00000000,0x3fe5ea4b
+ .long 0xc78a85ed,0x3e8973c3
+ .long 0x00000000,0x3fe60628
+ .long 0xc15a9f3d,0x3e77d788
+ .long 0x00000000,0x3fe62216
+ .long 0x51952736,0x3e9d2538
+ .long 0x00000000,0x3fe63e14
+ .long 0xde792c07,0x3e94dab9
+ .long 0x00000000,0x3fe65a24
+ .long 0x5bfa4318,0x3e8f5be1
+ .long 0x00000000,0x3fe67645
+ .long 0x55090ec8,0x3e903b26
+ .long 0x00000000,0x3fe69277
+ .long 0xc78b6175,0x3e99236f
+ .long 0x00000000,0x3fe6aeba
+ .long 0x3a80db6a,0x3e8a1972
+ .long 0x00000000,0x3fe6cb0f
+ .long 0xf558aa96,0x3e8d43a2
+ .long 0x00000000,0x3fe6e775
+ .long 0xd9a82f2e,0x3e424ee3
+ .long 0x00000000,0x3fe703ed
+ .long 0x583878f6,0x3e764d8e
+ .long 0x00000000,0x3fe72076
+ .long 0xc1150a3e,0x3e379604
+ .long 0x00000000,0x3fe73d11
+ .long 0xed85584b,0x3e93b229
+ .long 0x00000000,0x3fe759bd
+ .long 0x451a7b48,0x3e62967a
+ .long 0x00000000,0x3fe7767c
+ .long 0xc044e72d,0x3e8e12d7
+ .long 0x00000000,0x3fe7934c
+ .long 0xfdfb6949,0x3e9ca45d
+ .long 0x00000000,0x3fe7b02e
+ .long 0xff690fce,0x3e9244fc
+ .long 0x00000000,0x3fe7c37a
+ .long 0x81487a2c,0x3e7e9cea
+ .long 0x00000000,0x3fe7e07b
+ .long 0xd0ad2d9a,0x3e760da0
+ .long 0x00000000,0x3fe7fd8e
+ .long 0x096f45d9,0x3e8d7703
+ .long 0x00000000,0x3fe81ab3
+ .long 0x1b17115b,0x3e78dbee
+ .long 0x00000000,0x3fe837eb
+ .long 0x7c252ee0,0x3e8dc5a4
+ .long 0x00000000,0x3fe85535
+ .long 0x42d5123f,0x3e950116
+ .long 0x00000000,0x3fe868c6
+ .long 0xf11e41be,0x3e4c4eb7
+ .long 0x00000000,0x3fe88630
+ .long 0xdb2890b4,0x3e7773b8
+ .long 0x00000000,0x3fe8a3ac
+ .long 0x7ffb4479,0x3e7bc8e7
+ .long 0x00000000,0x3fe8c13b
+ .long 0x237693b3,0x3e8c388f
+ .long 0x00000000,0x3fe8d4fa
+ .long 0x45fcf1a0,0x3e731cd4
+ .long 0x00000000,0x3fe8f2a9
+ .long 0xe4895b91,0x3e9fae07
+ .long 0x00000000,0x3fe9106a
+ .long 0x42d2824e,0x3e7d140d
+ .long 0x00000000,0x3fe9244c
+ .long 0x39900f67,0x3e75c3c8
+ .long 0x00000000,0x3fe9422e
+ .long 0xa314252b,0x3e902422
+ .long 0x00000000,0x3fe96023
+ .long 0xf2a6b8ef,0x3e7b9be8
+ .long 0x00000000,0x3fe97427
+ .long 0x1476f5e9,0x3e66b188
+ .long 0x00000000,0x3fe9923d
+ .long 0xdde10a6f,0x3e93c377
+ .long 0x00000000,0x3fe9b066
+ .long 0x4944a32c,0x3e817cad
+ .long 0x00000000,0x3fe9c48d
+ .long 0xc738e7ef,0x3e9927f2
+ .long 0x00000000,0x3fe9e2d7
+ .long 0xd25cfd94,0x3e7ccc41
+ .long 0x00000000,0x3fea0136
+ .long 0x2210e81b,0x3e8382fa
+ .long 0x00000000,0x3fea1580
+ .long 0x1e690ce2,0x3e7752a7
+ .long 0x00000000,0x3fea3400
+ .long 0x122315d2,0x3e94cfee
+ .long 0x00000000,0x3fea4860
+ .long 0xce98333b,0x3e80536e
+ .long 0x00000000,0x3fea6702
+ .long 0xc30f00e9,0x3e838b7e
+ .long 0x00000000,0x3fea7b79
+ .long 0x05b0c779,0x3e9dc380
+ .long 0x00000000,0x3fea9a3c
+ .long 0xdd6dd3fe,0x3e6be168
+ .long 0x00000000,0x3feab915
+ .long 0x26e0d276,0x3e966757
+ .long 0x00000000,0x3feacdb0
+ .long 0x0aad615c,0x3e880252
+ .long 0x00000000,0x3feaecab
+ .long 0x7927096a,0x3e607c31
+ .long 0x00000000,0x3feb015e
+ .long 0x53b3d90e,0x3e596513
+ .long 0x00000000,0x3feb161a
+ .long 0x8f2f0570,0x3e90ec3a
+ .long 0x00000000,0x3feb3545
+ .long 0x81193954,0x3e9cb640
+ .long 0x00000000,0x3feb4a18
+ .long 0x311e7236,0x3e936479
+ .long 0x00000000,0x3feb6967
+ .long 0x3a42a413,0x3e9210e8
+ .long 0x00000000,0x3feb7e52
+ .long 0x4a0daeb2,0x3e9a1717
+ .long 0x00000000,0x3feb9dc4
+ .long 0xce900653,0x3e925bb7
+ .long 0x00000000,0x3febb2c7
+ .long 0xb5087588,0x3e95dbb8
+ .long 0x00000000,0x3febd25d
+ .long 0x4a41204c,0x3e8d0aa9
+ .long 0x00000000,0x3febe778
+ .long 0x69a0d774,0x3e9c772f
+ .long 0x00000000,0x3febfc9c
+ .long 0x79d0a9a5,0x3e97b6a0
+ .long 0x00000000,0x3fec1c65
+ .long 0xd26f1a12,0x3e8f7402
+ .long 0x00000000,0x3fec31a2
+ .long 0x1243bc84,0x3e4db2f1
+ .long 0x00000000,0x3fec46e9
+ .long 0x477e1755,0x3e80dcc2
+ .long 0x00000000,0x3fec66e5
+ .long 0xc2f904c1,0x3e8b1e31
+ .long 0x00000000,0x3fec7c44
+ .long 0x1785b0c4,0x3e8fb619
+ .long 0x00000000,0x3fec91ad
+ .long 0xedb052ef,0x3e98832d
+ .long 0x00000000,0x3fecb1dd
+ .long 0x9e373618,0x3e98c822
+ .long 0x00000000,0x3fecc75f
+ .long 0x32954637,0x3e9a46e7
+ .long 0x00000000,0x3fecdceb
+ .long 0xf0e6b2a9,0x3e996305
+ .long 0x00000000,0x3fecfd50
+ .long 0x1a6614ee,0x3e68c160
+ .long 0x00000000,0x3fed12f6
+ .long 0x09e33b28,0x3e9229c4
+ .long 0x00000000,0x3fed28a5
+ .long 0xe53b994c,0x3e7f281b
+ .long 0x00000000,0x3fed3e5f
+ .long 0x1124ac35,0x3e9f27f3
+ .long 0x00000000,0x3fed5f08
+ .long 0x3d2fdc03,0x3e84e779
+ .long 0x00000000,0x3fed74dc
+ .long 0x1e93fd97,0x3e416c07
+ .long 0x00000000,0x3fed8aba
+ .long 0x91b415ef,0x3e654669
+ .long 0x00000000,0x3feda0a2
+ .long 0x6495f594,0x3e9712d4
+ .long 0x00000000,0x3fedc191
+ .long 0x40171789,0x3e9ca7b2
+ .long 0x00000000,0x3fedd793
+ .long 0xe8fc4323,0x3e929afa
+ .long 0x00000000,0x3fededa0
+ .long 0xeb03bd09,0x3e9a2e96
+ .long 0x00000000,0x3fee03b7
+ .long 0xca370ea2,0x3e94a63d
+ .long 0x00000000,0x3fee19d9
+ .long 0xe30512ec,0x3e6a3bcb
+ .long 0x00000000,0x3fee3006
+ .long 0x411c95ce,0x3e99d3ed
+ .long 0x00000000,0x3fee515c
+ .long 0x35cfaf8e,0x3e3e5b57
+ .long 0x00000000,0x3fee67a4
+ .long 0x5669df6a,0x3e9fca71
+ .long 0x00000000,0x3fee7df5
+ .long 0x04f19d94,0x3e9914e2
+ .long 0x00000000,0x3fee9452
+ .long 0xcaa19134,0x3e8b511c
+ .long 0x00000000,0x3feeaaba
+ .long 0x4bb3bfb1,0x3e9ed72f
+ .long 0x00000000,0x3feec12c
+ .long 0x3c29d75e,0x3e8be8d6
+ .long 0x00000000,0x3feed7aa
+ .long 0x97da24fd,0x3e9c55d9
+ .long 0x00000000,0x3feeee32
+ .long 0x983c68ea,0x3e7ddfb1
+ .long 0x00000000,0x3fef1014
+ .long 0xf4425883,0x3e83ce66
+ .long 0x00000000,0x3fef26b8
+ .long 0xf7857f23,0x3e9055c3
+ .long 0x00000000,0x3fef3d67
+ .long 0x2805b525,0x3e9c2223
+ .long 0x00000000,0x3fef5421
+ .long 0x0c347fcf,0x3e8d59ba
+ .long 0x00000000,0x3fef6ae7
+ .long 0x7c901c44,0x3e82b110
+ .long 0x00000000,0x3fef81b8
+ .long 0x74d1b482,0x3e8b1394
+ .long 0x00000000,0x3fef9894
+ .long 0x36fb9eb2,0x3e9ca75b
+ .long 0x00000000,0x3fefaf7b
+ .long 0x629b1b7e,0x3e981a0a
+ .long 0x00000000,0x3fefc66e
+ .long 0x7b8c1116,0x3e54cc20
+ .long 0x00000000,0x3fefdd6d
+ .long 0xc0babe05,0x3e99ac8b
+ .long 0x00000000,0x3feff476
+ .type __dlog2_la___libm_log2_table_256,@object
+ .size __dlog2_la___libm_log2_table_256,4096
+ .space 512, 0x00
+ .align 64
+
+__dlog2_la__P:
+ .long 3213235158
+ .long 1050233568
+ .long 1697350398
+ .long 3219592519
+ .long 3694740707
+ .long 1071564553
+ .long 1697260025
+ .long 3218543943
+ .long 2542794428
+ .long 1070757746
+ .long 2165113687
+ .long 3217999640
+ .long 0
+ .long 1073157447
+ .type __dlog2_la__P,@object
+ .size __dlog2_la__P,56
+ .space 8, 0x00
+ .align 16
+
+.FLT_16:
+ .long 0x00000000,0x43380000,0x00000000,0x43380000
+ .type .FLT_16,@object
+ .size .FLT_16,16
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE version of vectorized log2, 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_log2 _ZGVdN4v_log2_sse_wrapper
+#include "../svml_d_log24_core.S"
new file mode 100644
@@ -0,0 +1,27 @@
+/* Multiple versions of vectorized log2, 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_log2
+#include "ifunc-mathvec-avx2.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVdN4v_log2, __GI__ZGVdN4v_log2, __redirect__ZGVdN4v_log2)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,5321 @@
+/* Function log 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
+ * log2(x) = k - log2(Rcp) + poly_approximation(R)
+ * log2(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVdN4v_log2_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 -4218816+__svml_dlog2_data_internal(%rip), %rax
+ vmovapd %ymm0, %ymm3
+
+/* preserve mantissa, set input exponent to 2^(-10) */
+ vandpd 12800+__svml_dlog2_data_internal(%rip), %ymm3, %ymm4
+ vorpd 12928+__svml_dlog2_data_internal(%rip), %ymm4, %ymm2
+
+/* reciprocal approximation good to at least 11 bits */
+ vcvtpd2ps %ymm2, %xmm5
+
+/* exponent bits */
+ vpsrlq $20, %ymm3, %ymm7
+ vmovups %ymm15, 320(%rsp)
+ .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22
+
+/* exponent */
+ vmovupd 13312+__svml_dlog2_data_internal(%rip), %ymm15
+ vmovups %ymm9, 96(%rsp)
+ vmovups %ymm8, 32(%rsp)
+ 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 12992+__svml_dlog2_data_internal(%rip), %ymm3, %ymm5
+ vcvtps2pd %xmm6, %ymm1
+ vcmpnle_uqpd 13056+__svml_dlog2_data_internal(%rip), %ymm3, %ymm6
+
+/* round reciprocal to nearest integer, will have 1+9 mantissa bits */
+ vroundpd $0, %ymm1, %ymm1
+
+/* argument reduction */
+ vfmsub213pd 13248+__svml_dlog2_data_internal(%rip), %ymm1, %ymm2
+ .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
+
+/*
+ * prepare table index
+ * table lookup
+ */
+ vpsrlq $40, %ymm1, %ymm9
+ vcmplt_oqpd %ymm1, %ymm15, %ymm1
+ vandpd 13376+__svml_dlog2_data_internal(%rip), %ymm1, %ymm15
+ vorpd %ymm6, %ymm5, %ymm8
+
+/* combine and get argument value range mask */
+ vmovmskpd %ymm8, %edx
+ vmulpd %ymm2, %ymm2, %ymm5
+ vextractf128 $1, %ymm7, %xmm0
+ vshufps $221, %xmm0, %xmm7, %xmm4
+
+/* biased exponent in DP format */
+ vcvtdq2pd %xmm4, %ymm0
+
+/* polynomial */
+ vmovupd 12608+__svml_dlog2_data_internal(%rip), %ymm7
+ vorpd 13440+__svml_dlog2_data_internal(%rip), %ymm15, %ymm4
+ vsubpd %ymm4, %ymm0, %ymm8
+ vmovupd 12672+__svml_dlog2_data_internal(%rip), %ymm0
+ vfmadd213pd 12640+__svml_dlog2_data_internal(%rip), %ymm2, %ymm7
+ vfmadd213pd 12704+__svml_dlog2_data_internal(%rip), %ymm2, %ymm0
+ vmulpd 12736+__svml_dlog2_data_internal(%rip), %ymm2, %ymm2
+ vfmadd213pd %ymm0, %ymm5, %ymm7
+ vfmadd213pd %ymm2, %ymm5, %ymm7
+ 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
+ vinsertf128 $1, %xmm14, %ymm11, %ymm6
+
+/* reconstruction */
+ vaddpd %ymm7, %ymm6, %ymm0
+ vaddpd %ymm0, %ymm8, %ymm0
+ testl %edx, %edx
+ jne .LBL_1_3
+
+.LBL_1_2:
+ 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
+
+.LBL_1_3:
+ vmovupd %ymm3, 64(%rsp)
+ vmovupd %ymm0, 128(%rsp)
+ je .LBL_1_2
+ 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
+
+.LBL_1_7:
+ btl %r12d, %r13d
+ jc .LBL_1_10
+
+.LBL_1_8:
+ incl %r12d
+ cmpl $4, %r12d
+ jl .LBL_1_7
+ 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 .LBL_1_2
+ .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
+
+.LBL_1_10:
+ lea 64(%rsp,%r12,8), %rdi
+ lea 128(%rsp,%r12,8), %rsi
+ call __svml_dlog2_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVdN4v_log2_avx2)
+
+ .align 16,0x90
+
+__svml_dlog2_cout_rare_internal:
+
+ cfi_startproc
+
+ movq $0, -64(%rsp)
+ movsd -64(%rsp), %xmm0
+ movsd (%rdi), %xmm1
+ movups _zeros.201.0.0.1(%rip), %xmm2
+ subsd %xmm0, %xmm1
+ movsd %xmm1, -8(%rsp)
+ movups %xmm2, -56(%rsp)
+ movups _ones.201.0.0.1(%rip), %xmm0
+ movups %xmm0, -40(%rsp)
+ movups _infs.201.0.0.1(%rip), %xmm0
+ movups %xmm0, -24(%rsp)
+ movl -4(%rsp), %eax
+ cmpl $2146435072, %eax
+ jae .LBL_2_19
+ lea -1072660480(%rax), %edx
+ cmpl $53248, %edx
+ jae .LBL_2_14
+ lea -1072693232(%rax), %edx
+ cmpl $24, %edx
+ jae .LBL_2_13
+ movl -8(%rsp), %edi
+ movl %eax, %ecx
+ movl %edi, %edx
+ shll $11, %ecx
+ shrl $21, %edx
+ orl %edx, %ecx
+ addl $-2147483646, %ecx
+ cmpl $3, %ecx
+ jae .LBL_2_12
+ addl $-1072693248, %eax
+ orl %edi, %eax
+ jne .LBL_2_10
+ movq -56(%rsp), %rax
+ movq %rax, (%rsi)
+ jmp .LBL_2_11
+
+.LBL_2_10:
+ movsd -8(%rsp), %xmm0
+ movsd 16+__dlog2_la__Q3(%rip), %xmm2
+ movsd 24+__dlog2_la__Q3(%rip), %xmm1
+ addsd -32(%rsp), %xmm0
+ mulsd %xmm0, %xmm2
+ mulsd %xmm0, %xmm1
+ addsd 8+__dlog2_la__Q3(%rip), %xmm2
+ mulsd %xmm0, %xmm2
+ movsd %xmm0, -8(%rsp)
+ addsd __dlog2_la__Q3(%rip), %xmm2
+ mulsd %xmm0, %xmm2
+ addsd %xmm1, %xmm2
+ movsd %xmm2, (%rsi)
+
+.LBL_2_11:
+ xorl %eax, %eax
+ ret
+
+.LBL_2_12:
+ movsd -8(%rsp), %xmm2
+ xorl %eax, %eax
+ movsd 16+__dlog2_la__Q2(%rip), %xmm1
+ movsd 24+__dlog2_la__Q2(%rip), %xmm3
+ addsd -32(%rsp), %xmm2
+ movaps %xmm2, %xmm0
+ mulsd %xmm2, %xmm0
+ mulsd %xmm0, %xmm1
+ mulsd %xmm0, %xmm3
+ addsd __dlog2_la__Q2(%rip), %xmm1
+ addsd 8+__dlog2_la__Q2(%rip), %xmm3
+ mulsd %xmm2, %xmm1
+ mulsd %xmm0, %xmm3
+ movsd %xmm2, -8(%rsp)
+ addsd %xmm1, %xmm3
+ movl $0, -8(%rsp)
+ movsd -8(%rsp), %xmm4
+ subsd %xmm4, %xmm2
+ addsd %xmm2, %xmm4
+ mulsd 32+__dlog2_la__Q2(%rip), %xmm4
+ addsd %xmm3, %xmm4
+ movsd %xmm4, (%rsi)
+ ret
+
+.LBL_2_13:
+ movsd -8(%rsp), %xmm2
+ xorl %eax, %eax
+ movsd 72+__dlog2_la__Q1(%rip), %xmm10
+ movsd 64+__dlog2_la__Q1(%rip), %xmm4
+ movsd __dlog2_la__TWO_32P(%rip), %xmm5
+ movsd __dlog2_la__TWO_32P(%rip), %xmm7
+ movsd 88+__dlog2_la__Q1(%rip), %xmm14
+ movsd __dlog2_la__TWO_32P(%rip), %xmm11
+ movsd __dlog2_la__TWO_32P(%rip), %xmm15
+ addsd -32(%rsp), %xmm2
+ movaps %xmm2, %xmm3
+ movaps %xmm2, %xmm6
+ mulsd %xmm2, %xmm3
+ movaps %xmm2, %xmm0
+ mulsd %xmm2, %xmm5
+ mulsd __dlog2_la__TWO_32(%rip), %xmm6
+ mulsd %xmm3, %xmm10
+ mulsd %xmm3, %xmm4
+ addsd 56+__dlog2_la__Q1(%rip), %xmm10
+ addsd 48+__dlog2_la__Q1(%rip), %xmm4
+ mulsd %xmm3, %xmm10
+ mulsd %xmm3, %xmm4
+ addsd 40+__dlog2_la__Q1(%rip), %xmm10
+ addsd 32+__dlog2_la__Q1(%rip), %xmm4
+ mulsd %xmm3, %xmm10
+ mulsd %xmm3, %xmm4
+ addsd 24+__dlog2_la__Q1(%rip), %xmm10
+ addsd 16+__dlog2_la__Q1(%rip), %xmm4
+ mulsd %xmm3, %xmm10
+ mulsd %xmm2, %xmm4
+ movsd __dlog2_la__TWO_32(%rip), %xmm3
+ addsd %xmm4, %xmm10
+ mulsd %xmm10, %xmm7
+ movaps %xmm3, %xmm8
+ mulsd %xmm10, %xmm8
+ movsd %xmm5, -72(%rsp)
+ movsd -72(%rsp), %xmm1
+ movsd %xmm7, -72(%rsp)
+ subsd %xmm6, %xmm1
+ movsd -72(%rsp), %xmm9
+ subsd %xmm1, %xmm0
+ subsd %xmm8, %xmm9
+ movsd %xmm1, -8(%rsp)
+ subsd %xmm9, %xmm10
+ addsd %xmm9, %xmm14
+ addsd 8+__dlog2_la__Q1(%rip), %xmm10
+ movaps %xmm14, %xmm4
+ mulsd %xmm0, %xmm4
+ mulsd %xmm2, %xmm10
+ mulsd %xmm1, %xmm14
+ addsd %xmm0, %xmm1
+ addsd %xmm10, %xmm4
+ movaps %xmm4, %xmm12
+ movsd 80+__dlog2_la__Q1(%rip), %xmm9
+ addsd %xmm14, %xmm12
+ mulsd %xmm12, %xmm11
+ mulsd %xmm3, %xmm12
+ movsd %xmm11, -72(%rsp)
+ movsd -72(%rsp), %xmm13
+ subsd %xmm12, %xmm13
+ subsd %xmm13, %xmm4
+ addsd %xmm13, %xmm9
+ addsd %xmm14, %xmm4
+ movaps %xmm9, %xmm13
+ addsd __dlog2_la__Q1(%rip), %xmm4
+ addsd %xmm4, %xmm13
+ mulsd %xmm13, %xmm15
+ mulsd %xmm3, %xmm13
+ movsd %xmm15, -72(%rsp)
+ movsd -72(%rsp), %xmm14
+ subsd %xmm13, %xmm14
+ mulsd %xmm14, %xmm1
+ subsd %xmm14, %xmm9
+ addsd %xmm9, %xmm4
+ mulsd %xmm2, %xmm4
+ addsd %xmm4, %xmm1
+ movsd %xmm1, (%rsi)
+ ret
+
+.LBL_2_14:
+ movl %eax, %ecx
+ movl %eax, %edx
+ shrl $20, %ecx
+ andl $1048575, %edx
+ addl $-1023, %ecx
+ cmpl $1048576, %eax
+ jae .LBL_2_18
+ movl %edx, -4(%rsp)
+ movl -8(%rsp), %edx
+ orl %edx, %eax
+ jne .LBL_2_17
+ movsd -32(%rsp), %xmm0
+ movl $2, %eax
+ divsd -56(%rsp), %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+.LBL_2_17:
+ movsd -8(%rsp), %xmm0
+ mulsd __dlog2_la__TWO_55(%rip), %xmm0
+ movsd %xmm0, -8(%rsp)
+ movl -4(%rsp), %edx
+ movl %edx, %ecx
+ shrl $20, %ecx
+ movl %edx, %eax
+ addl $-1078, %ecx
+
+.LBL_2_18:
+ shrl $12, %eax
+ orl $1072693248, %edx
+ movzbl %al, %edi
+ pxor %xmm7, %xmm7
+ movl %edx, -4(%rsp)
+ lea __dlog2_la___libm_rcp_table_256(%rip), %rdx
+ movsd -8(%rsp), %xmm10
+ pxor %xmm8, %xmm8
+ movl $0, -8(%rsp)
+ lea __dlog2_la___libm_log2_table_256(%rip), %rax
+ movsd -8(%rsp), %xmm0
+ cvtss2sd (%rdx,%rdi,4), %xmm7
+ cvtsi2sd %ecx, %xmm8
+ subsd %xmm0, %xmm10
+ mulsd %xmm7, %xmm10
+ mulsd %xmm0, %xmm7
+ movsd 40+__dlog2_la__P(%rip), %xmm4
+ movsd 32+__dlog2_la__P(%rip), %xmm3
+ movsd 48+__dlog2_la__P(%rip), %xmm5
+ movsd __dlog2_la__TWO_32(%rip), %xmm6
+ shlq $4, %rdi
+ addsd -32(%rsp), %xmm7
+ movaps %xmm7, %xmm2
+ mulsd %xmm5, %xmm7
+ addsd %xmm10, %xmm2
+ mulsd %xmm5, %xmm10
+ addsd %xmm7, %xmm6
+ movaps %xmm2, %xmm1
+ mulsd %xmm2, %xmm1
+ mulsd %xmm1, %xmm4
+ mulsd %xmm1, %xmm3
+ addsd 24+__dlog2_la__P(%rip), %xmm4
+ addsd 16+__dlog2_la__P(%rip), %xmm3
+ mulsd %xmm1, %xmm4
+ mulsd %xmm1, %xmm3
+ addsd 8+__dlog2_la__P(%rip), %xmm4
+ addsd __dlog2_la__P(%rip), %xmm3
+ mulsd %xmm1, %xmm4
+ mulsd %xmm2, %xmm3
+ movsd %xmm6, -72(%rsp)
+ addsd %xmm3, %xmm4
+ addsd 8(%rax,%rdi), %xmm8
+ addsd %xmm4, %xmm10
+ movsd -72(%rsp), %xmm9
+ subsd __dlog2_la__TWO_32(%rip), %xmm9
+ subsd %xmm9, %xmm7
+ addsd %xmm8, %xmm9
+ addsd (%rax,%rdi), %xmm7
+ movsd %xmm9, -8(%rsp)
+ xorl %eax, %eax
+ addsd %xmm7, %xmm10
+ addsd %xmm9, %xmm10
+ movsd %xmm10, (%rsi)
+ ret
+
+.LBL_2_19:
+ movl %eax, %edx
+ andl $2147483647, %edx
+ cmpl $2146435072, %edx
+ ja .LBL_2_28
+ jne .LBL_2_22
+ cmpl $0, -8(%rsp)
+ jne .LBL_2_28
+
+.LBL_2_22:
+ testl $-2147483648, %eax
+ je .LBL_2_27
+ movl -8(%rsp), %eax
+ orl %eax, %edx
+ movsd -56(%rsp), %xmm1
+ jne .LBL_2_25
+ movsd -32(%rsp), %xmm0
+ movl $2, %eax
+ divsd %xmm1, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+.LBL_2_25:
+ movsd -24(%rsp), %xmm0
+ movl $1, %eax
+ mulsd %xmm1, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+.LBL_2_27:
+ movq -8(%rsp), %rax
+ movq %rax, (%rsi)
+ xorl %eax, %eax
+ ret
+
+.LBL_2_28:
+ movsd -8(%rsp), %xmm0
+ xorl %eax, %eax
+ mulsd -40(%rsp), %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_dlog2_cout_rare_internal,@function
+ .size __svml_dlog2_cout_rare_internal,.-__svml_dlog2_cout_rare_internal
+ .section .rodata, "a"
+ .align 64
+ .align 16
+
+_zeros.201.0.0.1:
+ .long 0
+ .long 0
+ .long 0
+ .long 2147483648
+ .align 16
+
+_ones.201.0.0.1:
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 3220176896
+ .align 16
+
+_infs.201.0.0.1:
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 4293918720
+
+ .section .rodata, "a"
+ .space 16, 0x00
+ .align 64
+
+__svml_dlog2_data_internal:
+ .long 0
+ .long 3230658560
+ .long 0
+ .long 0
+ .long 3721504
+ .long 3230658564
+ .long 390392217
+ .long 1028833224
+ .long 4279173520
+ .long 3230658567
+ .long 3697526933
+ .long 3176772302
+ .long 4236484232
+ .long 3230658571
+ .long 3866369393
+ .long 3173573477
+ .long 4170683432
+ .long 3230658575
+ .long 2406066045
+ .long 1027614617
+ .long 4081833376
+ .long 3230658579
+ .long 872311433
+ .long 1029558987
+ .long 3969996056
+ .long 3230658583
+ .long 3455238169
+ .long 3176293652
+ .long 3835233240
+ .long 3230658587
+ .long 3122028036
+ .long 3175399406
+ .long 3677606424
+ .long 3230658591
+ .long 3775975107
+ .long 3175065502
+ .long 3497176864
+ .long 3230658595
+ .long 1120402784
+ .long 3176065974
+ .long 3294005576
+ .long 3230658599
+ .long 3607704643
+ .long 1027775251
+ .long 3068153320
+ .long 3230658603
+ .long 3174454558
+ .long 1028715334
+ .long 2819680616
+ .long 3230658607
+ .long 1714361654
+ .long 3176145083
+ .long 2548647760
+ .long 3230658611
+ .long 1446250901
+ .long 1029564267
+ .long 2255114776
+ .long 3230658615
+ .long 4080025744
+ .long 1029178975
+ .long 1939141472
+ .long 3230658619
+ .long 841987973
+ .long 1029054409
+ .long 1600787408
+ .long 3230658623
+ .long 399562616
+ .long 1024114381
+ .long 1240111912
+ .long 3230658627
+ .long 3503181124
+ .long 3176697658
+ .long 857174080
+ .long 3230658631
+ .long 1254487117
+ .long 3175371962
+ .long 452032760
+ .long 3230658635
+ .long 4205447303
+ .long 3176492920
+ .long 24746584
+ .long 3230658639
+ .long 1994290281
+ .long 1028250505
+ .long 3870341224
+ .long 3230658642
+ .long 3457675008
+ .long 3176979311
+ .long 3398940264
+ .long 3230658646
+ .long 3225497353
+ .long 3176623592
+ .long 2905568928
+ .long 3230658650
+ .long 2126923612
+ .long 1026561068
+ .long 2390284912
+ .long 3230658654
+ .long 4230405746
+ .long 3172886618
+ .long 1853145696
+ .long 3230658658
+ .long 2504030371
+ .long 3175134796
+ .long 1294208528
+ .long 3230658662
+ .long 2470849917
+ .long 3177172451
+ .long 713530440
+ .long 3230658666
+ .long 4008627283
+ .long 3176362565
+ .long 111168232
+ .long 3230658670
+ .long 3947344950
+ .long 1028309766
+ .long 3782145768
+ .long 3230658673
+ .long 3547697003
+ .long 3176800217
+ .long 3136584832
+ .long 3230658677
+ .long 2863038012
+ .long 1025769979
+ .long 2469508848
+ .long 3230658681
+ .long 4101655891
+ .long 1028623806
+ .long 1780973736
+ .long 3230658685
+ .long 180044497
+ .long 1028727134
+ .long 1071035200
+ .long 3230658689
+ .long 1240324917
+ .long 1029164642
+ .long 339748720
+ .long 3230658693
+ .long 3339205157
+ .long 3174606851
+ .long 3882136872
+ .long 3230658696
+ .long 3953461054
+ .long 1027744139
+ .long 3108320112
+ .long 3230658700
+ .long 4056294543
+ .long 1027898214
+ .long 2313320576
+ .long 3230658704
+ .long 2017978773
+ .long 3176388905
+ .long 1497192904
+ .long 3230658708
+ .long 2630318761
+ .long 3172120215
+ .long 659991504
+ .long 3230658712
+ .long 1173149442
+ .long 3176476805
+ .long 4096737888
+ .long 3230658715
+ .long 2084279151
+ .long 3176632233
+ .long 3217551464
+ .long 3230658719
+ .long 147752605
+ .long 3175187076
+ .long 2317453320
+ .long 3230658723
+ .long 3463598502
+ .long 1029004710
+ .long 1396497032
+ .long 3230658727
+ .long 348113666
+ .long 3175216077
+ .long 454735992
+ .long 3230658731
+ .long 2797541458
+ .long 3172926093
+ .long 3787190664
+ .long 3230658734
+ .long 3810950996
+ .long 3175936077
+ .long 2803979432
+ .long 3230658738
+ .long 1880742672
+ .long 3175438052
+ .long 1800122360
+ .long 3230658742
+ .long 185990116
+ .long 1025407904
+ .long 775672016
+ .long 3230658746
+ .long 3308007208
+ .long 1029438945
+ .long 4025648056
+ .long 3230658749
+ .long 3792627158
+ .long 1028183615
+ .long 2960168064
+ .long 3230658753
+ .long 2550675711
+ .long 1029174609
+ .long 1874251296
+ .long 3230658757
+ .long 522796161
+ .long 3175188745
+ .long 767949536
+ .long 3230658761
+ .long 99639657
+ .long 1028478111
+ .long 3936281640
+ .long 3230658764
+ .long 1618272739
+ .long 3176759878
+ .long 2789364408
+ .long 3230658768
+ .long 2976648779
+ .long 3177001126
+ .long 1622216320
+ .long 3230658772
+ .long 995205633
+ .long 3174119615
+ .long 434888360
+ .long 3230658776
+ .long 201851350
+ .long 3175435880
+ .long 3522398632
+ .long 3230658779
+ .long 1631082790
+ .long 1029197235
+ .long 2294863136
+ .long 3230658783
+ .long 1386753027
+ .long 3176550178
+ .long 1047299600
+ .long 3230658787
+ .long 1591070772
+ .long 3176954051
+ .long 4074725544
+ .long 3230658790
+ .long 701119861
+ .long 3176328095
+ .long 2787256416
+ .long 3230658794
+ .long 3223019512
+ .long 1028866240
+ .long 1479909352
+ .long 3230658798
+ .long 2952422582
+ .long 1024508588
+ .long 152734024
+ .long 3230658802
+ .long 288366270
+ .long 3175075539
+ .long 3100747208
+ .long 3230658805
+ .long 1494938379
+ .long 1027731037
+ .long 1734063600
+ .long 3230658809
+ .long 1796105868
+ .long 1028158292
+ .long 347699608
+ .long 3230658813
+ .long 2172100889
+ .long 1029347730
+ .long 3236671448
+ .long 3230658816
+ .long 321576108
+ .long 1027051181
+ .long 1811093280
+ .long 3230658820
+ .long 3159981384
+ .long 1028760888
+ .long 365980952
+ .long 3230658824
+ .long 4083088766
+ .long 3176402658
+ .long 3196350152
+ .long 3230658827
+ .long 1966791372
+ .long 3176779668
+ .long 1712314488
+ .long 3230658831
+ .long 3599116437
+ .long 3176268195
+ .long 208889280
+ .long 3230658835
+ .long 3498192131
+ .long 1027096101
+ .long 2981089664
+ .long 3230658838
+ .long 3152711547
+ .long 3171644297
+ .long 1439028720
+ .long 3230658842
+ .long 142239255
+ .long 3176002168
+ .long 4172688536
+ .long 3230658845
+ .long 2394955302
+ .long 3175668459
+ .long 2592181840
+ .long 3230658849
+ .long 772412634
+ .long 1029163313
+ .long 992523056
+ .long 3230658853
+ .long 239947902
+ .long 3177123772
+ .long 3668726472
+ .long 3230658856
+ .long 3993011847
+ .long 3173133053
+ .long 2030904280
+ .long 3230658860
+ .long 1203564427
+ .long 1024968471
+ .long 374070408
+ .long 3230658864
+ .long 3495014224
+ .long 1029532111
+ .long 2993238600
+ .long 3230658867
+ .long 1693008698
+ .long 1029300208
+ .long 1298520552
+ .long 3230658871
+ .long 229843979
+ .long 1028616611
+ .long 3879896968
+ .long 3230658874
+ .long 2840741382
+ .long 3177076399
+ .long 2147479216
+ .long 3230658878
+ .long 1315931416
+ .long 3175394520
+ .long 396280360
+ .long 3230658882
+ .long 2917523745
+ .long 3176241221
+ .long 2921313312
+ .long 3230658885
+ .long 954068080
+ .long 3176872778
+ .long 1132688928
+ .long 3230658889
+ .long 1539389383
+ .long 3177096379
+ .long 3620387088
+ .long 3230658892
+ .long 3213801166
+ .long 1029050611
+ .long 1794518304
+ .long 3230658896
+ .long 224494799
+ .long 1029157143
+ .long 4245062128
+ .long 3230658899
+ .long 2292409870
+ .long 1029149094
+ .long 2382128760
+ .long 3230658903
+ .long 4172000302
+ .long 1029521900
+ .long 500730120
+ .long 3230658907
+ .long 1566889331
+ .long 1022410137
+ .long 2895877976
+ .long 3230658910
+ .long 3447287041
+ .long 3177068115
+ .long 977682048
+ .long 3230658914
+ .long 6222552
+ .long 3176756595
+ .long 3336121072
+ .long 3230658917
+ .long 3594755137
+ .long 3176063522
+ .long 1381304448
+ .long 3230658921
+ .long 1172789584
+ .long 1029247928
+ .long 3703210584
+ .long 3230658924
+ .long 2721646462
+ .long 3176500859
+ .long 1711948584
+ .long 3230658928
+ .long 1244442214
+ .long 1029312023
+ .long 3997496536
+ .long 3230658931
+ .long 272480018
+ .long 1025685723
+ .long 1969963224
+ .long 3230658935
+ .long 1208505284
+ .long 1029490192
+ .long 4219326432
+ .long 3230658938
+ .long 3360578575
+ .long 3174058635
+ .long 2155694632
+ .long 3230658942
+ .long 2245681021
+ .long 1026963921
+ .long 74078008
+ .long 3230658946
+ .long 3496835215
+ .long 3176351493
+ .long 2269486608
+ .long 3230658949
+ .long 2995409405
+ .long 3176402213
+ .long 152028432
+ .long 3230658953
+ .long 2946959370
+ .long 3171080196
+ .long 2311680512
+ .long 3230658956
+ .long 811079866
+ .long 1029646941
+ .long 158550536
+ .long 3230658960
+ .long 2634400740
+ .long 3174719534
+ .long 2282615248
+ .long 3230658963
+ .long 3704965237
+ .long 3176349039
+ .long 93982048
+ .long 3230658967
+ .long 2840134146
+ .long 1025829616
+ .long 2182627360
+ .long 3230658970
+ .long 1838738265
+ .long 3176564070
+ .long 4253625592
+ .long 3230658973
+ .long 1173390987
+ .long 3176177543
+ .long 2012050992
+ .long 3230658977
+ .long 1084871272
+ .long 3173895075
+ .long 4047879552
+ .long 3230658980
+ .long 3493007974
+ .long 1028200188
+ .long 1771217928
+ .long 3230658984
+ .long 866422899
+ .long 3176434896
+ .long 3772041832
+ .long 3230658987
+ .long 241037730
+ .long 3176289012
+ .long 1460457632
+ .long 3230658991
+ .long 1003496008
+ .long 3176406370
+ .long 3426440744
+ .long 3230658994
+ .long 2184560753
+ .long 3173354948
+ .long 1080097248
+ .long 3230658998
+ .long 4029600754
+ .long 3175828440
+ .long 3011402280
+ .long 3230659001
+ .long 2827800738
+ .long 1028558112
+ .long 630461632
+ .long 3230659005
+ .long 1669381205
+ .long 1027303067
+ .long 2527250152
+ .long 3230659008
+ .long 1507135636
+ .long 3175470401
+ .long 111873368
+ .long 3230659012
+ .long 4290552909
+ .long 1029305988
+ .long 1974305832
+ .long 3230659015
+ .long 491815833
+ .long 1028930331
+ .long 3819620088
+ .long 3230659018
+ .long 974322798
+ .long 1029451925
+ .long 1352888528
+ .long 3230659022
+ .long 1335536991
+ .long 3172426672
+ .long 3164085312
+ .long 3230659025
+ .long 2773436098
+ .long 1029127279
+ .long 663315256
+ .long 3230659029
+ .long 2684187733
+ .long 1028181243
+ .long 2440552240
+ .long 3230659032
+ .long 2161571790
+ .long 1027765615
+ .long 4200868112
+ .long 3230659035
+ .long 3277047205
+ .long 3174837243
+ .long 1649334592
+ .long 3230659039
+ .long 4124850187
+ .long 1025335396
+ .long 3375925144
+ .long 3230659042
+ .long 3003584975
+ .long 1021519814
+ .long 790743920
+ .long 3230659046
+ .long 1415914940
+ .long 1024723625
+ .long 2483764120
+ .long 3230659049
+ .long 1136793699
+ .long 3172319743
+ .long 4160056928
+ .long 3230659052
+ .long 2148664472
+ .long 1029245862
+ .long 1524693384
+ .long 3230659056
+ .long 3056467792
+ .long 1028886726
+ .long 3167646296
+ .long 3230659059
+ .long 142099839
+ .long 1028497609
+ .long 499019152
+ .long 3230659063
+ .long 3699751308
+ .long 1026582910
+ .long 2108784496
+ .long 3230659066
+ .long 2287012473
+ .long 1023727633
+ .long 3702012848
+ .long 3230659069
+ .long 2554126940
+ .long 3177131484
+ .long 983774616
+ .long 3230659073
+ .long 263088196
+ .long 1028047407
+ .long 2544041936
+ .long 3230659076
+ .long 1900821763
+ .long 3176347035
+ .long 4087884960
+ .long 3230659079
+ .long 1428486283
+ .long 3175804842
+ .long 1320373696
+ .long 3230659083
+ .long 1249103901
+ .long 1027194698
+ .long 2831479912
+ .long 3230659086
+ .long 4024111846
+ .long 1027875195
+ .long 31306072
+ .long 3230659090
+ .long 2178201336
+ .long 1028790706
+ .long 1509823688
+ .long 3230659093
+ .long 863228784
+ .long 3177069330
+ .long 2972102280
+ .long 3230659096
+ .long 2800600011
+ .long 3176772901
+ .long 123211224
+ .long 3230659100
+ .long 2000143580
+ .long 3175827790
+ .long 1553121664
+ .long 3230659103
+ .long 3598597716
+ .long 3174664631
+ .long 2966902736
+ .long 3230659106
+ .long 160093135
+ .long 1028156559
+ .long 69623448
+ .long 3230659110
+ .long 1838028210
+ .long 1028805781
+ .long 1451254576
+ .long 3230659113
+ .long 171321689
+ .long 1027544179
+ .long 2816864888
+ .long 3230659116
+ .long 48443041
+ .long 3175147757
+ .long 4166490328
+ .long 3230659119
+ .long 2602435169
+ .long 3175152427
+ .long 1205199416
+ .long 3230659123
+ .long 3778841539
+ .long 3176922801
+ .long 2522962456
+ .long 3230659126
+ .long 69075835
+ .long 1029409055
+ .long 3824847712
+ .long 3230659129
+ .long 660089785
+ .long 3174442320
+ .long 815923368
+ .long 3230659133
+ .long 2460308321
+ .long 1029094234
+ .long 2086159344
+ .long 3230659136
+ .long 3024187972
+ .long 3174141999
+ .long 3340623576
+ .long 3230659139
+ .long 1011494086
+ .long 3176827516
+ .long 284383880
+ .long 3230659143
+ .long 3868463126
+ .long 3173236251
+ .long 1507409832
+ .long 3230659146
+ .long 4210695494
+ .long 1029032026
+ .long 2714769000
+ .long 3230659149
+ .long 2695744497
+ .long 3176876805
+ .long 3906496160
+ .long 3230659152
+ .long 343340875
+ .long 1024675097
+ .long 787658648
+ .long 3230659156
+ .long 2519963105
+ .long 1029601486
+ .long 1948225576
+ .long 3230659159
+ .long 2834660375
+ .long 1027576345
+ .long 3093264072
+ .long 3230659162
+ .long 1202481435
+ .long 1029504111
+ .long 4222808424
+ .long 3230659165
+ .long 548784753
+ .long 1028305847
+ .long 1041925528
+ .long 3230659169
+ .long 2583607066
+ .long 1028957355
+ .long 2140584040
+ .long 3230659172
+ .long 2642007844
+ .long 3175275174
+ .long 3223850632
+ .long 3230659175
+ .long 352423749
+ .long 3174321553
+ .long 4291759144
+ .long 3230659178
+ .long 339552960
+ .long 3176556350
+ .long 1049376024
+ .long 3230659182
+ .long 2660353592
+ .long 1027255432
+ .long 2086669480
+ .long 3230659185
+ .long 1104152295
+ .long 1028453979
+ .long 3108705728
+ .long 3230659188
+ .long 540614262
+ .long 3175907859
+ .long 4115518184
+ .long 3230659191
+ .long 3806184097
+ .long 1028762582
+ .long 812172832
+ .long 3230659195
+ .long 308602627
+ .long 3173981149
+ .long 1788637456
+ .long 3230659198
+ .long 1325608725
+ .long 3176678267
+ .long 2749977840
+ .long 3230659201
+ .long 990288509
+ .long 3176107526
+ .long 3696226952
+ .long 3230659204
+ .long 1916429866
+ .long 1028814544
+ .long 332450344
+ .long 3230659208
+ .long 3336107755
+ .long 3176608247
+ .long 1248615376
+ .long 3230659211
+ .long 4035119084
+ .long 3176707463
+ .long 2149787400
+ .long 3230659214
+ .long 2050304943
+ .long 1029173658
+ .long 3035998944
+ .long 3230659217
+ .long 2951948176
+ .long 1029115289
+ .long 3907282448
+ .long 3230659220
+ .long 2907658715
+ .long 1028586234
+ .long 468702944
+ .long 3230659224
+ .long 674698596
+ .long 3175213847
+ .long 1310227256
+ .long 3230659227
+ .long 3034611927
+ .long 1027966053
+ .long 2136920200
+ .long 3230659230
+ .long 2687871008
+ .long 1028041908
+ .long 2948813792
+ .long 3230659233
+ .long 596497875
+ .long 3174693992
+ .long 3745939952
+ .long 3230659236
+ .long 3329560030
+ .long 1028812176
+ .long 233363184
+ .long 3230659240
+ .long 1501722877
+ .long 1028149340
+ .long 1001049792
+ .long 3230659243
+ .long 3907078376
+ .long 1028788204
+ .long 1754064080
+ .long 3230659246
+ .long 946102851
+ .long 1024784319
+ .long 2492437552
+ .long 3230659249
+ .long 2477139935
+ .long 3176834550
+ .long 3216201616
+ .long 3230659252
+ .long 3861383265
+ .long 3175556568
+ .long 3925387568
+ .long 3230659255
+ .long 1708411866
+ .long 1028140551
+ .long 325059304
+ .long 3230659259
+ .long 1571249374
+ .long 3176283508
+ .long 1005182528
+ .long 3230659262
+ .long 1100083059
+ .long 3174229259
+ .long 1670820936
+ .long 3230659265
+ .long 3756028850
+ .long 3175680086
+ .long 2322005432
+ .long 3230659268
+ .long 1631050573
+ .long 3176213330
+ .long 2958766824
+ .long 3230659271
+ .long 1907582341
+ .long 1029438684
+ .long 3581135800
+ .long 3230659274
+ .long 2950542199
+ .long 3173786866
+ .long 4189142976
+ .long 3230659277
+ .long 114954998
+ .long 3177096717
+ .long 487851568
+ .long 3230659281
+ .long 2653253061
+ .long 3176673071
+ .long 1067226576
+ .long 3230659284
+ .long 1766996068
+ .long 3175354818
+ .long 1632331016
+ .long 3230659287
+ .long 3950907539
+ .long 3175157886
+ .long 2183195112
+ .long 3230659290
+ .long 2440105690
+ .long 1029327524
+ .long 2719848976
+ .long 3230659293
+ .long 341115768
+ .long 1028056330
+ .long 3242322640
+ .long 3230659296
+ .long 3179572713
+ .long 3175645667
+ .long 3750646040
+ .long 3230659299
+ .long 935147933
+ .long 3175536948
+ .long 4244849008
+ .long 3230659302
+ .long 3916511820
+ .long 3176877809
+ .long 429994000
+ .long 3230659306
+ .long 3978671087
+ .long 1028263473
+ .long 896045240
+ .long 3230659309
+ .long 230228243
+ .long 3176823382
+ .long 1348065008
+ .long 3230659312
+ .long 1603302089
+ .long 1028781499
+ .long 1786082752
+ .long 3230659315
+ .long 1397794181
+ .long 1029625122
+ .long 2210127840
+ .long 3230659318
+ .long 3655812571
+ .long 3172766563
+ .long 2620229560
+ .long 3230659321
+ .long 2385997325
+ .long 1026727032
+ .long 3016417088
+ .long 3230659324
+ .long 697404896
+ .long 3176786781
+ .long 3398719528
+ .long 3230659327
+ .long 3231162475
+ .long 3175777962
+ .long 3767165880
+ .long 3230659330
+ .long 2548610257
+ .long 1028922412
+ .long 4121785048
+ .long 3230659333
+ .long 3962667547
+ .long 1027852637
+ .long 167638560
+ .long 3230659337
+ .long 3554092856
+ .long 3176729278
+ .long 494689752
+ .long 3230659340
+ .long 2911955219
+ .long 1028435709
+ .long 807999952
+ .long 3230659343
+ .long 3789336944
+ .long 3176103637
+ .long 1107597728
+ .long 3230659346
+ .long 3750507527
+ .long 1027365134
+ .long 1393511536
+ .long 3230659349
+ .long 1827158241
+ .long 1028945876
+ .long 1665769752
+ .long 3230659352
+ .long 3306289784
+ .long 1029589760
+ .long 1924400656
+ .long 3230659355
+ .long 1510741592
+ .long 3176411966
+ .long 2169432464
+ .long 3230659358
+ .long 2294259978
+ .long 1025847307
+ .long 2400893272
+ .long 3230659361
+ .long 539270871
+ .long 3176922069
+ .long 2618811120
+ .long 3230659364
+ .long 3685107127
+ .long 1027828508
+ .long 2823213928
+ .long 3230659367
+ .long 3271061162
+ .long 3176969831
+ .long 3014129568
+ .long 3230659370
+ .long 1787956575
+ .long 1028863184
+ .long 3191585784
+ .long 3230659373
+ .long 716587587
+ .long 3176400736
+ .long 3355610272
+ .long 3230659376
+ .long 2630361878
+ .long 3176313132
+ .long 3506230624
+ .long 3230659379
+ .long 3623957067
+ .long 1024822653
+ .long 3643474344
+ .long 3230659382
+ .long 3940980068
+ .long 3174610269
+ .long 3767368864
+ .long 3230659385
+ .long 499400003
+ .long 1028297429
+ .long 3877941520
+ .long 3230659388
+ .long 3143491592
+ .long 1028937135
+ .long 3975219568
+ .long 3230659391
+ .long 1265600507
+ .long 1027302761
+ .long 4059230184
+ .long 3230659394
+ .long 3423756523
+ .long 3174759308
+ .long 4130000464
+ .long 3230659397
+ .long 2126977913
+ .long 1029294479
+ .long 4187557400
+ .long 3230659400
+ .long 1341359213
+ .long 3176282153
+ .long 4231927936
+ .long 3230659403
+ .long 142327675
+ .long 1028516775
+ .long 4263138896
+ .long 3230659406
+ .long 3537045733
+ .long 3176611365
+ .long 4281217056
+ .long 3230659409
+ .long 804943611
+ .long 3175398448
+ .long 4286189088
+ .long 3230659412
+ .long 2300440576
+ .long 3173821797
+ .long 4278081592
+ .long 3230659415
+ .long 650140298
+ .long 1028345827
+ .long 4256921080
+ .long 3230659418
+ .long 258434203
+ .long 1024439656
+ .long 4222733992
+ .long 3230659421
+ .long 2845277783
+ .long 3175806217
+ .long 4175546688
+ .long 3230659424
+ .long 486214358
+ .long 1021995298
+ .long 4115385440
+ .long 3230659427
+ .long 362801877
+ .long 1027412332
+ .long 4042276440
+ .long 3230659430
+ .long 3220639070
+ .long 3177080040
+ .long 3956245816
+ .long 3230659433
+ .long 3857709974
+ .long 3176973100
+ .long 3857319608
+ .long 3230659436
+ .long 300219354
+ .long 1029159912
+ .long 3745523760
+ .long 3230659439
+ .long 2500015736
+ .long 3170135365
+ .long 3620884168
+ .long 3230659442
+ .long 3361192444
+ .long 1028410302
+ .long 3483426624
+ .long 3230659445
+ .long 962673197
+ .long 3176780787
+ .long 3333176872
+ .long 3230659448
+ .long 466308644
+ .long 1029193870
+ .long 3170160544
+ .long 3230659451
+ .long 1036576323
+ .long 1029692281
+ .long 2994403208
+ .long 3230659454
+ .long 1262493470
+ .long 3177123208
+ .long 2805930376
+ .long 3230659457
+ .long 2116833460
+ .long 3176824531
+ .long 2604767464
+ .long 3230659460
+ .long 4130386607
+ .long 1029379265
+ .long 2390939800
+ .long 3230659463
+ .long 3203410687
+ .long 1028676250
+ .long 2164472656
+ .long 3230659466
+ .long 1369952708
+ .long 3175783357
+ .long 1925391232
+ .long 3230659469
+ .long 879032334
+ .long 1028096866
+ .long 1673720632
+ .long 3230659472
+ .long 4136287431
+ .long 3171822968
+ .long 1409485904
+ .long 3230659475
+ .long 1676116683
+ .long 1027498055
+ .long 1132712008
+ .long 3230659478
+ .long 2215341913
+ .long 3175421168
+ .long 843423840
+ .long 3230659481
+ .long 1029715364
+ .long 3176433781
+ .long 541646224
+ .long 3230659484
+ .long 2606758269
+ .long 1029491721
+ .long 227403888
+ .long 3230659487
+ .long 2201115753
+ .long 1027951322
+ .long 4195688808
+ .long 3230659489
+ .long 4218769073
+ .long 1025395495
+ .long 3856590992
+ .long 3230659492
+ .long 434820483
+ .long 1029228152
+ .long 3505102248
+ .long 3230659495
+ .long 3898434635
+ .long 3176361218
+ .long 3141247048
+ .long 3230659498
+ .long 3118973316
+ .long 1029656842
+ .long 2765049752
+ .long 3230659501
+ .long 2996229621
+ .long 1029012421
+ .long 2376534672
+ .long 3230659504
+ .long 2407486153
+ .long 3175647547
+ .long 1975726056
+ .long 3230659507
+ .long 2587350529
+ .long 1029480630
+ .long 1562648048
+ .long 3230659510
+ .long 4294469746
+ .long 3176242263
+ .long 1137324760
+ .long 3230659513
+ .long 3819488195
+ .long 1023708576
+ .long 699780200
+ .long 3230659516
+ .long 116131792
+ .long 3177042014
+ .long 250038336
+ .long 3230659519
+ .long 1551898075
+ .long 1029096746
+ .long 4083090328
+ .long 3230659521
+ .long 2844986349
+ .long 1028973019
+ .long 3609025400
+ .long 3230659524
+ .long 2591634103
+ .long 1026318183
+ .long 3122834592
+ .long 3230659527
+ .long 2325851864
+ .long 3175053154
+ .long 2114169952
+ .long 3230659533
+ .long 790463889
+ .long 3176974498
+ .long 1057284960
+ .long 3230659539
+ .long 1675706223
+ .long 1028317332
+ .long 4247334344
+ .long 3230659544
+ .long 4226562338
+ .long 1027765102
+ .long 3094569872
+ .long 3230659550
+ .long 2366937865
+ .long 3168809551
+ .long 1894144112
+ .long 3230659556
+ .long 1267587328
+ .long 3176269982
+ .long 646241264
+ .long 3230659562
+ .long 1575621247
+ .long 3177156253
+ .long 3646011760
+ .long 3230659567
+ .long 2645567153
+ .long 3175833815
+ .long 2303703080
+ .long 3230659573
+ .long 1827286098
+ .long 1027997469
+ .long 914463544
+ .long 3230659579
+ .long 752350642
+ .long 1029527042
+ .long 3773440424
+ .long 3230659584
+ .long 160463655
+ .long 3176715839
+ .long 2290878096
+ .long 3230659590
+ .long 909081824
+ .long 3175933674
+ .long 761921776
+ .long 3230659596
+ .long 2905535403
+ .long 1028759497
+ .long 3481715656
+ .long 3230659601
+ .long 3887423264
+ .long 3176529033
+ .long 1860501056
+ .long 3230659607
+ .long 2811353534
+ .long 3176342172
+ .long 193420168
+ .long 3230659613
+ .long 3875218385
+ .long 1029601075
+ .long 2775614176
+ .long 3230659618
+ .long 915846711
+ .long 1029206337
+ .long 1017321408
+ .long 3230659624
+ .long 2817823673
+ .long 1028329866
+ .long 3508648392
+ .long 3230659629
+ .long 2457221968
+ .long 1028382518
+ .long 1659831496
+ .long 3230659635
+ .long 1953946979
+ .long 1028155361
+ .long 4060975304
+ .long 3230659640
+ .long 1103591667
+ .long 3177007543
+ .long 2122314280
+ .long 3230659646
+ .long 1917780451
+ .long 1029286965
+ .long 138983784
+ .long 3230659652
+ .long 3695788845
+ .long 3176288716
+ .long 2406118280
+ .long 3230659657
+ .long 1052548871
+ .long 1029099285
+ .long 333949368
+ .long 3230659663
+ .long 1769629084
+ .long 1028668282
+ .long 2512576920
+ .long 3230659668
+ .long 2829899890
+ .long 3177160765
+ .long 352230712
+ .long 3230659674
+ .long 190593276
+ .long 3177082107
+ .long 2443008776
+ .long 3230659679
+ .long 308933071
+ .long 1028033311
+ .long 195139040
+ .long 3230659685
+ .long 2406662387
+ .long 3174119994
+ .long 2198717736
+ .long 3230659690
+ .long 3951897556
+ .long 1025531185
+ .long 4158938296
+ .long 3230659695
+ .long 3747433104
+ .long 3176582029
+ .long 1780993280
+ .long 3230659701
+ .long 1185733823
+ .long 1025977389
+ .long 3654976232
+ .long 3230659706
+ .long 2876938397
+ .long 3175696111
+ .long 1191110656
+ .long 3230659712
+ .long 1221563196
+ .long 3173251774
+ .long 2979488360
+ .long 3230659717
+ .long 2581073785
+ .long 1028588464
+ .long 430331104
+ .long 3230659723
+ .long 1522002357
+ .long 1028645059
+ .long 2133728976
+ .long 3230659728
+ .long 1060437513
+ .long 3176445060
+ .long 3794869336
+ .long 3230659733
+ .long 1092840036
+ .long 3177052773
+ .long 1118938696
+ .long 3230659739
+ .long 2353106107
+ .long 1029111084
+ .long 2696024600
+ .long 3230659744
+ .long 4060627338
+ .long 1029597310
+ .long 4231311888
+ .long 3230659749
+ .long 3779876129
+ .long 1028286236
+ .long 1429984576
+ .long 3230659755
+ .long 48483734
+ .long 1027710210
+ .long 2882127744
+ .long 3230659760
+ .long 445208449
+ .long 1029139348
+ .long 4292923760
+ .long 3230659765
+ .long 2295142960
+ .long 3176049005
+ .long 1367554208
+ .long 3230659771
+ .long 1540635558
+ .long 1028483904
+ .long 2696101728
+ .long 3230659776
+ .long 352999095
+ .long 3169858434
+ .long 3983746296
+ .long 3230659781
+ .long 1810565431
+ .long 3175091705
+ .long 935667088
+ .long 3230659787
+ .long 349039573
+ .long 3176928791
+ .long 2141944392
+ .long 3230659792
+ .long 3659173497
+ .long 3174252174
+ .long 3307755816
+ .long 3230659797
+ .long 58840479
+ .long 1028893602
+ .long 138278192
+ .long 3230659803
+ .long 2062870396
+ .long 3175475632
+ .long 1223589488
+ .long 3230659808
+ .long 3079310401
+ .long 3176348925
+ .long 2268865008
+ .long 3230659813
+ .long 4107437042
+ .long 3177028487
+ .long 3274246600
+ .long 3230659818
+ .long 3740178426
+ .long 3176375927
+ .long 4239875352
+ .long 3230659823
+ .long 1575862792
+ .long 3176856991
+ .long 870924320
+ .long 3230659829
+ .long 1293986679
+ .long 1021959545
+ .long 1757467688
+ .long 3230659834
+ .long 1268894705
+ .long 3177114344
+ .long 2604677040
+ .long 3230659839
+ .long 1483899592
+ .long 3176088657
+ .long 3412690504
+ .long 3230659844
+ .long 1351083799
+ .long 3175751585
+ .long 4181645488
+ .long 3230659849
+ .long 1119433498
+ .long 3177131776
+ .long 616711392
+ .long 3230659855
+ .long 4175979329
+ .long 3173786505
+ .long 1307958768
+ .long 3230659860
+ .long 2068378112
+ .long 3176493003
+ .long 1960555592
+ .long 3230659865
+ .long 178688056
+ .long 1027848710
+ .long 2574636408
+ .long 3230659870
+ .long 2359427625
+ .long 1028095731
+ .long 3150335072
+ .long 3230659875
+ .long 446961290
+ .long 1028242607
+ .long 3687784736
+ .long 3230659880
+ .long 2606786686
+ .long 3176252768
+ .long 4187117872
+ .long 3230659885
+ .long 147991783
+ .long 3176229143
+ .long 353498960
+ .long 3230659891
+ .long 2565649361
+ .long 1026609244
+ .long 776993680
+ .long 3230659896
+ .long 91083332
+ .long 3175234267
+ .long 1162765160
+ .long 3230659901
+ .long 1883429456
+ .long 3174458208
+ .long 1510943144
+ .long 3230659906
+ .long 1013024678
+ .long 1027761501
+ .long 1821656704
+ .long 3230659911
+ .long 2329976096
+ .long 3171060885
+ .long 2095034256
+ .long 3230659916
+ .long 393569875
+ .long 3175313071
+ .long 2331203560
+ .long 3230659921
+ .long 3866070308
+ .long 1029684158
+ .long 2530291696
+ .long 3230659926
+ .long 2303293568
+ .long 3177026483
+ .long 2692425136
+ .long 3230659931
+ .long 4151833399
+ .long 3175350159
+ .long 2817729672
+ .long 3230659936
+ .long 65831588
+ .long 3170064008
+ .long 2906330464
+ .long 3230659941
+ .long 3126642666
+ .long 3176187966
+ .long 2958352048
+ .long 3230659946
+ .long 1091895479
+ .long 1029434562
+ .long 2973918296
+ .long 3230659951
+ .long 1341819779
+ .long 3177032854
+ .long 2953152496
+ .long 3230659956
+ .long 3431130783
+ .long 1025344246
+ .long 2896177272
+ .long 3230659961
+ .long 222319660
+ .long 3174332028
+ .long 2803114648
+ .long 3230659966
+ .long 2574176974
+ .long 3176321678
+ .long 2674086032
+ .long 3230659971
+ .long 3543599213
+ .long 3175295621
+ .long 2509212216
+ .long 3230659976
+ .long 3961571325
+ .long 1028729606
+ .long 2308613376
+ .long 3230659981
+ .long 1968562443
+ .long 3175604756
+ .long 2072409104
+ .long 3230659986
+ .long 169553949
+ .long 3175973960
+ .long 1800718384
+ .long 3230659991
+ .long 1866092989
+ .long 1029054996
+ .long 1493659592
+ .long 3230659996
+ .long 3321480082
+ .long 1028052101
+ .long 1151350528
+ .long 3230660001
+ .long 1162474749
+ .long 3175441009
+ .long 773908408
+ .long 3230660006
+ .long 2117491299
+ .long 1028922038
+ .long 361449840
+ .long 3230660011
+ .long 1720394601
+ .long 3176859733
+ .long 4209058184
+ .long 3230660015
+ .long 3270331864
+ .long 1026022939
+ .long 3726914304
+ .long 3230660020
+ .long 761189460
+ .long 1027666521
+ .long 3210100392
+ .long 3230660025
+ .long 3128639134
+ .long 3176063736
+ .long 2658730784
+ .long 3230660030
+ .long 861675876
+ .long 3174834708
+ .long 2072919240
+ .long 3230660035
+ .long 598417369
+ .long 1026585686
+ .long 1452778960
+ .long 3230660040
+ .long 2969558584
+ .long 3174198415
+ .long 798422592
+ .long 3230660045
+ .long 1955836092
+ .long 3175908135
+ .long 109962232
+ .long 3230660050
+ .long 1441195450
+ .long 1027193622
+ .long 3682476712
+ .long 3230660054
+ .long 3027916121
+ .long 1027617136
+ .long 2926142440
+ .long 3230660059
+ .long 4058891045
+ .long 1029177821
+ .long 2136037160
+ .long 3230660064
+ .long 3295666276
+ .long 1028335364
+ .long 1312270792
+ .long 3230660069
+ .long 2664877443
+ .long 1029314281
+ .long 454952704
+ .long 3230660074
+ .long 2887304751
+ .long 3176354723
+ .long 3859159056
+ .long 3230660078
+ .long 3247043098
+ .long 1029078121
+ .long 2935063552
+ .long 3230660083
+ .long 551596274
+ .long 3176193330
+ .long 1977741296
+ .long 3230660088
+ .long 2154007986
+ .long 3174741581
+ .long 987299552
+ .long 3230660093
+ .long 1133524394
+ .long 1027524435
+ .long 4258812360
+ .long 3230660097
+ .long 1600085620
+ .long 3177058369
+ .long 3202451376
+ .long 3230660102
+ .long 2333163438
+ .long 3176526084
+ .long 2113289616
+ .long 3230660107
+ .long 276039368
+ .long 1025414372
+ .long 991432288
+ .long 3230660112
+ .long 3502468789
+ .long 3176017589
+ .long 4131951408
+ .long 3230660116
+ .long 1901031578
+ .long 1027861596
+ .long 2945016584
+ .long 3230660121
+ .long 1505110536
+ .long 1028759236
+ .long 1725698816
+ .long 3230660126
+ .long 2648053277
+ .long 3176895440
+ .long 474101336
+ .long 3230660131
+ .long 1239242430
+ .long 1029534392
+ .long 3485294136
+ .long 3230660135
+ .long 845517171
+ .long 3173477246
+ .long 2169444872
+ .long 3230660140
+ .long 4075267769
+ .long 1028643096
+ .long 821622576
+ .long 3230660145
+ .long 499928215
+ .long 1029048762
+ .long 3736895800
+ .long 3230660149
+ .long 870045772
+ .long 3176516274
+ .long 2325430744
+ .long 3230660154
+ .long 3081415625
+ .long 3176560522
+ .long 882295008
+ .long 3230660159
+ .long 3662267248
+ .long 1029384081
+ .long 3702555704
+ .long 3230660163
+ .long 4011089820
+ .long 1029189731
+ .long 2196377600
+ .long 3230660168
+ .long 2872532918
+ .long 3175632540
+ .long 658826888
+ .long 3230660173
+ .long 2512614570
+ .long 3176940300
+ .long 3384969288
+ .long 3230660177
+ .long 2018053043
+ .long 3176636781
+ .long 1784968168
+ .long 3230660182
+ .long 927902188
+ .long 3175374192
+ .long 153888328
+ .long 3230660187
+ .long 338402635
+ .long 1029478185
+ .long 2786794096
+ .long 3230660191
+ .long 2634228741
+ .long 3175787031
+ .long 1093847488
+ .long 3230660196
+ .long 13726686
+ .long 3173662371
+ .long 3665079232
+ .long 3230660200
+ .long 955232272
+ .long 1029144724
+ .long 1910650416
+ .long 3230660205
+ .long 1913213398
+ .long 3177091414
+ .long 125623600
+ .long 3230660210
+ .long 3896909877
+ .long 3176901474
+ .long 2605060880
+ .long 3230660214
+ .long 1162024003
+ .long 3171225909
+ .long 759122024
+ .long 3230660219
+ .long 101180827
+ .long 1028720107
+ .long 3177835544
+ .long 3230660223
+ .long 1119059392
+ .long 3177080184
+ .long 1271360360
+ .long 3230660228
+ .long 2533735500
+ .long 1028313476
+ .long 3629724104
+ .long 3230660232
+ .long 2461458646
+ .long 3176172399
+ .long 1663084832
+ .long 3230660237
+ .long 3468033532
+ .long 1028155452
+ .long 3961469328
+ .long 3230660241
+ .long 688573429
+ .long 3173787118
+ .long 1935034792
+ .long 3230660246
+ .long 852313808
+ .long 1029214281
+ .long 4173807160
+ .long 3230660250
+ .long 1743831019
+ .long 3176961601
+ .long 2087942800
+ .long 3230660255
+ .long 939132585
+ .long 3175339625
+ .long 4267466816
+ .long 3230660259
+ .long 804943611
+ .long 3176447024
+ .long 2122534736
+ .long 3230660264
+ .long 1216317347
+ .long 1028000177
+ .long 4243170840
+ .long 3230660268
+ .long 2936275121
+ .long 3175268569
+ .long 2039529840
+ .long 3230660273
+ .long 2537367085
+ .long 1028954723
+ .long 4101635200
+ .long 3230660277
+ .long 2494170689
+ .long 3173567976
+ .long 1839640816
+ .long 3230660282
+ .long 392206900
+ .long 3176845046
+ .long 3843569368
+ .long 3230660286
+ .long 4090462392
+ .long 1028307871
+ .long 1523573928
+ .long 3230660291
+ .long 460756979
+ .long 3176389882
+ .long 3469676392
+ .long 3230660295
+ .long 2929822293
+ .long 1029426676
+ .long 1092029040
+ .long 3230660300
+ .long 3560063032
+ .long 1027386665
+ .long 2980652976
+ .long 3230660304
+ .long 2630002021
+ .long 1029084255
+ .long 545699712
+ .long 3230660309
+ .long 3251005607
+ .long 1029513439
+ .long 2377189560
+ .long 3230660313
+ .long 2613820932
+ .long 1027076618
+ .long 4180240568
+ .long 3230660317
+ .long 2799936722
+ .long 1025378340
+ .long 1659970392
+ .long 3230660322
+ .long 3210945223
+ .long 3175522055
+ .long 3406398200
+ .long 3230660326
+ .long 2950429423
+ .long 3176973715
+ .long 829673600
+ .long 3230660331
+ .long 1432187170
+ .long 3177113229
+ .long 2519815008
+ .long 3230660335
+ .long 3601043748
+ .long 3172224737
+ .long 4181938568
+ .long 3230660339
+ .long 814468389
+ .long 3175150283
+ .long 1521160064
+ .long 3230660344
+ .long 3976767292
+ .long 3177175436
+ .long 3127496808
+ .long 3230660348
+ .long 2716501510
+ .long 1028977394
+ .long 411096528
+ .long 3230660353
+ .long 878128567
+ .long 3176628610
+ .long 1961975816
+ .long 3230660357
+ .long 2184878723
+ .long 1028801182
+ .long 3485248976
+ .long 3230660361
+ .long 3145811820
+ .long 1029533129
+ .long 686029968
+ .long 3230660366
+ .long 3776363698
+ .long 1029165449
+ .long 2154334280
+ .long 3230660370
+ .long 671743341
+ .long 1024333977
+ .long 3595275160
+ .long 3230660374
+ .long 2461553818
+ .long 3174779052
+ .long 713965496
+ .long 3230660379
+ .long 2151713083
+ .long 3175993252
+ .long 2100419720
+ .long 3230660383
+ .long 3102031601
+ .long 1029232965
+ .long 3459750008
+ .long 3230660387
+ .long 4013823470
+ .long 1028620538
+ .long 497068208
+ .long 3230660392
+ .long 4248883599
+ .long 1028910528
+ .long 1802387696
+ .long 3230660396
+ .long 1846273839
+ .long 3175860934
+ .long 3080819632
+ .long 3230660400
+ .long 1848559975
+ .long 3175415033
+ .long 37474824
+ .long 3230660405
+ .long 883985798
+ .long 1029169919
+ .long 1262365616
+ .long 3230660409
+ .long 2970327261
+ .long 3175919327
+ .long 2460602152
+ .long 3230660413
+ .long 2212867178
+ .long 3176520464
+ .long 3632261520
+ .long 3230660417
+ .long 3872739030
+ .long 3176664707
+ .long 482453184
+ .long 3230660422
+ .long 1041960122
+ .long 1024886984
+ .long 1601188152
+ .long 3230660426
+ .long 3362961153
+ .long 3176317848
+ .long 2693575232
+ .long 3230660430
+ .long 914600537
+ .long 3175721660
+ .long 3759690192
+ .long 3230660434
+ .long 3732031835
+ .long 1029491624
+ .long 504641160
+ .long 3230660439
+ .long 1661949843
+ .long 3176759759
+ .long 1518437864
+ .long 3230660443
+ .long 1155538621
+ .long 3176080216
+ .long 2506187792
+ .long 3230660447
+ .long 2074668130
+ .long 3176155102
+ .long 3467965424
+ .long 3230660451
+ .long 5072226
+ .long 1029678430
+ .long 108877600
+ .long 3230660456
+ .long 3844188174
+ .long 3175740294
+ .long 1018932768
+ .long 3230660460
+ .long 509804163
+ .long 1026986837
+ .long 1903237144
+ .long 3230660464
+ .long 817284140
+ .long 1028367931
+ .long 2761863936
+ .long 3230660468
+ .long 1026749811
+ .long 1028400722
+ .long 3594886040
+ .long 3230660472
+ .long 134616122
+ .long 1027302887
+ .long 107408744
+ .long 3230660477
+ .long 3388129995
+ .long 3176634073
+ .long 889438928
+ .long 3230660481
+ .long 4952363
+ .long 1026762363
+ .long 1646081256
+ .long 3230660485
+ .long 602092353
+ .long 1025334666
+ .long 2377407400
+ .long 3230660489
+ .long 870715200
+ .long 1028049234
+ .long 3083488720
+ .long 3230660493
+ .long 2898850879
+ .long 1026959461
+ .long 3764396280
+ .long 3230660497
+ .long 1041634577
+ .long 3172001824
+ .long 125233544
+ .long 3230660502
+ .long 4098260650
+ .long 3176968164
+ .long 756005576
+ .long 3230660506
+ .long 3936264397
+ .long 3176271837
+ .long 1361815248
+ .long 3230660510
+ .long 2005773894
+ .long 1029460947
+ .long 1942732416
+ .long 3230660514
+ .long 2286486375
+ .long 3177123695
+ .long 2498826688
+ .long 3230660518
+ .long 1062595601
+ .long 1029046698
+ .long 3030167328
+ .long 3230660522
+ .long 589866180
+ .long 3176077962
+ .long 3536823352
+ .long 3230660526
+ .long 1103133966
+ .long 3175759187
+ .long 4018863464
+ .long 3230660530
+ .long 1280466737
+ .long 3177138719
+ .long 181388800
+ .long 3230660535
+ .long 2008274805
+ .long 3175962957
+ .long 614402088
+ .long 3230660539
+ .long 3816723771
+ .long 1026223943
+ .long 1023003888
+ .long 3230660543
+ .long 3028155298
+ .long 1028659203
+ .long 1407261776
+ .long 3230660547
+ .long 2229630046
+ .long 1029625324
+ .long 1767243040
+ .long 3230660551
+ .long 3164503958
+ .long 3174949449
+ .long 2103014712
+ .long 3230660555
+ .long 874323935
+ .long 1029396372
+ .long 2414643512
+ .long 3230660559
+ .long 136799065
+ .long 3176242621
+ .long 2702195920
+ .long 3230660563
+ .long 3087239240
+ .long 3175416105
+ .long 2965738120
+ .long 3230660567
+ .long 3552260349
+ .long 1026854656
+ .long 3205336024
+ .long 3230660571
+ .long 628231562
+ .long 3175305872
+ .long 3421055288
+ .long 3230660575
+ .long 723080663
+ .long 1029356970
+ .long 3612961272
+ .long 3230660579
+ .long 3562572440
+ .long 3176040503
+ .long 3781119104
+ .long 3230660583
+ .long 2799655455
+ .long 1029154690
+ .long 3925593608
+ .long 3230660587
+ .long 3936971761
+ .long 1026575267
+ .long 4046449368
+ .long 3230660591
+ .long 2072414816
+ .long 3175590577
+ .long 4143750696
+ .long 3230660595
+ .long 1765517578
+ .long 3176912984
+ .long 4217561648
+ .long 3230660599
+ .long 3309795482
+ .long 1025944498
+ .long 4267946000
+ .long 3230660603
+ .long 3577983989
+ .long 3176780675
+ .long 0
+ .long 3230660608
+ .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
+ .long 0
+ .long 0
+ .long 4278875493
+ .long 3211202435
+ .long 1836756087
+ .long 3212249540
+ .long 2166742286
+ .long 3212919558
+ .long 3069118545
+ .long 3213295184
+ .long 2882618713
+ .long 3213670083
+ .long 396983052
+ .long 3213964849
+ .long 2254986537
+ .long 3214151575
+ .long 2244137514
+ .long 3214337942
+ .long 2001317058
+ .long 3214523951
+ .long 3129282438
+ .long 3214709603
+ .long 2901961050
+ .long 3214894900
+ .long 3574805523
+ .long 3215006929
+ .long 97153270
+ .long 3215099225
+ .long 2489866790
+ .long 3215191344
+ .long 733531480
+ .long 3215283289
+ .long 1972305287
+ .long 3215375059
+ .long 449270987
+ .long 3215466656
+ .long 3276362132
+ .long 3215558079
+ .long 369713010
+ .long 3215649331
+ .long 3104484191
+ .long 3215740410
+ .long 1365308336
+ .long 3215831319
+ .long 2201113504
+ .long 3215922057
+ .long 4175201612
+ .long 3215997608
+ .long 2678235035
+ .long 3216042808
+ .long 111107850
+ .long 3216087924
+ .long 2115197501
+ .long 3216132955
+ .long 1439478642
+ .long 3216177903
+ .long 3710382531
+ .long 3216222767
+ .long 1662048346
+ .long 3216267549
+ .long 906181559
+ .long 3216312248
+ .long 2752238835
+ .long 3216356864
+ .long 4207481622
+ .long 3216401398
+ .long 2271996550
+ .long 3216445851
+ .long 2528682625
+ .long 3216490222
+ .long 1963434183
+ .long 3216534512
+ .long 1850094427
+ .long 3216578721
+ .long 3455539314
+ .long 3216622849
+ .long 3744760980
+ .long 3216666897
+ .long 3970852583
+ .long 3216710865
+ .long 1085123514
+ .long 3216754754
+ .long 622050639
+ .long 3216798563
+ .long 3814425306
+ .long 3216842292
+ .long 3298434523
+ .long 3216885943
+ .long 293578162
+ .long 3216929516
+ .long 307749260
+ .long 3216973010
+ .long 252379301
+ .long 3217016426
+ .long 663693424
+ .long 3217045466
+ .long 2363128292
+ .long 3217067096
+ .long 1523075309
+ .long 3217088688
+ .long 3028878894
+ .long 3217110241
+ .long 3172800190
+ .long 3217131756
+ .long 2538941307
+ .long 3217153233
+ .long 1708300177
+ .long 3217174672
+ .long 1258792512
+ .long 3217196073
+ .long 1765273565
+ .long 3217217436
+ .long 3799559706
+ .long 3217238761
+ .long 3635482505
+ .long 3217260049
+ .long 1838844516
+ .long 3217281300
+ .long 3267440290
+ .long 3217302513
+ .long 4186175309
+ .long 3217323689
+ .long 857021220
+ .long 3217344829
+ .long 2423938186
+ .long 3217365931
+ .long 848124101
+ .long 3217386997
+ .long 972805768
+ .long 3217408026
+ .long 3343389647
+ .long 3217429018
+ .long 4207481622
+ .long 3217449974
+ .long 4104841180
+ .long 3217470894
+ .long 3572433535
+ .long 3217491778
+ .long 3144448886
+ .long 3217512626
+ .long 3352321503
+ .long 3217533438
+ .long 429781357
+ .long 3217554215
+ .long 3492742067
+ .long 3217574955
+ .long 179581133
+ .long 3217595661
+ .long 3895798636
+ .long 3217616330
+ .long 2274427972
+ .long 3217636965
+ .long 125726943
+ .long 3217657565
+ .long 2257326549
+ .long 3217678129
+ .long 589346923
+ .long 3217698659
+ .long 4219186077
+ .long 3217719153
+ .long 766831764
+ .long 3217739614
+ .long 3619519104
+ .long 3217760039
+ .long 392140265
+ .long 3217780431
+ .long 171901807
+ .long 3217800788
+ .long 3453570542
+ .long 3217821110
+ .long 2139490342
+ .long 3217841399
+ .long 1014435273
+ .long 3217861654
+ .long 565756928
+ .long 3217881875
+ .long 1278368112
+ .long 3217902062
+ .long 3634759079
+ .long 3217922215
+ .long 3820046351
+ .long 3217942335
+ .long 2311923285
+ .long 3217962422
+ .long 3880675917
+ .long 3217982475
+ .long 409329490
+ .long 3218002496
+ .long 958435111
+ .long 3218022483
+ .long 1701314133
+ .long 3218042437
+ .long 3103942666
+ .long 3218062358
+ .long 2814999741
+ .long 3218080995
+ .long 2722956900
+ .long 3218090923
+ .long 1505407411
+ .long 3218100835
+ .long 3685756937
+ .long 3218110730
+ .long 901390368
+ .long 3218120610
+ .long 1968450191
+ .long 3218130473
+ .long 2817072651
+ .long 3218140320
+ .long 3671264118
+ .long 3218150151
+ .long 458973606
+ .long 3218159967
+ .long 1991969023
+ .long 3218169766
+ .long 4196040400
+ .long 3218179549
+ .long 2995908720
+ .long 3218189317
+ .long 2905167410
+ .long 3218199069
+ .long 4141387283
+ .long 3218208805
+ .long 2626123321
+ .long 3218218526
+ .long 2869823290
+ .long 3218228231
+ .long 791965228
+ .long 3218237921
+ .long 900933251
+ .long 3218247595
+ .long 3409122230
+ .long 3218257253
+ .long 4232944303
+ .long 3218266896
+ .long 3582769936
+ .long 3218276524
+ .long 1667967030
+ .long 3218286137
+ .long 2991874584
+ .long 3218295734
+ .long 3466907117
+ .long 3218305316
+ .long 3299462810
+ .long 3218314883
+ .long 2694962427
+ .long 3218324435
+ .long 1857855474
+ .long 3218333972
+ .long 991626313
+ .long 3218343494
+ .long 298800229
+ .long 3218353001
+ .long 4275916740
+ .long 3218362492
+ .long 238699089
+ .long 3218371970
+ .long 1271733131
+ .long 3218381432
+ .long 3278800247
+ .long 3218390879
+ .long 2162752362
+ .long 3218400312
+ .long 2415452322
+ .long 3218409730
+ .long 4232877747
+ .long 3218419133
+ .long 3515126734
+ .long 3218428522
+ .long 456358091
+ .long 3218437897
+ .long 3839764252
+ .long 3218447256
+ .long 972805768
+ .long 3218456602
+ .long 636889785
+ .long 3218465933
+ .long 3022604462
+ .long 3218475249
+ .long 4024691694
+ .long 3218484551
+ .long 3831987111
+ .long 3218493839
+ .long 2632458130
+ .long 3218503113
+ .long 613209272
+ .long 3218512373
+ .long 2255454733
+ .long 3218521618
+ .long 3449621726
+ .long 3218530849
+ .long 85290269
+ .long 3218540067
+ .long 936100227
+ .long 3218549270
+ .long 1889952648
+ .long 3218558459
+ .long 3128884028
+ .long 3218567634
+ .long 539136753
+ .long 3218576796
+ .long 2891033284
+ .long 3218585943
+ .long 1774210047
+ .long 3218595077
+ .long 1662393428
+ .long 3218604197
+ .long 2733535479
+ .long 3218613303
+ .long 869818766
+ .long 3218622396
+ .long 542563073
+ .long 3218631475
+ .long 1927328294
+ .long 3218640540
+ .long 903919170
+ .long 3218649592
+ .long 1941291890
+ .long 3218658630
+ .long 917689576
+ .long 3218667655
+ .long 2300516105
+ .long 3218676666
+ .long 1966471527
+ .long 3218685664
+ .long 86458524
+ .long 3218694649
+ .long 1125586940
+ .long 3218703620
+ .long 958276399
+ .long 3218712578
+ .long 4048129956
+ .long 3218721522
+ .long 1973102048
+ .long 3218730454
+ .long 3490273972
+ .long 3218739372
+ .long 176119889
+ .long 3218748278
+ .long 786249521
+ .long 3218757170
+ .long 1190641396
+ .long 3218766049
+ .long 1553516298
+ .long 3218774915
+ .long 2038374217
+ .long 3218783768
+ .long 2807998562
+ .long 3218792608
+ .long 4024460340
+ .long 3218801435
+ .long 1554155016
+ .long 3218810250
+ .long 4147675809
+ .long 3218819051
+ .long 3375046719
+ .long 3218827840
+ .long 3690497658
+ .long 3218836616
+ .long 957631997
+ .long 3218845380
+ .long 3924267057
+ .long 3218854130
+ .long 4157667002
+ .long 3218862868
+ .long 1814350566
+ .long 3218871594
+ .long 1345127672
+ .long 3218880307
+ .long 2905168726
+ .long 3218889007
+ .long 2354008484
+ .long 3218897695
+ .long 4140451764
+ .long 3218906370
+ .long 4122708074
+ .long 3218915033
+ .long 2453297277
+ .long 3218923684
+ .long 3579053340
+ .long 3218932322
+ .long 3356226173
+ .long 3218940948
+ .long 1935387215
+ .long 3218949562
+ .long 3761433103
+ .long 3218958163
+ .long 393720137
+ .long 3218966753
+ .long 570838969
+ .long 3218975330
+ .long 145847129
+ .long 3218983895
+ .long 3561109068
+ .long 3218992447
+ .long 2373463229
+ .long 3219000988
+ .long 1024029336
+ .long 3219009517
+ .long 3953310001
+ .long 3219018033
+ .long 2716292306
+ .long 3219026538
+ .long 1752255026
+ .long 3219035031
+ .long 1204902862
+ .long 3219043512
+ .long 1217337138
+ .long 3219051981
+ .long 1932059168
+ .long 3219060438
+ .long 3490973615
+ .long 3219068883
+ .long 1740424513
+ .long 3219077317
+ .long 1116100460
+ .long 3219085739
+ .long 1758136015
+ .long 3219094149
+ .long 3806082244
+ .long 3219102547
+ .long 3103942666
+ .long 3219110934
+ .long 4085078348
+ .long 3219119309
+ .long 2592341915
+ .long 3219127673
+ .long 1237017397
+ .long 1071636966
+ .long 2971350592
+ .long 1071628625
+ .long 2474540381
+ .long 1071620296
+ .long 3905998082
+ .long 1071611978
+ .long 2835758645
+ .long 1071603672
+ .long 3424346780
+ .long 1071595377
+ .long 1242904730
+ .long 1071587094
+ .long 453058437
+ .long 1071578822
+ .long 922012657
+ .long 1071570561
+ .long 2517515272
+ .long 1071562311
+ .long 812887046
+ .long 1071554073
+ .long 4266887859
+ .long 1071545845
+ .long 4158942730
+ .long 1071537629
+ .long 358942686
+ .long 1071529425
+ .long 1327241886
+ .long 1071521231
+ .long 2639818283
+ .long 1071513048
+ .long 4168139969
+ .long 1071504876
+ .long 1489227762
+ .long 1071496716
+ .long 3065521585
+ .long 1071488566
+ .long 180106617
+ .long 1071480428
+ .long 1296448894
+ .long 1071472300
+ .long 1993621492
+ .long 1071464183
+ .long 2146170984
+ .long 1071456077
+ .long 1629147435
+ .long 1071447982
+ .long 318101713
+ .long 1071439898
+ .long 2384050109
+ .long 1071431824
+ .long 3408569797
+ .long 1071423761
+ .long 3268698084
+ .long 1071415709
+ .long 1841962494
+ .long 1071407668
+ .long 3301345460
+ .long 1071399637
+ .long 3230379855
+ .long 1071391617
+ .long 1508048307
+ .long 1071383608
+ .long 2308780654
+ .long 1071375609
+ .long 1217549516
+ .long 1071367621
+ .long 2409736962
+ .long 1071359643
+ .long 1471262832
+ .long 1071351676
+ .long 2578451427
+ .long 1071343719
+ .long 1318159863
+ .long 1071335773
+ .long 1867644803
+ .long 1071327837
+ .long 4109658128
+ .long 1071319911
+ .long 3632444524
+ .long 1071311996
+ .long 319673663
+ .long 1071304092
+ .long 2645405118
+ .long 1071296197
+ .long 1904282206
+ .long 1071288313
+ .long 2276300709
+ .long 1071280439
+ .long 3646937343
+ .long 1071272575
+ .long 1607147436
+ .long 1071264722
+ .long 338264500
+ .long 1071256879
+ .long 4022063343
+ .long 1071249045
+ .long 3955855900
+ .long 1071241222
+ .long 27325445
+ .long 1071233410
+ .long 714524338
+ .long 1071225607
+ .long 1611035309
+ .long 1071217814
+ .long 2605838414
+ .long 1071210031
+ .long 3588341533
+ .long 1071202258
+ .long 153410875
+ .long 1071194496
+ .long 781237988
+ .long 1071186743
+ .long 1067533806
+ .long 1071179000
+ .long 903395686
+ .long 1071171267
+ .long 180337970
+ .long 1071163544
+ .long 3085257158
+ .long 1071155830
+ .long 920560604
+ .long 1071148127
+ .long 2168935497
+ .long 1071140433
+ .long 2428575699
+ .long 1071132749
+ .long 1593048857
+ .long 1071125075
+ .long 3851294344
+ .long 1071117410
+ .long 507752028
+ .long 1071109756
+ .long 47131309
+ .long 1071102111
+ .long 2364605328
+ .long 1071094475
+ .long 3060776247
+ .long 1071086849
+ .long 2031607852
+ .long 1071079233
+ .long 3468423567
+ .long 1071071626
+ .long 2973002597
+ .long 1071064029
+ .long 442479858
+ .long 1071056442
+ .long 69344031
+ .long 1071048864
+ .long 1751501034
+ .long 1071041295
+ .long 1092272106
+ .long 1071033736
+ .long 2285293781
+ .long 1071026186
+ .long 934646808
+ .long 1071018646
+ .long 1234723447
+ .long 1071011115
+ .long 3085323714
+ .long 1071003593
+ .long 2091653507
+ .long 1070996081
+ .long 2449224655
+ .long 1070988578
+ .long 4058951182
+ .long 1070981084
+ .long 2527147484
+ .long 1070973600
+ .long 2050428397
+ .long 1070966125
+ .long 2530805506
+ .long 1070958659
+ .long 3870652645
+ .long 1070951202
+ .long 1677736816
+ .long 1070943755
+ .long 150118311
+ .long 1070936317
+ .long 3486214350
+ .long 1070928887
+ .long 2999895448
+ .long 1070921467
+ .long 2890287450
+ .long 1070914056
+ .long 3061900616
+ .long 1070906654
+ .long 3419595198
+ .long 1070899261
+ .long 3868579735
+ .long 1070891877
+ .long 19442055
+ .long 1070884503
+ .long 368016775
+ .long 1070877137
+ .long 525579846
+ .long 1070869780
+ .long 398716067
+ .long 1070862432
+ .long 4189317433
+ .long 1070855092
+ .long 3214712303
+ .long 1070847762
+ .long 1677467535
+ .long 1070840441
+ .long 3780484975
+ .long 1070833128
+ .long 842097952
+ .long 1070825825
+ .long 1360840737
+ .long 1070818530
+ .long 950675880
+ .long 1070811244
+ .long 3815829096
+ .long 1070803966
+ .long 1275951213
+ .long 1070796698
+ .long 1830887666
+ .long 1070789438
+ .long 1095905871
+ .long 1070782187
+ .long 3276530156
+ .long 1070774944
+ .long 3988671029
+ .long 1070767710
+ .long 3143525540
+ .long 1070760485
+ .long 652608459
+ .long 1070753269
+ .long 722718060
+ .long 1070746061
+ .long 3266000023
+ .long 1070738861
+ .long 3899945937
+ .long 1070731670
+ .long 2537326407
+ .long 1070724488
+ .long 3386189576
+ .long 1070717314
+ .long 2064957766
+ .long 1070710149
+ .long 2782295200
+ .long 1070702992
+ .long 1157237371
+ .long 1070695844
+ .long 1399058776
+ .long 1070688704
+ .long 3422369598
+ .long 1070681572
+ .long 2847114276
+ .long 1070674449
+ .long 3883471977
+ .long 1070667334
+ .long 2151986001
+ .long 1070660228
+ .long 1863431563
+ .long 1070653130
+ .long 2933912512
+ .long 1070646040
+ .long 984859948
+ .long 1070638959
+ .long 227932728
+ .long 1070631886
+ .long 580114212
+ .long 1070624821
+ .long 1958678199
+ .long 1070617764
+ .long 4281187571
+ .long 1070610715
+ .long 3170525652
+ .long 1070603675
+ .long 2839796761
+ .long 1070596643
+ .long 2119878685
+ .long 1070583143
+ .long 4089253071
+ .long 1070569111
+ .long 2835758645
+ .long 1070555096
+ .long 2492901513
+ .long 1070541097
+ .long 2899780145
+ .long 1070527114
+ .long 3896050086
+ .long 1070513147
+ .long 1026954088
+ .long 1070499197
+ .long 2723188744
+ .long 1070485262
+ .long 236130877
+ .long 1070471344
+ .long 1997573379
+ .long 1070457441
+ .long 3554951635
+ .long 1070443554
+ .long 456242909
+ .long 1070429684
+ .long 1134865756
+ .long 1070415829
+ .long 1139873776
+ .long 1070401990
+ .long 315822345
+ .long 1070388167
+ .long 2802766176
+ .long 1070374359
+ .long 4151355006
+ .long 1070360567
+ .long 4207733072
+ .long 1070346791
+ .long 2818569420
+ .long 1070333031
+ .long 4126022811
+ .long 1070319286
+ .long 3682837469
+ .long 1070305557
+ .long 1337242607
+ .long 1070291844
+ .long 1232950086
+ .long 1070278146
+ .long 3219217489
+ .long 1070264463
+ .long 2850845810
+ .long 1070250796
+ .long 4273079031
+ .long 1070237144
+ .long 3041732648
+ .long 1070223508
+ .long 3303060581
+ .long 1070209887
+ .long 613883718
+ .long 1070196282
+ .long 3416424147
+ .long 1070182691
+ .long 2973531841
+ .long 1070169116
+ .long 3433453502
+ .long 1070155556
+ .long 354993870
+ .long 1070142012
+ .long 2182349993
+ .long 1070128482
+ .long 180337970
+ .long 1070114968
+ .long 2794129140
+ .long 1070101468
+ .long 1289509543
+ .long 1070087984
+ .long 4112616140
+ .long 1070074514
+ .long 2530196300
+ .long 1070061060
+ .long 694376742
+ .long 1070047621
+ .long 2757759525
+ .long 1070034196
+ .long 4283485357
+ .long 1070020786
+ .long 835166085
+ .long 1070007392
+ .long 861784501
+ .long 1069994012
+ .long 4222855791
+ .long 1069980646
+ .long 2188425477
+ .long 1069967296
+ .long 3208871137
+ .long 1069953960
+ .long 2850129301
+ .long 1069940639
+ .long 973562605
+ .long 1069927333
+ .long 1735957778
+ .long 1069914041
+ .long 704621746
+ .long 1069900764
+ .long 2037248826
+ .long 1069887501
+ .long 1302049555
+ .long 1069874253
+ .long 2657617909
+ .long 1069861019
+ .long 1673060149
+ .long 1069847800
+ .long 2507862062
+ .long 1069834595
+ .long 732017833
+ .long 1069821405
+ .long 505897304
+ .long 1069808229
+ .long 1695342161
+ .long 1069795067
+ .long 4166631327
+ .long 1069781919
+ .long 3491511767
+ .long 1069768786
+ .long 3832098487
+ .long 1069755667
+ .long 761003473
+ .long 1069742563
+ .long 2736170304
+ .long 1069729472
+ .long 1036101224
+ .long 1069716396
+ .long 4119593661
+ .long 1069703333
+ .long 3266000023
+ .long 1069690285
+ .long 2639996940
+ .long 1069677251
+ .long 2111714268
+ .long 1069664231
+ .long 1551700571
+ .long 1069651225
+ .long 830921328
+ .long 1069638233
+ .long 4115724438
+ .long 1069625254
+ .long 2687969258
+ .long 1069612290
+ .long 714828609
+ .long 1069599340
+ .long 2363885129
+ .long 1069586403
+ .long 3213194931
+ .long 1069573480
+ .long 3136187749
+ .long 1069560571
+ .long 2006697909
+ .long 1069547676
+ .long 3692892517
+ .long 1069522069
+ .long 765175007
+ .long 1069496334
+ .long 3570253499
+ .long 1069470625
+ .long 3269064532
+ .long 1069444944
+ .long 3908238678
+ .long 1069419290
+ .long 945260706
+ .long 1069393664
+ .long 2723302721
+ .long 1069368064
+ .long 406449780
+ .long 1069342492
+ .long 2339434949
+ .long 1069316946
+ .long 3982864956
+ .long 1069291427
+ .long 798118804
+ .long 1069265936
+ .long 1132246414
+ .long 1069240471
+ .long 448161614
+ .long 1069215033
+ .long 2799475404
+ .long 1069189621
+ .long 3650623571
+ .long 1069164236
+ .long 2761765396
+ .long 1069138878
+ .long 4188780490
+ .long 1069113546
+ .long 3398363754
+ .long 1069088241
+ .long 152924136
+ .long 1069062963
+ .long 2805548810
+ .long 1069037710
+ .long 2530196300
+ .long 1069012484
+ .long 3386464469
+ .long 1068987284
+ .long 844750970
+ .long 1068962111
+ .long 3261086672
+ .long 1068936963
+ .long 1812361559
+ .long 1068911842
+ .long 561092771
+ .long 1068886747
+ .long 3570519722
+ .long 1068861677
+ .long 2019699215
+ .long 1068836634
+ .long 4268273544
+ .long 1068811616
+ .long 1496729166
+ .long 1068786625
+ .long 2066132126
+ .long 1068761659
+ .long 1453354059
+ .long 1068736719
+ .long 3725905754
+ .long 1068711804
+ .long 67097779
+ .long 1068686916
+ .long 3135775963
+ .long 1068662052
+ .long 4116645570
+ .long 1068637214
+ .long 2785039517
+ .long 1068612402
+ .long 3211948238
+ .long 1068587615
+ .long 879114973
+ .long 1068562854
+ .long 4153869436
+ .long 1068538117
+ .long 4224353950
+ .long 1068513406
+ .long 1738648877
+ .long 1068478498
+ .long 621328029
+ .long 1068429177
+ .long 361989374
+ .long 1068379906
+ .long 522185726
+ .long 1068330685
+ .long 664805953
+ .long 1068281514
+ .long 354069550
+ .long 1068232393
+ .long 3450488540
+ .long 1068183321
+ .long 930992923
+ .long 1068134300
+ .long 953696405
+ .long 1068085328
+ .long 3088087314
+ .long 1068036405
+ .long 2609990599
+ .long 1067987532
+ .long 3386464469
+ .long 1067938708
+ .long 695925966
+ .long 1067889934
+ .long 2702982241
+ .long 1067841208
+ .long 393654302
+ .long 1067792532
+ .long 1935110223
+ .long 1067743904
+ .long 2610888947
+ .long 1067695325
+ .long 2000764363
+ .long 1067646795
+ .long 3980740227
+ .long 1067598313
+ .long 3838143224
+ .long 1067549880
+ .long 1156519829
+ .long 1067501496
+ .long 4110598596
+ .long 1067453159
+ .long 3097995520
+ .long 1067359375
+ .long 3297851897
+ .long 1067262895
+ .long 3702812359
+ .long 1067166511
+ .long 3492345695
+ .long 1067070223
+ .long 1848366390
+ .long 1066974031
+ .long 2250192214
+ .long 1066877934
+ .long 3884599966
+ .long 1066781932
+ .long 1645815860
+ .long 1066686026
+ .long 3315375145
+ .long 1066590214
+ .long 3792308805
+ .long 1066494497
+ .long 251039259
+ .long 1066395959
+ .long 207414748
+ .long 1066204903
+ .long 1561045812
+ .long 1066014035
+ .long 2718921511
+ .long 1065823355
+ .long 2092732370
+ .long 1065632863
+ .long 2393819184
+ .long 1065442558
+ .long 4086440081
+ .long 1065151664
+ .long 3228205919
+ .long 1064771801
+ .long 3368528065
+ .long 1064392310
+ .long 2754502618
+ .long 1063721742
+ .long 2303420870
+ .long 1062672426
+ .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 2696122091
+ .long 3214636092
+ .long 2696122091
+ .long 3214636092
+ .long 2696122091
+ .long 3214636092
+ .long 2696122091
+ .long 3214636092
+ .long 60798926
+ .long 1067957842
+ .long 60798926
+ .long 1067957842
+ .long 60798926
+ .long 1067957842
+ .long 60798926
+ .long 1067957842
+ .long 4242638864
+ .long 3216335824
+ .long 4242638864
+ .long 3216335824
+ .long 4242638864
+ .long 3216335824
+ .long 4242638864
+ .long 3216335824
+ .long 3540051903
+ .long 1069845994
+ .long 3540051903
+ .long 1069845994
+ .long 3540051903
+ .long 1069845994
+ .long 3540051903
+ .long 1069845994
+ .long 2610650434
+ .long 3218487403
+ .long 2610650434
+ .long 3218487403
+ .long 2610650434
+ .long 3218487403
+ .long 2610650434
+ .long 3218487403
+ .long 734375590
+ .long 1062030445
+ .long 734375590
+ .long 1062030445
+ .long 734375590
+ .long 1062030445
+ .long 734375590
+ .long 1062030445
+ .long 2574098898
+ .long 1070757742
+ .long 2574098898
+ .long 1070757742
+ .long 2574098898
+ .long 1070757742
+ .long 2574098898
+ .long 1070757742
+ .long 1279163547
+ .long 3218543945
+ .long 1279163547
+ .long 3218543945
+ .long 1279163547
+ .long 3218543945
+ .long 1279163547
+ .long 3218543945
+ .long 3694782758
+ .long 1071564553
+ .long 3694782758
+ .long 1071564553
+ .long 3694782758
+ .long 1071564553
+ .long 3694782758
+ .long 1071564553
+ .long 1697348856
+ .long 3219592519
+ .long 1697348856
+ .long 3219592519
+ .long 1697348856
+ .long 3219592519
+ .long 1697348856
+ .long 3219592519
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1063256064
+ .long 0
+ .long 1063256064
+ .long 0
+ .long 1063256064
+ .long 0
+ .long 1063256064
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1073156096
+ .long 0
+ .long 1073156096
+ .long 0
+ .long 1073156096
+ .long 0
+ .long 1073156096
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 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 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_dlog2_data_internal,@object
+ .size __svml_dlog2_data_internal,13696
+ .align 64
+
+__dlog2_la__Q3:
+ .long 3213221364
+ .long 1050233568
+ .long 1697350398
+ .long 3219592519
+ .long 3694789629
+ .long 1071564553
+ .long 0
+ .long 1073157447
+ .type __dlog2_la__Q3,@object
+ .size __dlog2_la__Q3,32
+ .space 32, 0x00
+ .align 64
+
+__dlog2_la__Q2:
+ .long 3213221358
+ .long 1050233568
+ .long 1697350398
+ .long 3219592519
+ .long 3695167823
+ .long 1071564553
+ .long 1697791998
+ .long 3218543943
+ .long 0
+ .long 1073157447
+ .type __dlog2_la__Q2,@object
+ .size __dlog2_la__Q2,40
+ .space 24, 0x00
+ .align 64
+
+__dlog2_la__Q1:
+ .long 3213221370
+ .long 1050233568
+ .long 3213207734
+ .long 3196668640
+ .long 3694789628
+ .long 1071564553
+ .long 1697350743
+ .long 3218543943
+ .long 1357908666
+ .long 1070757740
+ .long 3685007067
+ .long 3217999625
+ .long 96832070
+ .long 1070227830
+ .long 1140452344
+ .long 3217495379
+ .long 2606274745
+ .long 1069844296
+ .long 1933654871
+ .long 3217172449
+ .long 0
+ .long 1073157447
+ .long 0
+ .long 3219592519
+ .type __dlog2_la__Q1,@object
+ .size __dlog2_la__Q1,96
+ .space 32, 0x00
+ .align 64
+
+__dlog2_la__TWO_32P:
+ .long 1048576
+ .long 1106247680
+ .type __dlog2_la__TWO_32P,@object
+ .size __dlog2_la__TWO_32P,8
+ .space 56, 0x00
+ .align 64
+
+__dlog2_la__TWO_32:
+ .long 0
+ .long 1106247680
+ .type __dlog2_la__TWO_32,@object
+ .size __dlog2_la__TWO_32,8
+ .space 56, 0x00
+ .align 64
+
+__dlog2_la__TWO_55:
+ .long 0
+ .long 1130364928
+ .type __dlog2_la__TWO_55,@object
+ .size __dlog2_la__TWO_55,8
+ .space 56, 0x00
+ .align 64
+
+__dlog2_la___libm_rcp_table_256:
+ .long 0x3f7f8000
+ .long 0x3f7e8000
+ .long 0x3f7d8000
+ .long 0x3f7c8000
+ .long 0x3f7ba000
+ .long 0x3f7aa000
+ .long 0x3f79a000
+ .long 0x3f78c000
+ .long 0x3f77c000
+ .long 0x3f76e000
+ .long 0x3f75e000
+ .long 0x3f750000
+ .long 0x3f742000
+ .long 0x3f732000
+ .long 0x3f724000
+ .long 0x3f716000
+ .long 0x3f708000
+ .long 0x3f6fa000
+ .long 0x3f6ec000
+ .long 0x3f6de000
+ .long 0x3f6d0000
+ .long 0x3f6c2000
+ .long 0x3f6b6000
+ .long 0x3f6a8000
+ .long 0x3f69a000
+ .long 0x3f68c000
+ .long 0x3f680000
+ .long 0x3f672000
+ .long 0x3f666000
+ .long 0x3f658000
+ .long 0x3f64c000
+ .long 0x3f640000
+ .long 0x3f632000
+ .long 0x3f626000
+ .long 0x3f61a000
+ .long 0x3f60e000
+ .long 0x3f600000
+ .long 0x3f5f4000
+ .long 0x3f5e8000
+ .long 0x3f5dc000
+ .long 0x3f5d0000
+ .long 0x3f5c4000
+ .long 0x3f5b8000
+ .long 0x3f5ae000
+ .long 0x3f5a2000
+ .long 0x3f596000
+ .long 0x3f58a000
+ .long 0x3f57e000
+ .long 0x3f574000
+ .long 0x3f568000
+ .long 0x3f55e000
+ .long 0x3f552000
+ .long 0x3f546000
+ .long 0x3f53c000
+ .long 0x3f532000
+ .long 0x3f526000
+ .long 0x3f51c000
+ .long 0x3f510000
+ .long 0x3f506000
+ .long 0x3f4fc000
+ .long 0x3f4f2000
+ .long 0x3f4e6000
+ .long 0x3f4dc000
+ .long 0x3f4d2000
+ .long 0x3f4c8000
+ .long 0x3f4be000
+ .long 0x3f4b4000
+ .long 0x3f4aa000
+ .long 0x3f4a0000
+ .long 0x3f496000
+ .long 0x3f48c000
+ .long 0x3f482000
+ .long 0x3f478000
+ .long 0x3f46e000
+ .long 0x3f464000
+ .long 0x3f45c000
+ .long 0x3f452000
+ .long 0x3f448000
+ .long 0x3f43e000
+ .long 0x3f436000
+ .long 0x3f42c000
+ .long 0x3f422000
+ .long 0x3f41a000
+ .long 0x3f410000
+ .long 0x3f408000
+ .long 0x3f3fe000
+ .long 0x3f3f6000
+ .long 0x3f3ec000
+ .long 0x3f3e4000
+ .long 0x3f3da000
+ .long 0x3f3d2000
+ .long 0x3f3ca000
+ .long 0x3f3c0000
+ .long 0x3f3b8000
+ .long 0x3f3b0000
+ .long 0x3f3a8000
+ .long 0x3f39e000
+ .long 0x3f396000
+ .long 0x3f38e000
+ .long 0x3f386000
+ .long 0x3f37e000
+ .long 0x3f376000
+ .long 0x3f36c000
+ .long 0x3f364000
+ .long 0x3f35c000
+ .long 0x3f354000
+ .long 0x3f34c000
+ .long 0x3f344000
+ .long 0x3f33c000
+ .long 0x3f334000
+ .long 0x3f32e000
+ .long 0x3f326000
+ .long 0x3f31e000
+ .long 0x3f316000
+ .long 0x3f30e000
+ .long 0x3f306000
+ .long 0x3f2fe000
+ .long 0x3f2f8000
+ .long 0x3f2f0000
+ .long 0x3f2e8000
+ .long 0x3f2e2000
+ .long 0x3f2da000
+ .long 0x3f2d2000
+ .long 0x3f2cc000
+ .long 0x3f2c4000
+ .long 0x3f2bc000
+ .long 0x3f2b6000
+ .long 0x3f2ae000
+ .long 0x3f2a8000
+ .long 0x3f2a0000
+ .long 0x3f29a000
+ .long 0x3f292000
+ .long 0x3f28c000
+ .long 0x3f284000
+ .long 0x3f27e000
+ .long 0x3f276000
+ .long 0x3f270000
+ .long 0x3f268000
+ .long 0x3f262000
+ .long 0x3f25c000
+ .long 0x3f254000
+ .long 0x3f24e000
+ .long 0x3f248000
+ .long 0x3f240000
+ .long 0x3f23a000
+ .long 0x3f234000
+ .long 0x3f22e000
+ .long 0x3f226000
+ .long 0x3f220000
+ .long 0x3f21a000
+ .long 0x3f214000
+ .long 0x3f20e000
+ .long 0x3f206000
+ .long 0x3f200000
+ .long 0x3f1fa000
+ .long 0x3f1f4000
+ .long 0x3f1ee000
+ .long 0x3f1e8000
+ .long 0x3f1e2000
+ .long 0x3f1dc000
+ .long 0x3f1d6000
+ .long 0x3f1d0000
+ .long 0x3f1ca000
+ .long 0x3f1c4000
+ .long 0x3f1be000
+ .long 0x3f1b8000
+ .long 0x3f1b2000
+ .long 0x3f1ac000
+ .long 0x3f1a6000
+ .long 0x3f1a0000
+ .long 0x3f19a000
+ .long 0x3f194000
+ .long 0x3f190000
+ .long 0x3f18a000
+ .long 0x3f184000
+ .long 0x3f17e000
+ .long 0x3f178000
+ .long 0x3f172000
+ .long 0x3f16e000
+ .long 0x3f168000
+ .long 0x3f162000
+ .long 0x3f15c000
+ .long 0x3f158000
+ .long 0x3f152000
+ .long 0x3f14c000
+ .long 0x3f148000
+ .long 0x3f142000
+ .long 0x3f13c000
+ .long 0x3f138000
+ .long 0x3f132000
+ .long 0x3f12c000
+ .long 0x3f128000
+ .long 0x3f122000
+ .long 0x3f11c000
+ .long 0x3f118000
+ .long 0x3f112000
+ .long 0x3f10e000
+ .long 0x3f108000
+ .long 0x3f104000
+ .long 0x3f0fe000
+ .long 0x3f0f8000
+ .long 0x3f0f4000
+ .long 0x3f0ee000
+ .long 0x3f0ea000
+ .long 0x3f0e6000
+ .long 0x3f0e0000
+ .long 0x3f0dc000
+ .long 0x3f0d6000
+ .long 0x3f0d2000
+ .long 0x3f0cc000
+ .long 0x3f0c8000
+ .long 0x3f0c2000
+ .long 0x3f0be000
+ .long 0x3f0ba000
+ .long 0x3f0b4000
+ .long 0x3f0b0000
+ .long 0x3f0ac000
+ .long 0x3f0a6000
+ .long 0x3f0a2000
+ .long 0x3f09e000
+ .long 0x3f098000
+ .long 0x3f094000
+ .long 0x3f090000
+ .long 0x3f08a000
+ .long 0x3f086000
+ .long 0x3f082000
+ .long 0x3f07e000
+ .long 0x3f078000
+ .long 0x3f074000
+ .long 0x3f070000
+ .long 0x3f06c000
+ .long 0x3f066000
+ .long 0x3f062000
+ .long 0x3f05e000
+ .long 0x3f05a000
+ .long 0x3f056000
+ .long 0x3f052000
+ .long 0x3f04c000
+ .long 0x3f048000
+ .long 0x3f044000
+ .long 0x3f040000
+ .long 0x3f03c000
+ .long 0x3f038000
+ .long 0x3f034000
+ .long 0x3f030000
+ .long 0x3f02a000
+ .long 0x3f026000
+ .long 0x3f022000
+ .long 0x3f01e000
+ .long 0x3f01a000
+ .long 0x3f016000
+ .long 0x3f012000
+ .long 0x3f00e000
+ .long 0x3f00a000
+ .long 0x3f006000
+ .long 0x3f002000
+ .type __dlog2_la___libm_rcp_table_256,@object
+ .size __dlog2_la___libm_rcp_table_256,1024
+ .align 64
+
+__dlog2_la___libm_log2_table_256:
+ .long 0xfb44c3b7,0x3e1485cb
+ .long 0x00000000,0x3f671b0e
+ .long 0x06028ac0,0x3e31d5d9
+ .long 0x00000000,0x3f815cfe
+ .long 0xb8d7240b,0x3df8b9cb
+ .long 0x00000000,0x3f8cfee7
+ .long 0x0d179106,0x3e38864a
+ .long 0x00000000,0x3f94564a
+ .long 0xecba1593,0x3e459c6a
+ .long 0x00000000,0x3f997723
+ .long 0x94120c14,0x3e48d36a
+ .long 0x00000000,0x3f9f5923
+ .long 0xd2571490,0x3e5410ba
+ .long 0x00000000,0x3fa2a094
+ .long 0x1dc036a2,0x3e2776b0
+ .long 0x00000000,0x3fa53894
+ .long 0x78efe2b1,0x3e537229
+ .long 0x00000000,0x3fa8324c
+ .long 0xfd29dc75,0x3e59c0fa
+ .long 0x00000000,0x3faacf54
+ .long 0x046734f7,0x3e4636b7
+ .long 0x00000000,0x3fadced9
+ .long 0xd3b410b8,0x3e6f7950
+ .long 0x00000000,0x3fb0387e
+ .long 0x00f2200a,0x3e19d1e7
+ .long 0x00000000,0x3fb18ac6
+ .long 0x8661ba82,0x3e4f09a9
+ .long 0x00000000,0x3fb30edd
+ .long 0x9367107c,0x3e564d91
+ .long 0x00000000,0x3fb463c1
+ .long 0x0e4a4ce8,0x3e4e1fd1
+ .long 0x00000000,0x3fb5b9e1
+ .long 0x3cdb6374,0x3e492cf0
+ .long 0x00000000,0x3fb7113f
+ .long 0x069c4f7f,0x3e61a364
+ .long 0x00000000,0x3fb869dd
+ .long 0x427b631b,0x3e6493a6
+ .long 0x00000000,0x3fb9c3be
+ .long 0xe02b3e8b,0x3e6af2c2
+ .long 0x00000000,0x3fbb1ee4
+ .long 0x389f4365,0x3e616e1e
+ .long 0x00000000,0x3fbc7b52
+ .long 0x6a31fd96,0x3e4633b7
+ .long 0x00000000,0x3fbdd90a
+ .long 0x0508664d,0x3e62ed84
+ .long 0x00000000,0x3fbf05d4
+ .long 0xaca1905c,0x3e775dcd
+ .long 0x00000000,0x3fc032fb
+ .long 0x094fbeeb,0x3e753e65
+ .long 0x00000000,0x3fc0e3b5
+ .long 0x96aa4b17,0x3e671f44
+ .long 0x00000000,0x3fc19519
+ .long 0x92da5a47,0x3e785566
+ .long 0x00000000,0x3fc22dad
+ .long 0xbeb7d722,0x3e518efa
+ .long 0x00000000,0x3fc2e050
+ .long 0xab57551c,0x3e738564
+ .long 0x00000000,0x3fc379f7
+ .long 0x54a914e3,0x3e55d0da
+ .long 0x00000000,0x3fc42ddd
+ .long 0xfe974017,0x3e73cd00
+ .long 0x00000000,0x3fc4c89b
+ .long 0x59064390,0x3e54ffd6
+ .long 0x00000000,0x3fc563dc
+ .long 0x633ab50f,0x3e67d75e
+ .long 0x00000000,0x3fc619a2
+ .long 0xc8877e8a,0x3e77e6ce
+ .long 0x00000000,0x3fc6b5ff
+ .long 0x1ab7837f,0x3e7ecc1f
+ .long 0x00000000,0x3fc752e1
+ .long 0xf9d5827a,0x3e7cea7c
+ .long 0x00000000,0x3fc7f049
+ .long 0x64ccd537,0x3e357f7a
+ .long 0x00000000,0x3fc8a898
+ .long 0xf7c9b05b,0x3e7994ca
+ .long 0x00000000,0x3fc94724
+ .long 0xa2f56536,0x3e524b8f
+ .long 0x00000000,0x3fc9e63a
+ .long 0x5edaab42,0x3e7fd640
+ .long 0x00000000,0x3fca85d8
+ .long 0xd163379a,0x3e625f54
+ .long 0x00000000,0x3fcb2602
+ .long 0x936acd51,0x3e7ebdc3
+ .long 0x00000000,0x3fcbc6b6
+ .long 0xcfbc0aa0,0x3e7eee14
+ .long 0x00000000,0x3fcc67f7
+ .long 0xf73bcdad,0x3e764469
+ .long 0x00000000,0x3fcceec4
+ .long 0x60971b86,0x3e6eb44e
+ .long 0x00000000,0x3fcd9109
+ .long 0xcd2052a5,0x3e65fcf4
+ .long 0x00000000,0x3fce33dd
+ .long 0xc402867b,0x3e61af1e
+ .long 0x00000000,0x3fced741
+ .long 0xa0c956e4,0x3e61bfbd
+ .long 0x00000000,0x3fcf7b36
+ .long 0x831e77ff,0x3e85287b
+ .long 0x00000000,0x3fd00223
+ .long 0xaddfdee2,0x3e7d2fc3
+ .long 0x00000000,0x3fd054a4
+ .long 0x342052c1,0x3e83724b
+ .long 0x00000000,0x3fd0999d
+ .long 0x602bcd34,0x3e7b4ec9
+ .long 0x00000000,0x3fd0eca6
+ .long 0x3aa20ead,0x3e6742da
+ .long 0x00000000,0x3fd13ffa
+ .long 0x9ecdadf4,0x3e713e82
+ .long 0x00000000,0x3fd185a4
+ .long 0xfef3031b,0x3e52f27e
+ .long 0x00000000,0x3fd1cb83
+ .long 0x79e4af8a,0x3e710739
+ .long 0x00000000,0x3fd21fa1
+ .long 0xe59ad84a,0x3e637301
+ .long 0x00000000,0x3fd265f5
+ .long 0x3d7dfd9b,0x3e88697c
+ .long 0x00000000,0x3fd2baa0
+ .long 0x738117b0,0x3e717788
+ .long 0x00000000,0x3fd3016b
+ .long 0xd3c26a97,0x3e6c5514
+ .long 0x00000000,0x3fd3486c
+ .long 0x4c4ff246,0x3e8df550
+ .long 0x00000000,0x3fd38fa3
+ .long 0x40340fa6,0x3e88102d
+ .long 0x00000000,0x3fd3e562
+ .long 0x4592f4c3,0x3e5f53b6
+ .long 0x00000000,0x3fd42d14
+ .long 0x8b149a00,0x3e750fc8
+ .long 0x00000000,0x3fd474fd
+ .long 0xa8f50e5f,0x3e86d01c
+ .long 0x00000000,0x3fd4bd1e
+ .long 0x7a22a88a,0x3e83c469
+ .long 0x00000000,0x3fd50578
+ .long 0xdc18b6d2,0x3e79000e
+ .long 0x00000000,0x3fd54e0b
+ .long 0x7c00250b,0x3e7870f0
+ .long 0x00000000,0x3fd596d7
+ .long 0xc1c885ae,0x3e8e3dd5
+ .long 0x00000000,0x3fd5dfdc
+ .long 0xa6ecc47e,0x3e7bf64c
+ .long 0x00000000,0x3fd6291c
+ .long 0x0bc16c18,0x3e6bdaca
+ .long 0x00000000,0x3fd67296
+ .long 0x1f925729,0x3e84d25c
+ .long 0x00000000,0x3fd6bc4a
+ .long 0xf23978de,0x3e5a5fb4
+ .long 0x00000000,0x3fd7063a
+ .long 0xe2ac7f60,0x3e8e3da0
+ .long 0x00000000,0x3fd75064
+ .long 0x71f51a7b,0x3e819e20
+ .long 0x00000000,0x3fd79acb
+ .long 0x5b924234,0x3e5e43ae
+ .long 0x00000000,0x3fd7d67c
+ .long 0xe9aedf37,0x3e701a2b
+ .long 0x00000000,0x3fd8214f
+ .long 0xeddd33ea,0x3e6b6f51
+ .long 0x00000000,0x3fd86c5f
+ .long 0xe732b3c4,0x3e79375f
+ .long 0x00000000,0x3fd8b7ac
+ .long 0xe47cb9df,0x3e7e831b
+ .long 0x00000000,0x3fd8f416
+ .long 0xe392d3c8,0x3e8abc37
+ .long 0x00000000,0x3fd93fd2
+ .long 0x28b35c77,0x3e80852d
+ .long 0x00000000,0x3fd98bcd
+ .long 0xd29cea36,0x3e69f374
+ .long 0x00000000,0x3fd9c8c3
+ .long 0xb3d7b0e6,0x3e542981
+ .long 0x00000000,0x3fda152f
+ .long 0x1fe6d5ac,0x3e8b2bfb
+ .long 0x00000000,0x3fda527f
+ .long 0xf32e5dda,0x3e6f6f5c
+ .long 0x00000000,0x3fda9f5e
+ .long 0xd34d0d30,0x3e65abaa
+ .long 0x00000000,0x3fdadd0b
+ .long 0xe0ac9602,0x3e7bd47f
+ .long 0x00000000,0x3fdb2a5d
+ .long 0x7c5c784b,0x3e833601
+ .long 0x00000000,0x3fdb6867
+ .long 0xd7b0821f,0x3e5b887c
+ .long 0x00000000,0x3fdbb62f
+ .long 0xcd0a8f6a,0x3e83eccc
+ .long 0x00000000,0x3fdbf497
+ .long 0x7500a4e8,0x3e7ba0e6
+ .long 0x00000000,0x3fdc332a
+ .long 0xfc8712bb,0x3e885a8b
+ .long 0x00000000,0x3fdc819d
+ .long 0xf7a3a78f,0x3e81c336
+ .long 0x00000000,0x3fdcc090
+ .long 0x4ad8a38b,0x3e7846b4
+ .long 0x00000000,0x3fdcffae
+ .long 0xfcfc3a99,0x3e7db50f
+ .long 0x00000000,0x3fdd3ef7
+ .long 0x433cccd2,0x3e238809
+ .long 0x00000000,0x3fdd8e50
+ .long 0x6828fa82,0x3e721b2e
+ .long 0x00000000,0x3fddcdfb
+ .long 0xfc7c49c1,0x3e82848b
+ .long 0x00000000,0x3fde0dd2
+ .long 0x1fce4d49,0x3e615144
+ .long 0x00000000,0x3fde4dd6
+ .long 0x77e2e8fd,0x3e68b88a
+ .long 0x00000000,0x3fde8e06
+ .long 0x22a961b0,0x3e8fd353
+ .long 0x00000000,0x3fdece62
+ .long 0x266f2e1f,0x3e72854e
+ .long 0x00000000,0x3fdf1f16
+ .long 0xc69211fe,0x3e8520c7
+ .long 0x00000000,0x3fdf5fd8
+ .long 0xaba878d5,0x3e826fcf
+ .long 0x00000000,0x3fdfa0c8
+ .long 0xcd5b35b1,0x3e726ed8
+ .long 0x00000000,0x3fdfe1e6
+ .long 0x678a4f1c,0x3e49054d
+ .long 0x00000000,0x3fe01199
+ .long 0x3bc19f18,0x3e5d23cb
+ .long 0x00000000,0x3fe03256
+ .long 0x12772acb,0x3e87af35
+ .long 0x00000000,0x3fe0532a
+ .long 0x2849c88a,0x3e67f5fc
+ .long 0x00000000,0x3fe07416
+ .long 0x0e574fa1,0x3e84fce2
+ .long 0x00000000,0x3fe08cd6
+ .long 0x0ec2b5fa,0x3e857044
+ .long 0x00000000,0x3fe0adeb
+ .long 0xd031f353,0x3e6d5d1d
+ .long 0x00000000,0x3fe0cf18
+ .long 0xdae75c4d,0x3e99a159
+ .long 0x00000000,0x3fe0f05c
+ .long 0x1553afb9,0x3e90eaf1
+ .long 0x00000000,0x3fe111b9
+ .long 0xdcc5c3c7,0x3e8bc6f3
+ .long 0x00000000,0x3fe1332e
+ .long 0x1109e597,0x3e94ef84
+ .long 0x00000000,0x3fe154bb
+ .long 0xd82adea4,0x3e937f40
+ .long 0x00000000,0x3fe16df5
+ .long 0x78336a2f,0x3e96dc5a
+ .long 0x00000000,0x3fe18fad
+ .long 0x84c2c804,0x3e90935b
+ .long 0x00000000,0x3fe1b17e
+ .long 0x04fd30aa,0x3e8a837a
+ .long 0x00000000,0x3fe1caeb
+ .long 0xd924b0ac,0x3e99061d
+ .long 0x00000000,0x3fe1ece7
+ .long 0xef9b9d01,0x3e7ed700
+ .long 0x00000000,0x3fe20efd
+ .long 0x202c81ec,0x3e9c6ebb
+ .long 0x00000000,0x3fe2289d
+ .long 0xfc0d7d76,0x3e936d4d
+ .long 0x00000000,0x3fe24adf
+ .long 0x9f8756ba,0x3e9a35d7
+ .long 0x00000000,0x3fe26d3a
+ .long 0xe7c79d83,0x3e584ee3
+ .long 0x00000000,0x3fe28710
+ .long 0x942065a0,0x3e7d9e0d
+ .long 0x00000000,0x3fe2a998
+ .long 0x2175afbf,0x3e872108
+ .long 0x00000000,0x3fe2c38f
+ .long 0xfaf6283c,0x3e9f5809
+ .long 0x00000000,0x3fe2e644
+ .long 0x411d0507,0x3e871209
+ .long 0x00000000,0x3fe3005e
+ .long 0x370c24bf,0x3e9c3b11
+ .long 0x00000000,0x3fe32341
+ .long 0x8044bb5a,0x3e9bce8e
+ .long 0x00000000,0x3fe33d7d
+ .long 0x698ea854,0x3e98aca0
+ .long 0x00000000,0x3fe3608f
+ .long 0xd4d873bb,0x3e972a8e
+ .long 0x00000000,0x3fe37aee
+ .long 0x615e8182,0x3e8f669b
+ .long 0x00000000,0x3fe39e2f
+ .long 0xdda5b49a,0x3e98d1f4
+ .long 0x00000000,0x3fe3b8b1
+ .long 0xe72383f7,0x3e9cc279
+ .long 0x00000000,0x3fe3dc21
+ .long 0x497497f1,0x3e9c6774
+ .long 0x00000000,0x3fe3f6c7
+ .long 0x801bd0e6,0x3e82c7f6
+ .long 0x00000000,0x3fe4117d
+ .long 0xd0ee28b4,0x3e9dfdd6
+ .long 0x00000000,0x3fe43531
+ .long 0xb70d3761,0x3e92d3a2
+ .long 0x00000000,0x3fe4500b
+ .long 0xe7d6bcb2,0x3e9c8343
+ .long 0x00000000,0x3fe46af4
+ .long 0x90d43957,0x3e693179
+ .long 0x00000000,0x3fe48eef
+ .long 0xf12570df,0x3e799eab
+ .long 0x00000000,0x3fe4a9fd
+ .long 0x1b88755d,0x3e78c5f8
+ .long 0x00000000,0x3fe4c51b
+ .long 0xdf99a22c,0x3e7369be
+ .long 0x00000000,0x3fe4e049
+ .long 0x6ed50f62,0x3e88fd93
+ .long 0x00000000,0x3fe5049f
+ .long 0x978605ff,0x3e9c6042
+ .long 0x00000000,0x3fe51ff2
+ .long 0xe6c85f4c,0x3e930ae6
+ .long 0x00000000,0x3fe53b56
+ .long 0xc3275ba6,0x3e92e7b6
+ .long 0x00000000,0x3fe556ca
+ .long 0x91597938,0x3e9e6401
+ .long 0x00000000,0x3fe5724e
+ .long 0x448ebb62,0x3e3d2dee
+ .long 0x00000000,0x3fe59719
+ .long 0x47501b6d,0x3e9b432e
+ .long 0x00000000,0x3fe5b2c3
+ .long 0x571fa7cd,0x3e83cf9b
+ .long 0x00000000,0x3fe5ce7f
+ .long 0x7359819d,0x3e8dc615
+ .long 0x00000000,0x3fe5ea4b
+ .long 0xc78a85ed,0x3e8973c3
+ .long 0x00000000,0x3fe60628
+ .long 0xc15a9f3d,0x3e77d788
+ .long 0x00000000,0x3fe62216
+ .long 0x51952736,0x3e9d2538
+ .long 0x00000000,0x3fe63e14
+ .long 0xde792c07,0x3e94dab9
+ .long 0x00000000,0x3fe65a24
+ .long 0x5bfa4318,0x3e8f5be1
+ .long 0x00000000,0x3fe67645
+ .long 0x55090ec8,0x3e903b26
+ .long 0x00000000,0x3fe69277
+ .long 0xc78b6175,0x3e99236f
+ .long 0x00000000,0x3fe6aeba
+ .long 0x3a80db6a,0x3e8a1972
+ .long 0x00000000,0x3fe6cb0f
+ .long 0xf558aa96,0x3e8d43a2
+ .long 0x00000000,0x3fe6e775
+ .long 0xd9a82f2e,0x3e424ee3
+ .long 0x00000000,0x3fe703ed
+ .long 0x583878f6,0x3e764d8e
+ .long 0x00000000,0x3fe72076
+ .long 0xc1150a3e,0x3e379604
+ .long 0x00000000,0x3fe73d11
+ .long 0xed85584b,0x3e93b229
+ .long 0x00000000,0x3fe759bd
+ .long 0x451a7b48,0x3e62967a
+ .long 0x00000000,0x3fe7767c
+ .long 0xc044e72d,0x3e8e12d7
+ .long 0x00000000,0x3fe7934c
+ .long 0xfdfb6949,0x3e9ca45d
+ .long 0x00000000,0x3fe7b02e
+ .long 0xff690fce,0x3e9244fc
+ .long 0x00000000,0x3fe7c37a
+ .long 0x81487a2c,0x3e7e9cea
+ .long 0x00000000,0x3fe7e07b
+ .long 0xd0ad2d9a,0x3e760da0
+ .long 0x00000000,0x3fe7fd8e
+ .long 0x096f45d9,0x3e8d7703
+ .long 0x00000000,0x3fe81ab3
+ .long 0x1b17115b,0x3e78dbee
+ .long 0x00000000,0x3fe837eb
+ .long 0x7c252ee0,0x3e8dc5a4
+ .long 0x00000000,0x3fe85535
+ .long 0x42d5123f,0x3e950116
+ .long 0x00000000,0x3fe868c6
+ .long 0xf11e41be,0x3e4c4eb7
+ .long 0x00000000,0x3fe88630
+ .long 0xdb2890b4,0x3e7773b8
+ .long 0x00000000,0x3fe8a3ac
+ .long 0x7ffb4479,0x3e7bc8e7
+ .long 0x00000000,0x3fe8c13b
+ .long 0x237693b3,0x3e8c388f
+ .long 0x00000000,0x3fe8d4fa
+ .long 0x45fcf1a0,0x3e731cd4
+ .long 0x00000000,0x3fe8f2a9
+ .long 0xe4895b91,0x3e9fae07
+ .long 0x00000000,0x3fe9106a
+ .long 0x42d2824e,0x3e7d140d
+ .long 0x00000000,0x3fe9244c
+ .long 0x39900f67,0x3e75c3c8
+ .long 0x00000000,0x3fe9422e
+ .long 0xa314252b,0x3e902422
+ .long 0x00000000,0x3fe96023
+ .long 0xf2a6b8ef,0x3e7b9be8
+ .long 0x00000000,0x3fe97427
+ .long 0x1476f5e9,0x3e66b188
+ .long 0x00000000,0x3fe9923d
+ .long 0xdde10a6f,0x3e93c377
+ .long 0x00000000,0x3fe9b066
+ .long 0x4944a32c,0x3e817cad
+ .long 0x00000000,0x3fe9c48d
+ .long 0xc738e7ef,0x3e9927f2
+ .long 0x00000000,0x3fe9e2d7
+ .long 0xd25cfd94,0x3e7ccc41
+ .long 0x00000000,0x3fea0136
+ .long 0x2210e81b,0x3e8382fa
+ .long 0x00000000,0x3fea1580
+ .long 0x1e690ce2,0x3e7752a7
+ .long 0x00000000,0x3fea3400
+ .long 0x122315d2,0x3e94cfee
+ .long 0x00000000,0x3fea4860
+ .long 0xce98333b,0x3e80536e
+ .long 0x00000000,0x3fea6702
+ .long 0xc30f00e9,0x3e838b7e
+ .long 0x00000000,0x3fea7b79
+ .long 0x05b0c779,0x3e9dc380
+ .long 0x00000000,0x3fea9a3c
+ .long 0xdd6dd3fe,0x3e6be168
+ .long 0x00000000,0x3feab915
+ .long 0x26e0d276,0x3e966757
+ .long 0x00000000,0x3feacdb0
+ .long 0x0aad615c,0x3e880252
+ .long 0x00000000,0x3feaecab
+ .long 0x7927096a,0x3e607c31
+ .long 0x00000000,0x3feb015e
+ .long 0x53b3d90e,0x3e596513
+ .long 0x00000000,0x3feb161a
+ .long 0x8f2f0570,0x3e90ec3a
+ .long 0x00000000,0x3feb3545
+ .long 0x81193954,0x3e9cb640
+ .long 0x00000000,0x3feb4a18
+ .long 0x311e7236,0x3e936479
+ .long 0x00000000,0x3feb6967
+ .long 0x3a42a413,0x3e9210e8
+ .long 0x00000000,0x3feb7e52
+ .long 0x4a0daeb2,0x3e9a1717
+ .long 0x00000000,0x3feb9dc4
+ .long 0xce900653,0x3e925bb7
+ .long 0x00000000,0x3febb2c7
+ .long 0xb5087588,0x3e95dbb8
+ .long 0x00000000,0x3febd25d
+ .long 0x4a41204c,0x3e8d0aa9
+ .long 0x00000000,0x3febe778
+ .long 0x69a0d774,0x3e9c772f
+ .long 0x00000000,0x3febfc9c
+ .long 0x79d0a9a5,0x3e97b6a0
+ .long 0x00000000,0x3fec1c65
+ .long 0xd26f1a12,0x3e8f7402
+ .long 0x00000000,0x3fec31a2
+ .long 0x1243bc84,0x3e4db2f1
+ .long 0x00000000,0x3fec46e9
+ .long 0x477e1755,0x3e80dcc2
+ .long 0x00000000,0x3fec66e5
+ .long 0xc2f904c1,0x3e8b1e31
+ .long 0x00000000,0x3fec7c44
+ .long 0x1785b0c4,0x3e8fb619
+ .long 0x00000000,0x3fec91ad
+ .long 0xedb052ef,0x3e98832d
+ .long 0x00000000,0x3fecb1dd
+ .long 0x9e373618,0x3e98c822
+ .long 0x00000000,0x3fecc75f
+ .long 0x32954637,0x3e9a46e7
+ .long 0x00000000,0x3fecdceb
+ .long 0xf0e6b2a9,0x3e996305
+ .long 0x00000000,0x3fecfd50
+ .long 0x1a6614ee,0x3e68c160
+ .long 0x00000000,0x3fed12f6
+ .long 0x09e33b28,0x3e9229c4
+ .long 0x00000000,0x3fed28a5
+ .long 0xe53b994c,0x3e7f281b
+ .long 0x00000000,0x3fed3e5f
+ .long 0x1124ac35,0x3e9f27f3
+ .long 0x00000000,0x3fed5f08
+ .long 0x3d2fdc03,0x3e84e779
+ .long 0x00000000,0x3fed74dc
+ .long 0x1e93fd97,0x3e416c07
+ .long 0x00000000,0x3fed8aba
+ .long 0x91b415ef,0x3e654669
+ .long 0x00000000,0x3feda0a2
+ .long 0x6495f594,0x3e9712d4
+ .long 0x00000000,0x3fedc191
+ .long 0x40171789,0x3e9ca7b2
+ .long 0x00000000,0x3fedd793
+ .long 0xe8fc4323,0x3e929afa
+ .long 0x00000000,0x3fededa0
+ .long 0xeb03bd09,0x3e9a2e96
+ .long 0x00000000,0x3fee03b7
+ .long 0xca370ea2,0x3e94a63d
+ .long 0x00000000,0x3fee19d9
+ .long 0xe30512ec,0x3e6a3bcb
+ .long 0x00000000,0x3fee3006
+ .long 0x411c95ce,0x3e99d3ed
+ .long 0x00000000,0x3fee515c
+ .long 0x35cfaf8e,0x3e3e5b57
+ .long 0x00000000,0x3fee67a4
+ .long 0x5669df6a,0x3e9fca71
+ .long 0x00000000,0x3fee7df5
+ .long 0x04f19d94,0x3e9914e2
+ .long 0x00000000,0x3fee9452
+ .long 0xcaa19134,0x3e8b511c
+ .long 0x00000000,0x3feeaaba
+ .long 0x4bb3bfb1,0x3e9ed72f
+ .long 0x00000000,0x3feec12c
+ .long 0x3c29d75e,0x3e8be8d6
+ .long 0x00000000,0x3feed7aa
+ .long 0x97da24fd,0x3e9c55d9
+ .long 0x00000000,0x3feeee32
+ .long 0x983c68ea,0x3e7ddfb1
+ .long 0x00000000,0x3fef1014
+ .long 0xf4425883,0x3e83ce66
+ .long 0x00000000,0x3fef26b8
+ .long 0xf7857f23,0x3e9055c3
+ .long 0x00000000,0x3fef3d67
+ .long 0x2805b525,0x3e9c2223
+ .long 0x00000000,0x3fef5421
+ .long 0x0c347fcf,0x3e8d59ba
+ .long 0x00000000,0x3fef6ae7
+ .long 0x7c901c44,0x3e82b110
+ .long 0x00000000,0x3fef81b8
+ .long 0x74d1b482,0x3e8b1394
+ .long 0x00000000,0x3fef9894
+ .long 0x36fb9eb2,0x3e9ca75b
+ .long 0x00000000,0x3fefaf7b
+ .long 0x629b1b7e,0x3e981a0a
+ .long 0x00000000,0x3fefc66e
+ .long 0x7b8c1116,0x3e54cc20
+ .long 0x00000000,0x3fefdd6d
+ .long 0xc0babe05,0x3e99ac8b
+ .long 0x00000000,0x3feff476
+ .type __dlog2_la___libm_log2_table_256,@object
+ .size __dlog2_la___libm_log2_table_256,4096
+ .space 512, 0x00
+ .align 64
+
+__dlog2_la__P:
+ .long 3213235158
+ .long 1050233568
+ .long 1697350398
+ .long 3219592519
+ .long 3694740707
+ .long 1071564553
+ .long 1697260025
+ .long 3218543943
+ .long 2542794428
+ .long 1070757746
+ .long 2165113687
+ .long 3217999640
+ .long 0
+ .long 1073157447
+ .type __dlog2_la__P,@object
+ .size __dlog2_la__P,56
new file mode 100644
@@ -0,0 +1,20 @@
+/* AVX2 version of vectorized log2, 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_log2 _ZGVeN8v_log2_avx2_wrapper
+#include "../svml_d_log28_core.S"
new file mode 100644
@@ -0,0 +1,27 @@
+/* Multiple versions of vectorized log2, 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_log2
+#include "ifunc-mathvec-avx512-skx.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVeN8v_log2, __GI__ZGVeN8v_log2, __redirect__ZGVeN8v_log2)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,1661 @@
+/* Function log 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
+ * log2(x) = k - log2(Rcp) + poly_approximation(R)
+ * log2(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVeN8v_log2_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_dlog2_data_internal_avx512(%rip), %zmm2
+ vmovups 512+__svml_dlog2_data_internal_avx512(%rip), %zmm12
+ vmovups 640+__svml_dlog2_data_internal_avx512(%rip), %zmm13
+
+/* Start polynomial evaluation */
+ vmovups 256+__svml_dlog2_data_internal_avx512(%rip), %zmm10
+ vmovups 320+__svml_dlog2_data_internal_avx512(%rip), %zmm0
+ vmovups 384+__svml_dlog2_data_internal_avx512(%rip), %zmm11
+ vmovups 448+__svml_dlog2_data_internal_avx512(%rip), %zmm14
+
+/* Prepare exponent correction: DblRcp<0.75? */
+ vmovups 192+__svml_dlog2_data_internal_avx512(%rip), %zmm1
+
+/* Table lookup */
+ vmovups __svml_dlog2_data_internal_avx512(%rip), %zmm4
+
+/* GetExp(x) */
+ vgetexppd {sae}, %zmm7, %zmm5
+
+/* 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, %zmm3
+ vmovups 576+__svml_dlog2_data_internal_avx512(%rip), %zmm8
+ kmovw %k0, %edx
+
+/* Reduced argument: R = DblRcp*Mantissa - 1 */
+ vfmsub213pd {rn-sae}, %zmm2, %zmm3, %zmm6
+ vcmppd $17, {sae}, %zmm1, %zmm3, %k1
+ vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8
+ vmovups 704+__svml_dlog2_data_internal_avx512(%rip), %zmm12
+ vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm0
+ vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14
+ vmovups 768+__svml_dlog2_data_internal_avx512(%rip), %zmm1
+
+/* R^2 */
+ vmulpd {rn-sae}, %zmm6, %zmm6, %zmm15
+ vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12
+
+/* Prepare table index */
+ vpsrlq $48, %zmm3, %zmm9
+
+/* add 1 to Expon if DblRcp<0.75 */
+ vaddpd {rn-sae}, %zmm2, %zmm5, %zmm5{%k1}
+ vmulpd {rn-sae}, %zmm15, %zmm15, %zmm13
+ vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm0
+ vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8
+ vpermt2pd 64+__svml_dlog2_data_internal_avx512(%rip), %zmm9, %zmm4
+
+/* polynomial */
+ vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm0
+ vfmadd213pd {rn-sae}, %zmm1, %zmm6, %zmm0
+ vfmadd213pd {rn-sae}, %zmm4, %zmm0, %zmm6
+ vaddpd {rn-sae}, %zmm6, %zmm5, %zmm0
+ testl %edx, %edx
+ jne .LBL_1_3
+
+.LBL_1_2:
+ movq %rbp, %rsp
+ popq %rbp
+ cfi_def_cfa(7, 8)
+ cfi_restore(6)
+ ret
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+
+.LBL_1_3:
+ vmovups %zmm7, 64(%rsp)
+ vmovups %zmm0, 128(%rsp)
+ je .LBL_1_2
+ 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
+
+.LBL_1_7:
+ btl %r12d, %r13d
+ jc .LBL_1_10
+
+.LBL_1_8:
+ incl %r12d
+ cmpl $8, %r12d
+ jl .LBL_1_7
+ 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 .LBL_1_2
+ .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
+
+.LBL_1_10:
+ lea 64(%rsp,%r12,8), %rdi
+ lea 128(%rsp,%r12,8), %rsi
+ call __svml_dlog2_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVeN8v_log2_skx)
+
+ .align 16,0x90
+
+__svml_dlog2_cout_rare_internal:
+
+ cfi_startproc
+
+ movq $0, -64(%rsp)
+ movsd -64(%rsp), %xmm0
+ movsd (%rdi), %xmm1
+ movups _zeros.256.0.0.1(%rip), %xmm2
+ subsd %xmm0, %xmm1
+ movsd %xmm1, -8(%rsp)
+ movups %xmm2, -56(%rsp)
+ movups _ones.256.0.0.1(%rip), %xmm0
+ movups %xmm0, -40(%rsp)
+ movups _infs.256.0.0.1(%rip), %xmm0
+ movups %xmm0, -24(%rsp)
+ movl -4(%rsp), %eax
+ cmpl $2146435072, %eax
+ jae .LBL_2_19
+ lea -1072660480(%rax), %edx
+ cmpl $53248, %edx
+ jae .LBL_2_14
+ lea -1072693232(%rax), %edx
+ cmpl $24, %edx
+ jae .LBL_2_13
+ movl -8(%rsp), %edi
+ movl %eax, %ecx
+ movl %edi, %edx
+ shll $11, %ecx
+ shrl $21, %edx
+ orl %edx, %ecx
+ addl $-2147483646, %ecx
+ cmpl $3, %ecx
+ jae .LBL_2_12
+ addl $-1072693248, %eax
+ orl %edi, %eax
+ jne .LBL_2_10
+ movq -56(%rsp), %rax
+ movq %rax, (%rsi)
+ jmp .LBL_2_11
+
+.LBL_2_10:
+ movsd -8(%rsp), %xmm0
+ movsd 16+__dlog2_la__Q3(%rip), %xmm2
+ movsd 24+__dlog2_la__Q3(%rip), %xmm1
+ addsd -32(%rsp), %xmm0
+ mulsd %xmm0, %xmm2
+ mulsd %xmm0, %xmm1
+ addsd 8+__dlog2_la__Q3(%rip), %xmm2
+ mulsd %xmm0, %xmm2
+ movsd %xmm0, -8(%rsp)
+ addsd __dlog2_la__Q3(%rip), %xmm2
+ mulsd %xmm0, %xmm2
+ addsd %xmm1, %xmm2
+ movsd %xmm2, (%rsi)
+
+.LBL_2_11:
+ xorl %eax, %eax
+ ret
+
+.LBL_2_12:
+ movsd -8(%rsp), %xmm2
+ xorl %eax, %eax
+ movsd 16+__dlog2_la__Q2(%rip), %xmm1
+ movsd 24+__dlog2_la__Q2(%rip), %xmm3
+ addsd -32(%rsp), %xmm2
+ movaps %xmm2, %xmm0
+ mulsd %xmm2, %xmm0
+ mulsd %xmm0, %xmm1
+ mulsd %xmm0, %xmm3
+ addsd __dlog2_la__Q2(%rip), %xmm1
+ addsd 8+__dlog2_la__Q2(%rip), %xmm3
+ mulsd %xmm2, %xmm1
+ mulsd %xmm0, %xmm3
+ movsd %xmm2, -8(%rsp)
+ addsd %xmm1, %xmm3
+ movl $0, -8(%rsp)
+ movsd -8(%rsp), %xmm4
+ subsd %xmm4, %xmm2
+ addsd %xmm2, %xmm4
+ mulsd 32+__dlog2_la__Q2(%rip), %xmm4
+ addsd %xmm3, %xmm4
+ movsd %xmm4, (%rsi)
+ ret
+
+.LBL_2_13:
+ movsd -8(%rsp), %xmm2
+ xorl %eax, %eax
+ movsd 72+__dlog2_la__Q1(%rip), %xmm10
+ movsd 64+__dlog2_la__Q1(%rip), %xmm4
+ movsd __dlog2_la__TWO_32P(%rip), %xmm5
+ movsd __dlog2_la__TWO_32P(%rip), %xmm7
+ movsd 88+__dlog2_la__Q1(%rip), %xmm14
+ movsd __dlog2_la__TWO_32P(%rip), %xmm11
+ movsd __dlog2_la__TWO_32P(%rip), %xmm15
+ addsd -32(%rsp), %xmm2
+ movaps %xmm2, %xmm3
+ movaps %xmm2, %xmm6
+ mulsd %xmm2, %xmm3
+ movaps %xmm2, %xmm0
+ mulsd %xmm2, %xmm5
+ mulsd __dlog2_la__TWO_32(%rip), %xmm6
+ mulsd %xmm3, %xmm10
+ mulsd %xmm3, %xmm4
+ addsd 56+__dlog2_la__Q1(%rip), %xmm10
+ addsd 48+__dlog2_la__Q1(%rip), %xmm4
+ mulsd %xmm3, %xmm10
+ mulsd %xmm3, %xmm4
+ addsd 40+__dlog2_la__Q1(%rip), %xmm10
+ addsd 32+__dlog2_la__Q1(%rip), %xmm4
+ mulsd %xmm3, %xmm10
+ mulsd %xmm3, %xmm4
+ addsd 24+__dlog2_la__Q1(%rip), %xmm10
+ addsd 16+__dlog2_la__Q1(%rip), %xmm4
+ mulsd %xmm3, %xmm10
+ mulsd %xmm2, %xmm4
+ movsd __dlog2_la__TWO_32(%rip), %xmm3
+ addsd %xmm4, %xmm10
+ mulsd %xmm10, %xmm7
+ movaps %xmm3, %xmm8
+ mulsd %xmm10, %xmm8
+ movsd %xmm5, -72(%rsp)
+ movsd -72(%rsp), %xmm1
+ movsd %xmm7, -72(%rsp)
+ subsd %xmm6, %xmm1
+ movsd -72(%rsp), %xmm9
+ subsd %xmm1, %xmm0
+ subsd %xmm8, %xmm9
+ movsd %xmm1, -8(%rsp)
+ subsd %xmm9, %xmm10
+ addsd %xmm9, %xmm14
+ addsd 8+__dlog2_la__Q1(%rip), %xmm10
+ movaps %xmm14, %xmm4
+ mulsd %xmm0, %xmm4
+ mulsd %xmm2, %xmm10
+ mulsd %xmm1, %xmm14
+ addsd %xmm0, %xmm1
+ addsd %xmm10, %xmm4
+ movaps %xmm4, %xmm12
+ movsd 80+__dlog2_la__Q1(%rip), %xmm9
+ addsd %xmm14, %xmm12
+ mulsd %xmm12, %xmm11
+ mulsd %xmm3, %xmm12
+ movsd %xmm11, -72(%rsp)
+ movsd -72(%rsp), %xmm13
+ subsd %xmm12, %xmm13
+ subsd %xmm13, %xmm4
+ addsd %xmm13, %xmm9
+ addsd %xmm14, %xmm4
+ movaps %xmm9, %xmm13
+ addsd __dlog2_la__Q1(%rip), %xmm4
+ addsd %xmm4, %xmm13
+ mulsd %xmm13, %xmm15
+ mulsd %xmm3, %xmm13
+ movsd %xmm15, -72(%rsp)
+ movsd -72(%rsp), %xmm14
+ subsd %xmm13, %xmm14
+ mulsd %xmm14, %xmm1
+ subsd %xmm14, %xmm9
+ addsd %xmm9, %xmm4
+ mulsd %xmm2, %xmm4
+ addsd %xmm4, %xmm1
+ movsd %xmm1, (%rsi)
+ ret
+
+.LBL_2_14:
+ movl %eax, %ecx
+ movl %eax, %edx
+ shrl $20, %ecx
+ andl $1048575, %edx
+ addl $-1023, %ecx
+ cmpl $1048576, %eax
+ jae .LBL_2_18
+ movl %edx, -4(%rsp)
+ movl -8(%rsp), %edx
+ orl %edx, %eax
+ jne .LBL_2_17
+ movsd -32(%rsp), %xmm0
+ movl $2, %eax
+ divsd -56(%rsp), %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+.LBL_2_17:
+ movsd -8(%rsp), %xmm0
+ mulsd __dlog2_la__TWO_55(%rip), %xmm0
+ movsd %xmm0, -8(%rsp)
+ movl -4(%rsp), %edx
+ movl %edx, %ecx
+ shrl $20, %ecx
+ movl %edx, %eax
+ addl $-1078, %ecx
+
+.LBL_2_18:
+ shrl $12, %eax
+ orl $1072693248, %edx
+ movzbl %al, %edi
+ pxor %xmm7, %xmm7
+ movl %edx, -4(%rsp)
+ lea __dlog2_la___libm_rcp_table_256(%rip), %rdx
+ movsd -8(%rsp), %xmm10
+ pxor %xmm8, %xmm8
+ movl $0, -8(%rsp)
+ lea __dlog2_la___libm_log2_table_256(%rip), %rax
+ movsd -8(%rsp), %xmm0
+ cvtss2sd (%rdx,%rdi,4), %xmm7
+ cvtsi2sd %ecx, %xmm8
+ subsd %xmm0, %xmm10
+ mulsd %xmm7, %xmm10
+ mulsd %xmm0, %xmm7
+ movsd 40+__dlog2_la__P(%rip), %xmm4
+ movsd 32+__dlog2_la__P(%rip), %xmm3
+ movsd 48+__dlog2_la__P(%rip), %xmm5
+ movsd __dlog2_la__TWO_32(%rip), %xmm6
+ shlq $4, %rdi
+ addsd -32(%rsp), %xmm7
+ movaps %xmm7, %xmm2
+ mulsd %xmm5, %xmm7
+ addsd %xmm10, %xmm2
+ mulsd %xmm5, %xmm10
+ addsd %xmm7, %xmm6
+ movaps %xmm2, %xmm1
+ mulsd %xmm2, %xmm1
+ mulsd %xmm1, %xmm4
+ mulsd %xmm1, %xmm3
+ addsd 24+__dlog2_la__P(%rip), %xmm4
+ addsd 16+__dlog2_la__P(%rip), %xmm3
+ mulsd %xmm1, %xmm4
+ mulsd %xmm1, %xmm3
+ addsd 8+__dlog2_la__P(%rip), %xmm4
+ addsd __dlog2_la__P(%rip), %xmm3
+ mulsd %xmm1, %xmm4
+ mulsd %xmm2, %xmm3
+ movsd %xmm6, -72(%rsp)
+ addsd %xmm3, %xmm4
+ addsd 8(%rax,%rdi), %xmm8
+ addsd %xmm4, %xmm10
+ movsd -72(%rsp), %xmm9
+ subsd __dlog2_la__TWO_32(%rip), %xmm9
+ subsd %xmm9, %xmm7
+ addsd %xmm8, %xmm9
+ addsd (%rax,%rdi), %xmm7
+ movsd %xmm9, -8(%rsp)
+ xorl %eax, %eax
+ addsd %xmm7, %xmm10
+ addsd %xmm9, %xmm10
+ movsd %xmm10, (%rsi)
+ ret
+
+.LBL_2_19:
+ movl %eax, %edx
+ andl $2147483647, %edx
+ cmpl $2146435072, %edx
+ ja .LBL_2_28
+ jne .LBL_2_22
+ cmpl $0, -8(%rsp)
+ jne .LBL_2_28
+
+.LBL_2_22:
+ testl $-2147483648, %eax
+ je .LBL_2_27
+ movl -8(%rsp), %eax
+ orl %eax, %edx
+ movsd -56(%rsp), %xmm1
+ jne .LBL_2_25
+ movsd -32(%rsp), %xmm0
+ movl $2, %eax
+ divsd %xmm1, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+.LBL_2_25:
+ movsd -24(%rsp), %xmm0
+ movl $1, %eax
+ mulsd %xmm1, %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+.LBL_2_27:
+ movq -8(%rsp), %rax
+ movq %rax, (%rsi)
+ xorl %eax, %eax
+ ret
+
+.LBL_2_28:
+ movsd -8(%rsp), %xmm0
+ xorl %eax, %eax
+ mulsd -40(%rsp), %xmm0
+ movsd %xmm0, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_dlog2_cout_rare_internal,@function
+ .size __svml_dlog2_cout_rare_internal,.-__svml_dlog2_cout_rare_internal
+ .section .rodata, "a"
+ .align 64
+ .align 16
+
+_zeros.256.0.0.1:
+ .long 0
+ .long 0
+ .long 0
+ .long 2147483648
+ .align 16
+
+_ones.256.0.0.1:
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 3220176896
+ .align 16
+
+_infs.256.0.0.1:
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 4293918720
+
+ .section .rodata, "a"
+ .space 16, 0x00
+ .align 64
+
+__svml_dlog2_data_internal_avx512:
+ .long 0
+ .long 0
+ .long 4207481622
+ .long 3216401398
+ .long 972805768
+ .long 3217408026
+ .long 3103942666
+ .long 3218062358
+ .long 1271733131
+ .long 3218381432
+ .long 2300516105
+ .long 3218676666
+ .long 3761433103
+ .long 3218958163
+ .long 14039718
+ .long 3219177733
+ .long 1904282206
+ .long 1071288313
+ .long 1751501034
+ .long 1071041295
+ .long 3815829096
+ .long 1070803966
+ .long 2835758645
+ .long 1070555096
+ .long 180337970
+ .long 1070114968
+ .long 3266000023
+ .long 1069690285
+ .long 2530196300
+ .long 1069012484
+ .long 3386464469
+ .long 1067938708
+ .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 3658358034
+ .long 1069846603
+ .long 3658358034
+ .long 1069846603
+ .long 3658358034
+ .long 1069846603
+ .long 3658358034
+ .long 1069846603
+ .long 3658358034
+ .long 1069846603
+ .long 3658358034
+ .long 1069846603
+ .long 3658358034
+ .long 1069846603
+ .long 3658358034
+ .long 1069846603
+ .long 1307270350
+ .long 3217498040
+ .long 1307270350
+ .long 3217498040
+ .long 1307270350
+ .long 3217498040
+ .long 1307270350
+ .long 3217498040
+ .long 1307270350
+ .long 3217498040
+ .long 1307270350
+ .long 3217498040
+ .long 1307270350
+ .long 3217498040
+ .long 1307270350
+ .long 3217498040
+ .long 1367442963
+ .long 1070227827
+ .long 1367442963
+ .long 1070227827
+ .long 1367442963
+ .long 1070227827
+ .long 1367442963
+ .long 1070227827
+ .long 1367442963
+ .long 1070227827
+ .long 1367442963
+ .long 1070227827
+ .long 1367442963
+ .long 1070227827
+ .long 1367442963
+ .long 1070227827
+ .long 3840087116
+ .long 3217999623
+ .long 3840087116
+ .long 3217999623
+ .long 3840087116
+ .long 3217999623
+ .long 3840087116
+ .long 3217999623
+ .long 3840087116
+ .long 3217999623
+ .long 3840087116
+ .long 3217999623
+ .long 3840087116
+ .long 3217999623
+ .long 3840087116
+ .long 3217999623
+ .long 1360320794
+ .long 1070757740
+ .long 1360320794
+ .long 1070757740
+ .long 1360320794
+ .long 1070757740
+ .long 1360320794
+ .long 1070757740
+ .long 1360320794
+ .long 1070757740
+ .long 1360320794
+ .long 1070757740
+ .long 1360320794
+ .long 1070757740
+ .long 1360320794
+ .long 1070757740
+ .long 1698500493
+ .long 3218543943
+ .long 1698500493
+ .long 3218543943
+ .long 1698500493
+ .long 3218543943
+ .long 1698500493
+ .long 3218543943
+ .long 1698500493
+ .long 3218543943
+ .long 1698500493
+ .long 3218543943
+ .long 1698500493
+ .long 3218543943
+ .long 1698500493
+ .long 3218543943
+ .long 3694789279
+ .long 1071564553
+ .long 3694789279
+ .long 1071564553
+ .long 3694789279
+ .long 1071564553
+ .long 3694789279
+ .long 1071564553
+ .long 3694789279
+ .long 1071564553
+ .long 3694789279
+ .long 1071564553
+ .long 3694789279
+ .long 1071564553
+ .long 3694789279
+ .long 1071564553
+ .long 1697350356
+ .long 3219592519
+ .long 1697350356
+ .long 3219592519
+ .long 1697350356
+ .long 3219592519
+ .long 1697350356
+ .long 3219592519
+ .long 1697350356
+ .long 3219592519
+ .long 1697350356
+ .long 3219592519
+ .long 1697350356
+ .long 3219592519
+ .long 1697350356
+ .long 3219592519
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .long 1697350398
+ .long 1073157447
+ .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_dlog2_data_internal_avx512,@object
+ .size __svml_dlog2_data_internal_avx512,1088
+ .align 64
+
+__dlog2_la__Q3:
+ .long 3213221364
+ .long 1050233568
+ .long 1697350398
+ .long 3219592519
+ .long 3694789629
+ .long 1071564553
+ .long 0
+ .long 1073157447
+ .type __dlog2_la__Q3,@object
+ .size __dlog2_la__Q3,32
+ .space 32, 0x00
+ .align 64
+
+__dlog2_la__Q2:
+ .long 3213221358
+ .long 1050233568
+ .long 1697350398
+ .long 3219592519
+ .long 3695167823
+ .long 1071564553
+ .long 1697791998
+ .long 3218543943
+ .long 0
+ .long 1073157447
+ .type __dlog2_la__Q2,@object
+ .size __dlog2_la__Q2,40
+ .space 24, 0x00
+ .align 64
+
+__dlog2_la__Q1:
+ .long 3213221370
+ .long 1050233568
+ .long 3213207734
+ .long 3196668640
+ .long 3694789628
+ .long 1071564553
+ .long 1697350743
+ .long 3218543943
+ .long 1357908666
+ .long 1070757740
+ .long 3685007067
+ .long 3217999625
+ .long 96832070
+ .long 1070227830
+ .long 1140452344
+ .long 3217495379
+ .long 2606274745
+ .long 1069844296
+ .long 1933654871
+ .long 3217172449
+ .long 0
+ .long 1073157447
+ .long 0
+ .long 3219592519
+ .type __dlog2_la__Q1,@object
+ .size __dlog2_la__Q1,96
+ .space 32, 0x00
+ .align 64
+
+__dlog2_la__TWO_32P:
+ .long 1048576
+ .long 1106247680
+ .type __dlog2_la__TWO_32P,@object
+ .size __dlog2_la__TWO_32P,8
+ .space 56, 0x00
+ .align 64
+
+__dlog2_la__TWO_32:
+ .long 0
+ .long 1106247680
+ .type __dlog2_la__TWO_32,@object
+ .size __dlog2_la__TWO_32,8
+ .space 56, 0x00
+ .align 64
+
+__dlog2_la__TWO_55:
+ .long 0
+ .long 1130364928
+ .type __dlog2_la__TWO_55,@object
+ .size __dlog2_la__TWO_55,8
+ .space 56, 0x00
+ .align 64
+
+__dlog2_la___libm_rcp_table_256:
+ .long 0x3f7f8000
+ .long 0x3f7e8000
+ .long 0x3f7d8000
+ .long 0x3f7c8000
+ .long 0x3f7ba000
+ .long 0x3f7aa000
+ .long 0x3f79a000
+ .long 0x3f78c000
+ .long 0x3f77c000
+ .long 0x3f76e000
+ .long 0x3f75e000
+ .long 0x3f750000
+ .long 0x3f742000
+ .long 0x3f732000
+ .long 0x3f724000
+ .long 0x3f716000
+ .long 0x3f708000
+ .long 0x3f6fa000
+ .long 0x3f6ec000
+ .long 0x3f6de000
+ .long 0x3f6d0000
+ .long 0x3f6c2000
+ .long 0x3f6b6000
+ .long 0x3f6a8000
+ .long 0x3f69a000
+ .long 0x3f68c000
+ .long 0x3f680000
+ .long 0x3f672000
+ .long 0x3f666000
+ .long 0x3f658000
+ .long 0x3f64c000
+ .long 0x3f640000
+ .long 0x3f632000
+ .long 0x3f626000
+ .long 0x3f61a000
+ .long 0x3f60e000
+ .long 0x3f600000
+ .long 0x3f5f4000
+ .long 0x3f5e8000
+ .long 0x3f5dc000
+ .long 0x3f5d0000
+ .long 0x3f5c4000
+ .long 0x3f5b8000
+ .long 0x3f5ae000
+ .long 0x3f5a2000
+ .long 0x3f596000
+ .long 0x3f58a000
+ .long 0x3f57e000
+ .long 0x3f574000
+ .long 0x3f568000
+ .long 0x3f55e000
+ .long 0x3f552000
+ .long 0x3f546000
+ .long 0x3f53c000
+ .long 0x3f532000
+ .long 0x3f526000
+ .long 0x3f51c000
+ .long 0x3f510000
+ .long 0x3f506000
+ .long 0x3f4fc000
+ .long 0x3f4f2000
+ .long 0x3f4e6000
+ .long 0x3f4dc000
+ .long 0x3f4d2000
+ .long 0x3f4c8000
+ .long 0x3f4be000
+ .long 0x3f4b4000
+ .long 0x3f4aa000
+ .long 0x3f4a0000
+ .long 0x3f496000
+ .long 0x3f48c000
+ .long 0x3f482000
+ .long 0x3f478000
+ .long 0x3f46e000
+ .long 0x3f464000
+ .long 0x3f45c000
+ .long 0x3f452000
+ .long 0x3f448000
+ .long 0x3f43e000
+ .long 0x3f436000
+ .long 0x3f42c000
+ .long 0x3f422000
+ .long 0x3f41a000
+ .long 0x3f410000
+ .long 0x3f408000
+ .long 0x3f3fe000
+ .long 0x3f3f6000
+ .long 0x3f3ec000
+ .long 0x3f3e4000
+ .long 0x3f3da000
+ .long 0x3f3d2000
+ .long 0x3f3ca000
+ .long 0x3f3c0000
+ .long 0x3f3b8000
+ .long 0x3f3b0000
+ .long 0x3f3a8000
+ .long 0x3f39e000
+ .long 0x3f396000
+ .long 0x3f38e000
+ .long 0x3f386000
+ .long 0x3f37e000
+ .long 0x3f376000
+ .long 0x3f36c000
+ .long 0x3f364000
+ .long 0x3f35c000
+ .long 0x3f354000
+ .long 0x3f34c000
+ .long 0x3f344000
+ .long 0x3f33c000
+ .long 0x3f334000
+ .long 0x3f32e000
+ .long 0x3f326000
+ .long 0x3f31e000
+ .long 0x3f316000
+ .long 0x3f30e000
+ .long 0x3f306000
+ .long 0x3f2fe000
+ .long 0x3f2f8000
+ .long 0x3f2f0000
+ .long 0x3f2e8000
+ .long 0x3f2e2000
+ .long 0x3f2da000
+ .long 0x3f2d2000
+ .long 0x3f2cc000
+ .long 0x3f2c4000
+ .long 0x3f2bc000
+ .long 0x3f2b6000
+ .long 0x3f2ae000
+ .long 0x3f2a8000
+ .long 0x3f2a0000
+ .long 0x3f29a000
+ .long 0x3f292000
+ .long 0x3f28c000
+ .long 0x3f284000
+ .long 0x3f27e000
+ .long 0x3f276000
+ .long 0x3f270000
+ .long 0x3f268000
+ .long 0x3f262000
+ .long 0x3f25c000
+ .long 0x3f254000
+ .long 0x3f24e000
+ .long 0x3f248000
+ .long 0x3f240000
+ .long 0x3f23a000
+ .long 0x3f234000
+ .long 0x3f22e000
+ .long 0x3f226000
+ .long 0x3f220000
+ .long 0x3f21a000
+ .long 0x3f214000
+ .long 0x3f20e000
+ .long 0x3f206000
+ .long 0x3f200000
+ .long 0x3f1fa000
+ .long 0x3f1f4000
+ .long 0x3f1ee000
+ .long 0x3f1e8000
+ .long 0x3f1e2000
+ .long 0x3f1dc000
+ .long 0x3f1d6000
+ .long 0x3f1d0000
+ .long 0x3f1ca000
+ .long 0x3f1c4000
+ .long 0x3f1be000
+ .long 0x3f1b8000
+ .long 0x3f1b2000
+ .long 0x3f1ac000
+ .long 0x3f1a6000
+ .long 0x3f1a0000
+ .long 0x3f19a000
+ .long 0x3f194000
+ .long 0x3f190000
+ .long 0x3f18a000
+ .long 0x3f184000
+ .long 0x3f17e000
+ .long 0x3f178000
+ .long 0x3f172000
+ .long 0x3f16e000
+ .long 0x3f168000
+ .long 0x3f162000
+ .long 0x3f15c000
+ .long 0x3f158000
+ .long 0x3f152000
+ .long 0x3f14c000
+ .long 0x3f148000
+ .long 0x3f142000
+ .long 0x3f13c000
+ .long 0x3f138000
+ .long 0x3f132000
+ .long 0x3f12c000
+ .long 0x3f128000
+ .long 0x3f122000
+ .long 0x3f11c000
+ .long 0x3f118000
+ .long 0x3f112000
+ .long 0x3f10e000
+ .long 0x3f108000
+ .long 0x3f104000
+ .long 0x3f0fe000
+ .long 0x3f0f8000
+ .long 0x3f0f4000
+ .long 0x3f0ee000
+ .long 0x3f0ea000
+ .long 0x3f0e6000
+ .long 0x3f0e0000
+ .long 0x3f0dc000
+ .long 0x3f0d6000
+ .long 0x3f0d2000
+ .long 0x3f0cc000
+ .long 0x3f0c8000
+ .long 0x3f0c2000
+ .long 0x3f0be000
+ .long 0x3f0ba000
+ .long 0x3f0b4000
+ .long 0x3f0b0000
+ .long 0x3f0ac000
+ .long 0x3f0a6000
+ .long 0x3f0a2000
+ .long 0x3f09e000
+ .long 0x3f098000
+ .long 0x3f094000
+ .long 0x3f090000
+ .long 0x3f08a000
+ .long 0x3f086000
+ .long 0x3f082000
+ .long 0x3f07e000
+ .long 0x3f078000
+ .long 0x3f074000
+ .long 0x3f070000
+ .long 0x3f06c000
+ .long 0x3f066000
+ .long 0x3f062000
+ .long 0x3f05e000
+ .long 0x3f05a000
+ .long 0x3f056000
+ .long 0x3f052000
+ .long 0x3f04c000
+ .long 0x3f048000
+ .long 0x3f044000
+ .long 0x3f040000
+ .long 0x3f03c000
+ .long 0x3f038000
+ .long 0x3f034000
+ .long 0x3f030000
+ .long 0x3f02a000
+ .long 0x3f026000
+ .long 0x3f022000
+ .long 0x3f01e000
+ .long 0x3f01a000
+ .long 0x3f016000
+ .long 0x3f012000
+ .long 0x3f00e000
+ .long 0x3f00a000
+ .long 0x3f006000
+ .long 0x3f002000
+ .type __dlog2_la___libm_rcp_table_256,@object
+ .size __dlog2_la___libm_rcp_table_256,1024
+ .align 64
+
+__dlog2_la___libm_log2_table_256:
+ .long 0xfb44c3b7,0x3e1485cb
+ .long 0x00000000,0x3f671b0e
+ .long 0x06028ac0,0x3e31d5d9
+ .long 0x00000000,0x3f815cfe
+ .long 0xb8d7240b,0x3df8b9cb
+ .long 0x00000000,0x3f8cfee7
+ .long 0x0d179106,0x3e38864a
+ .long 0x00000000,0x3f94564a
+ .long 0xecba1593,0x3e459c6a
+ .long 0x00000000,0x3f997723
+ .long 0x94120c14,0x3e48d36a
+ .long 0x00000000,0x3f9f5923
+ .long 0xd2571490,0x3e5410ba
+ .long 0x00000000,0x3fa2a094
+ .long 0x1dc036a2,0x3e2776b0
+ .long 0x00000000,0x3fa53894
+ .long 0x78efe2b1,0x3e537229
+ .long 0x00000000,0x3fa8324c
+ .long 0xfd29dc75,0x3e59c0fa
+ .long 0x00000000,0x3faacf54
+ .long 0x046734f7,0x3e4636b7
+ .long 0x00000000,0x3fadced9
+ .long 0xd3b410b8,0x3e6f7950
+ .long 0x00000000,0x3fb0387e
+ .long 0x00f2200a,0x3e19d1e7
+ .long 0x00000000,0x3fb18ac6
+ .long 0x8661ba82,0x3e4f09a9
+ .long 0x00000000,0x3fb30edd
+ .long 0x9367107c,0x3e564d91
+ .long 0x00000000,0x3fb463c1
+ .long 0x0e4a4ce8,0x3e4e1fd1
+ .long 0x00000000,0x3fb5b9e1
+ .long 0x3cdb6374,0x3e492cf0
+ .long 0x00000000,0x3fb7113f
+ .long 0x069c4f7f,0x3e61a364
+ .long 0x00000000,0x3fb869dd
+ .long 0x427b631b,0x3e6493a6
+ .long 0x00000000,0x3fb9c3be
+ .long 0xe02b3e8b,0x3e6af2c2
+ .long 0x00000000,0x3fbb1ee4
+ .long 0x389f4365,0x3e616e1e
+ .long 0x00000000,0x3fbc7b52
+ .long 0x6a31fd96,0x3e4633b7
+ .long 0x00000000,0x3fbdd90a
+ .long 0x0508664d,0x3e62ed84
+ .long 0x00000000,0x3fbf05d4
+ .long 0xaca1905c,0x3e775dcd
+ .long 0x00000000,0x3fc032fb
+ .long 0x094fbeeb,0x3e753e65
+ .long 0x00000000,0x3fc0e3b5
+ .long 0x96aa4b17,0x3e671f44
+ .long 0x00000000,0x3fc19519
+ .long 0x92da5a47,0x3e785566
+ .long 0x00000000,0x3fc22dad
+ .long 0xbeb7d722,0x3e518efa
+ .long 0x00000000,0x3fc2e050
+ .long 0xab57551c,0x3e738564
+ .long 0x00000000,0x3fc379f7
+ .long 0x54a914e3,0x3e55d0da
+ .long 0x00000000,0x3fc42ddd
+ .long 0xfe974017,0x3e73cd00
+ .long 0x00000000,0x3fc4c89b
+ .long 0x59064390,0x3e54ffd6
+ .long 0x00000000,0x3fc563dc
+ .long 0x633ab50f,0x3e67d75e
+ .long 0x00000000,0x3fc619a2
+ .long 0xc8877e8a,0x3e77e6ce
+ .long 0x00000000,0x3fc6b5ff
+ .long 0x1ab7837f,0x3e7ecc1f
+ .long 0x00000000,0x3fc752e1
+ .long 0xf9d5827a,0x3e7cea7c
+ .long 0x00000000,0x3fc7f049
+ .long 0x64ccd537,0x3e357f7a
+ .long 0x00000000,0x3fc8a898
+ .long 0xf7c9b05b,0x3e7994ca
+ .long 0x00000000,0x3fc94724
+ .long 0xa2f56536,0x3e524b8f
+ .long 0x00000000,0x3fc9e63a
+ .long 0x5edaab42,0x3e7fd640
+ .long 0x00000000,0x3fca85d8
+ .long 0xd163379a,0x3e625f54
+ .long 0x00000000,0x3fcb2602
+ .long 0x936acd51,0x3e7ebdc3
+ .long 0x00000000,0x3fcbc6b6
+ .long 0xcfbc0aa0,0x3e7eee14
+ .long 0x00000000,0x3fcc67f7
+ .long 0xf73bcdad,0x3e764469
+ .long 0x00000000,0x3fcceec4
+ .long 0x60971b86,0x3e6eb44e
+ .long 0x00000000,0x3fcd9109
+ .long 0xcd2052a5,0x3e65fcf4
+ .long 0x00000000,0x3fce33dd
+ .long 0xc402867b,0x3e61af1e
+ .long 0x00000000,0x3fced741
+ .long 0xa0c956e4,0x3e61bfbd
+ .long 0x00000000,0x3fcf7b36
+ .long 0x831e77ff,0x3e85287b
+ .long 0x00000000,0x3fd00223
+ .long 0xaddfdee2,0x3e7d2fc3
+ .long 0x00000000,0x3fd054a4
+ .long 0x342052c1,0x3e83724b
+ .long 0x00000000,0x3fd0999d
+ .long 0x602bcd34,0x3e7b4ec9
+ .long 0x00000000,0x3fd0eca6
+ .long 0x3aa20ead,0x3e6742da
+ .long 0x00000000,0x3fd13ffa
+ .long 0x9ecdadf4,0x3e713e82
+ .long 0x00000000,0x3fd185a4
+ .long 0xfef3031b,0x3e52f27e
+ .long 0x00000000,0x3fd1cb83
+ .long 0x79e4af8a,0x3e710739
+ .long 0x00000000,0x3fd21fa1
+ .long 0xe59ad84a,0x3e637301
+ .long 0x00000000,0x3fd265f5
+ .long 0x3d7dfd9b,0x3e88697c
+ .long 0x00000000,0x3fd2baa0
+ .long 0x738117b0,0x3e717788
+ .long 0x00000000,0x3fd3016b
+ .long 0xd3c26a97,0x3e6c5514
+ .long 0x00000000,0x3fd3486c
+ .long 0x4c4ff246,0x3e8df550
+ .long 0x00000000,0x3fd38fa3
+ .long 0x40340fa6,0x3e88102d
+ .long 0x00000000,0x3fd3e562
+ .long 0x4592f4c3,0x3e5f53b6
+ .long 0x00000000,0x3fd42d14
+ .long 0x8b149a00,0x3e750fc8
+ .long 0x00000000,0x3fd474fd
+ .long 0xa8f50e5f,0x3e86d01c
+ .long 0x00000000,0x3fd4bd1e
+ .long 0x7a22a88a,0x3e83c469
+ .long 0x00000000,0x3fd50578
+ .long 0xdc18b6d2,0x3e79000e
+ .long 0x00000000,0x3fd54e0b
+ .long 0x7c00250b,0x3e7870f0
+ .long 0x00000000,0x3fd596d7
+ .long 0xc1c885ae,0x3e8e3dd5
+ .long 0x00000000,0x3fd5dfdc
+ .long 0xa6ecc47e,0x3e7bf64c
+ .long 0x00000000,0x3fd6291c
+ .long 0x0bc16c18,0x3e6bdaca
+ .long 0x00000000,0x3fd67296
+ .long 0x1f925729,0x3e84d25c
+ .long 0x00000000,0x3fd6bc4a
+ .long 0xf23978de,0x3e5a5fb4
+ .long 0x00000000,0x3fd7063a
+ .long 0xe2ac7f60,0x3e8e3da0
+ .long 0x00000000,0x3fd75064
+ .long 0x71f51a7b,0x3e819e20
+ .long 0x00000000,0x3fd79acb
+ .long 0x5b924234,0x3e5e43ae
+ .long 0x00000000,0x3fd7d67c
+ .long 0xe9aedf37,0x3e701a2b
+ .long 0x00000000,0x3fd8214f
+ .long 0xeddd33ea,0x3e6b6f51
+ .long 0x00000000,0x3fd86c5f
+ .long 0xe732b3c4,0x3e79375f
+ .long 0x00000000,0x3fd8b7ac
+ .long 0xe47cb9df,0x3e7e831b
+ .long 0x00000000,0x3fd8f416
+ .long 0xe392d3c8,0x3e8abc37
+ .long 0x00000000,0x3fd93fd2
+ .long 0x28b35c77,0x3e80852d
+ .long 0x00000000,0x3fd98bcd
+ .long 0xd29cea36,0x3e69f374
+ .long 0x00000000,0x3fd9c8c3
+ .long 0xb3d7b0e6,0x3e542981
+ .long 0x00000000,0x3fda152f
+ .long 0x1fe6d5ac,0x3e8b2bfb
+ .long 0x00000000,0x3fda527f
+ .long 0xf32e5dda,0x3e6f6f5c
+ .long 0x00000000,0x3fda9f5e
+ .long 0xd34d0d30,0x3e65abaa
+ .long 0x00000000,0x3fdadd0b
+ .long 0xe0ac9602,0x3e7bd47f
+ .long 0x00000000,0x3fdb2a5d
+ .long 0x7c5c784b,0x3e833601
+ .long 0x00000000,0x3fdb6867
+ .long 0xd7b0821f,0x3e5b887c
+ .long 0x00000000,0x3fdbb62f
+ .long 0xcd0a8f6a,0x3e83eccc
+ .long 0x00000000,0x3fdbf497
+ .long 0x7500a4e8,0x3e7ba0e6
+ .long 0x00000000,0x3fdc332a
+ .long 0xfc8712bb,0x3e885a8b
+ .long 0x00000000,0x3fdc819d
+ .long 0xf7a3a78f,0x3e81c336
+ .long 0x00000000,0x3fdcc090
+ .long 0x4ad8a38b,0x3e7846b4
+ .long 0x00000000,0x3fdcffae
+ .long 0xfcfc3a99,0x3e7db50f
+ .long 0x00000000,0x3fdd3ef7
+ .long 0x433cccd2,0x3e238809
+ .long 0x00000000,0x3fdd8e50
+ .long 0x6828fa82,0x3e721b2e
+ .long 0x00000000,0x3fddcdfb
+ .long 0xfc7c49c1,0x3e82848b
+ .long 0x00000000,0x3fde0dd2
+ .long 0x1fce4d49,0x3e615144
+ .long 0x00000000,0x3fde4dd6
+ .long 0x77e2e8fd,0x3e68b88a
+ .long 0x00000000,0x3fde8e06
+ .long 0x22a961b0,0x3e8fd353
+ .long 0x00000000,0x3fdece62
+ .long 0x266f2e1f,0x3e72854e
+ .long 0x00000000,0x3fdf1f16
+ .long 0xc69211fe,0x3e8520c7
+ .long 0x00000000,0x3fdf5fd8
+ .long 0xaba878d5,0x3e826fcf
+ .long 0x00000000,0x3fdfa0c8
+ .long 0xcd5b35b1,0x3e726ed8
+ .long 0x00000000,0x3fdfe1e6
+ .long 0x678a4f1c,0x3e49054d
+ .long 0x00000000,0x3fe01199
+ .long 0x3bc19f18,0x3e5d23cb
+ .long 0x00000000,0x3fe03256
+ .long 0x12772acb,0x3e87af35
+ .long 0x00000000,0x3fe0532a
+ .long 0x2849c88a,0x3e67f5fc
+ .long 0x00000000,0x3fe07416
+ .long 0x0e574fa1,0x3e84fce2
+ .long 0x00000000,0x3fe08cd6
+ .long 0x0ec2b5fa,0x3e857044
+ .long 0x00000000,0x3fe0adeb
+ .long 0xd031f353,0x3e6d5d1d
+ .long 0x00000000,0x3fe0cf18
+ .long 0xdae75c4d,0x3e99a159
+ .long 0x00000000,0x3fe0f05c
+ .long 0x1553afb9,0x3e90eaf1
+ .long 0x00000000,0x3fe111b9
+ .long 0xdcc5c3c7,0x3e8bc6f3
+ .long 0x00000000,0x3fe1332e
+ .long 0x1109e597,0x3e94ef84
+ .long 0x00000000,0x3fe154bb
+ .long 0xd82adea4,0x3e937f40
+ .long 0x00000000,0x3fe16df5
+ .long 0x78336a2f,0x3e96dc5a
+ .long 0x00000000,0x3fe18fad
+ .long 0x84c2c804,0x3e90935b
+ .long 0x00000000,0x3fe1b17e
+ .long 0x04fd30aa,0x3e8a837a
+ .long 0x00000000,0x3fe1caeb
+ .long 0xd924b0ac,0x3e99061d
+ .long 0x00000000,0x3fe1ece7
+ .long 0xef9b9d01,0x3e7ed700
+ .long 0x00000000,0x3fe20efd
+ .long 0x202c81ec,0x3e9c6ebb
+ .long 0x00000000,0x3fe2289d
+ .long 0xfc0d7d76,0x3e936d4d
+ .long 0x00000000,0x3fe24adf
+ .long 0x9f8756ba,0x3e9a35d7
+ .long 0x00000000,0x3fe26d3a
+ .long 0xe7c79d83,0x3e584ee3
+ .long 0x00000000,0x3fe28710
+ .long 0x942065a0,0x3e7d9e0d
+ .long 0x00000000,0x3fe2a998
+ .long 0x2175afbf,0x3e872108
+ .long 0x00000000,0x3fe2c38f
+ .long 0xfaf6283c,0x3e9f5809
+ .long 0x00000000,0x3fe2e644
+ .long 0x411d0507,0x3e871209
+ .long 0x00000000,0x3fe3005e
+ .long 0x370c24bf,0x3e9c3b11
+ .long 0x00000000,0x3fe32341
+ .long 0x8044bb5a,0x3e9bce8e
+ .long 0x00000000,0x3fe33d7d
+ .long 0x698ea854,0x3e98aca0
+ .long 0x00000000,0x3fe3608f
+ .long 0xd4d873bb,0x3e972a8e
+ .long 0x00000000,0x3fe37aee
+ .long 0x615e8182,0x3e8f669b
+ .long 0x00000000,0x3fe39e2f
+ .long 0xdda5b49a,0x3e98d1f4
+ .long 0x00000000,0x3fe3b8b1
+ .long 0xe72383f7,0x3e9cc279
+ .long 0x00000000,0x3fe3dc21
+ .long 0x497497f1,0x3e9c6774
+ .long 0x00000000,0x3fe3f6c7
+ .long 0x801bd0e6,0x3e82c7f6
+ .long 0x00000000,0x3fe4117d
+ .long 0xd0ee28b4,0x3e9dfdd6
+ .long 0x00000000,0x3fe43531
+ .long 0xb70d3761,0x3e92d3a2
+ .long 0x00000000,0x3fe4500b
+ .long 0xe7d6bcb2,0x3e9c8343
+ .long 0x00000000,0x3fe46af4
+ .long 0x90d43957,0x3e693179
+ .long 0x00000000,0x3fe48eef
+ .long 0xf12570df,0x3e799eab
+ .long 0x00000000,0x3fe4a9fd
+ .long 0x1b88755d,0x3e78c5f8
+ .long 0x00000000,0x3fe4c51b
+ .long 0xdf99a22c,0x3e7369be
+ .long 0x00000000,0x3fe4e049
+ .long 0x6ed50f62,0x3e88fd93
+ .long 0x00000000,0x3fe5049f
+ .long 0x978605ff,0x3e9c6042
+ .long 0x00000000,0x3fe51ff2
+ .long 0xe6c85f4c,0x3e930ae6
+ .long 0x00000000,0x3fe53b56
+ .long 0xc3275ba6,0x3e92e7b6
+ .long 0x00000000,0x3fe556ca
+ .long 0x91597938,0x3e9e6401
+ .long 0x00000000,0x3fe5724e
+ .long 0x448ebb62,0x3e3d2dee
+ .long 0x00000000,0x3fe59719
+ .long 0x47501b6d,0x3e9b432e
+ .long 0x00000000,0x3fe5b2c3
+ .long 0x571fa7cd,0x3e83cf9b
+ .long 0x00000000,0x3fe5ce7f
+ .long 0x7359819d,0x3e8dc615
+ .long 0x00000000,0x3fe5ea4b
+ .long 0xc78a85ed,0x3e8973c3
+ .long 0x00000000,0x3fe60628
+ .long 0xc15a9f3d,0x3e77d788
+ .long 0x00000000,0x3fe62216
+ .long 0x51952736,0x3e9d2538
+ .long 0x00000000,0x3fe63e14
+ .long 0xde792c07,0x3e94dab9
+ .long 0x00000000,0x3fe65a24
+ .long 0x5bfa4318,0x3e8f5be1
+ .long 0x00000000,0x3fe67645
+ .long 0x55090ec8,0x3e903b26
+ .long 0x00000000,0x3fe69277
+ .long 0xc78b6175,0x3e99236f
+ .long 0x00000000,0x3fe6aeba
+ .long 0x3a80db6a,0x3e8a1972
+ .long 0x00000000,0x3fe6cb0f
+ .long 0xf558aa96,0x3e8d43a2
+ .long 0x00000000,0x3fe6e775
+ .long 0xd9a82f2e,0x3e424ee3
+ .long 0x00000000,0x3fe703ed
+ .long 0x583878f6,0x3e764d8e
+ .long 0x00000000,0x3fe72076
+ .long 0xc1150a3e,0x3e379604
+ .long 0x00000000,0x3fe73d11
+ .long 0xed85584b,0x3e93b229
+ .long 0x00000000,0x3fe759bd
+ .long 0x451a7b48,0x3e62967a
+ .long 0x00000000,0x3fe7767c
+ .long 0xc044e72d,0x3e8e12d7
+ .long 0x00000000,0x3fe7934c
+ .long 0xfdfb6949,0x3e9ca45d
+ .long 0x00000000,0x3fe7b02e
+ .long 0xff690fce,0x3e9244fc
+ .long 0x00000000,0x3fe7c37a
+ .long 0x81487a2c,0x3e7e9cea
+ .long 0x00000000,0x3fe7e07b
+ .long 0xd0ad2d9a,0x3e760da0
+ .long 0x00000000,0x3fe7fd8e
+ .long 0x096f45d9,0x3e8d7703
+ .long 0x00000000,0x3fe81ab3
+ .long 0x1b17115b,0x3e78dbee
+ .long 0x00000000,0x3fe837eb
+ .long 0x7c252ee0,0x3e8dc5a4
+ .long 0x00000000,0x3fe85535
+ .long 0x42d5123f,0x3e950116
+ .long 0x00000000,0x3fe868c6
+ .long 0xf11e41be,0x3e4c4eb7
+ .long 0x00000000,0x3fe88630
+ .long 0xdb2890b4,0x3e7773b8
+ .long 0x00000000,0x3fe8a3ac
+ .long 0x7ffb4479,0x3e7bc8e7
+ .long 0x00000000,0x3fe8c13b
+ .long 0x237693b3,0x3e8c388f
+ .long 0x00000000,0x3fe8d4fa
+ .long 0x45fcf1a0,0x3e731cd4
+ .long 0x00000000,0x3fe8f2a9
+ .long 0xe4895b91,0x3e9fae07
+ .long 0x00000000,0x3fe9106a
+ .long 0x42d2824e,0x3e7d140d
+ .long 0x00000000,0x3fe9244c
+ .long 0x39900f67,0x3e75c3c8
+ .long 0x00000000,0x3fe9422e
+ .long 0xa314252b,0x3e902422
+ .long 0x00000000,0x3fe96023
+ .long 0xf2a6b8ef,0x3e7b9be8
+ .long 0x00000000,0x3fe97427
+ .long 0x1476f5e9,0x3e66b188
+ .long 0x00000000,0x3fe9923d
+ .long 0xdde10a6f,0x3e93c377
+ .long 0x00000000,0x3fe9b066
+ .long 0x4944a32c,0x3e817cad
+ .long 0x00000000,0x3fe9c48d
+ .long 0xc738e7ef,0x3e9927f2
+ .long 0x00000000,0x3fe9e2d7
+ .long 0xd25cfd94,0x3e7ccc41
+ .long 0x00000000,0x3fea0136
+ .long 0x2210e81b,0x3e8382fa
+ .long 0x00000000,0x3fea1580
+ .long 0x1e690ce2,0x3e7752a7
+ .long 0x00000000,0x3fea3400
+ .long 0x122315d2,0x3e94cfee
+ .long 0x00000000,0x3fea4860
+ .long 0xce98333b,0x3e80536e
+ .long 0x00000000,0x3fea6702
+ .long 0xc30f00e9,0x3e838b7e
+ .long 0x00000000,0x3fea7b79
+ .long 0x05b0c779,0x3e9dc380
+ .long 0x00000000,0x3fea9a3c
+ .long 0xdd6dd3fe,0x3e6be168
+ .long 0x00000000,0x3feab915
+ .long 0x26e0d276,0x3e966757
+ .long 0x00000000,0x3feacdb0
+ .long 0x0aad615c,0x3e880252
+ .long 0x00000000,0x3feaecab
+ .long 0x7927096a,0x3e607c31
+ .long 0x00000000,0x3feb015e
+ .long 0x53b3d90e,0x3e596513
+ .long 0x00000000,0x3feb161a
+ .long 0x8f2f0570,0x3e90ec3a
+ .long 0x00000000,0x3feb3545
+ .long 0x81193954,0x3e9cb640
+ .long 0x00000000,0x3feb4a18
+ .long 0x311e7236,0x3e936479
+ .long 0x00000000,0x3feb6967
+ .long 0x3a42a413,0x3e9210e8
+ .long 0x00000000,0x3feb7e52
+ .long 0x4a0daeb2,0x3e9a1717
+ .long 0x00000000,0x3feb9dc4
+ .long 0xce900653,0x3e925bb7
+ .long 0x00000000,0x3febb2c7
+ .long 0xb5087588,0x3e95dbb8
+ .long 0x00000000,0x3febd25d
+ .long 0x4a41204c,0x3e8d0aa9
+ .long 0x00000000,0x3febe778
+ .long 0x69a0d774,0x3e9c772f
+ .long 0x00000000,0x3febfc9c
+ .long 0x79d0a9a5,0x3e97b6a0
+ .long 0x00000000,0x3fec1c65
+ .long 0xd26f1a12,0x3e8f7402
+ .long 0x00000000,0x3fec31a2
+ .long 0x1243bc84,0x3e4db2f1
+ .long 0x00000000,0x3fec46e9
+ .long 0x477e1755,0x3e80dcc2
+ .long 0x00000000,0x3fec66e5
+ .long 0xc2f904c1,0x3e8b1e31
+ .long 0x00000000,0x3fec7c44
+ .long 0x1785b0c4,0x3e8fb619
+ .long 0x00000000,0x3fec91ad
+ .long 0xedb052ef,0x3e98832d
+ .long 0x00000000,0x3fecb1dd
+ .long 0x9e373618,0x3e98c822
+ .long 0x00000000,0x3fecc75f
+ .long 0x32954637,0x3e9a46e7
+ .long 0x00000000,0x3fecdceb
+ .long 0xf0e6b2a9,0x3e996305
+ .long 0x00000000,0x3fecfd50
+ .long 0x1a6614ee,0x3e68c160
+ .long 0x00000000,0x3fed12f6
+ .long 0x09e33b28,0x3e9229c4
+ .long 0x00000000,0x3fed28a5
+ .long 0xe53b994c,0x3e7f281b
+ .long 0x00000000,0x3fed3e5f
+ .long 0x1124ac35,0x3e9f27f3
+ .long 0x00000000,0x3fed5f08
+ .long 0x3d2fdc03,0x3e84e779
+ .long 0x00000000,0x3fed74dc
+ .long 0x1e93fd97,0x3e416c07
+ .long 0x00000000,0x3fed8aba
+ .long 0x91b415ef,0x3e654669
+ .long 0x00000000,0x3feda0a2
+ .long 0x6495f594,0x3e9712d4
+ .long 0x00000000,0x3fedc191
+ .long 0x40171789,0x3e9ca7b2
+ .long 0x00000000,0x3fedd793
+ .long 0xe8fc4323,0x3e929afa
+ .long 0x00000000,0x3fededa0
+ .long 0xeb03bd09,0x3e9a2e96
+ .long 0x00000000,0x3fee03b7
+ .long 0xca370ea2,0x3e94a63d
+ .long 0x00000000,0x3fee19d9
+ .long 0xe30512ec,0x3e6a3bcb
+ .long 0x00000000,0x3fee3006
+ .long 0x411c95ce,0x3e99d3ed
+ .long 0x00000000,0x3fee515c
+ .long 0x35cfaf8e,0x3e3e5b57
+ .long 0x00000000,0x3fee67a4
+ .long 0x5669df6a,0x3e9fca71
+ .long 0x00000000,0x3fee7df5
+ .long 0x04f19d94,0x3e9914e2
+ .long 0x00000000,0x3fee9452
+ .long 0xcaa19134,0x3e8b511c
+ .long 0x00000000,0x3feeaaba
+ .long 0x4bb3bfb1,0x3e9ed72f
+ .long 0x00000000,0x3feec12c
+ .long 0x3c29d75e,0x3e8be8d6
+ .long 0x00000000,0x3feed7aa
+ .long 0x97da24fd,0x3e9c55d9
+ .long 0x00000000,0x3feeee32
+ .long 0x983c68ea,0x3e7ddfb1
+ .long 0x00000000,0x3fef1014
+ .long 0xf4425883,0x3e83ce66
+ .long 0x00000000,0x3fef26b8
+ .long 0xf7857f23,0x3e9055c3
+ .long 0x00000000,0x3fef3d67
+ .long 0x2805b525,0x3e9c2223
+ .long 0x00000000,0x3fef5421
+ .long 0x0c347fcf,0x3e8d59ba
+ .long 0x00000000,0x3fef6ae7
+ .long 0x7c901c44,0x3e82b110
+ .long 0x00000000,0x3fef81b8
+ .long 0x74d1b482,0x3e8b1394
+ .long 0x00000000,0x3fef9894
+ .long 0x36fb9eb2,0x3e9ca75b
+ .long 0x00000000,0x3fefaf7b
+ .long 0x629b1b7e,0x3e981a0a
+ .long 0x00000000,0x3fefc66e
+ .long 0x7b8c1116,0x3e54cc20
+ .long 0x00000000,0x3fefdd6d
+ .long 0xc0babe05,0x3e99ac8b
+ .long 0x00000000,0x3feff476
+ .type __dlog2_la___libm_log2_table_256,@object
+ .size __dlog2_la___libm_log2_table_256,4096
+ .space 512, 0x00
+ .align 64
+
+__dlog2_la__P:
+ .long 3213235158
+ .long 1050233568
+ .long 1697350398
+ .long 3219592519
+ .long 3694740707
+ .long 1071564553
+ .long 1697260025
+ .long 3218543943
+ .long 2542794428
+ .long 1070757746
+ .long 2165113687
+ .long 3217999640
+ .long 0
+ .long 1073157447
+ .type __dlog2_la__P,@object
+ .size __dlog2_la__P,56
new file mode 100644
@@ -0,0 +1,20 @@
+/* AVX2 version of vectorized log2f.
+ 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_log2f _ZGVeN16v_log2f_avx2_wrapper
+#include "../svml_s_log2f16_core.S"
new file mode 100644
@@ -0,0 +1,28 @@
+/* Multiple versions of vectorized log2f, 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_log2f
+#include "ifunc-mathvec-avx512-skx.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVeN16v_log2f, __GI__ZGVeN16v_log2f,
+ __redirect__ZGVeN16v_log2f)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,697 @@
+/* Function logf16 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
+ * log2(x) = k - log2(Rcp) + poly_approximation(R)
+ * log2(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVeN16v_log2f_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_slog2_data_internal_avx512(%rip), %zmm1
+ vgetexpps {sae}, %zmm0, %zmm5
+
+/* x<=0? */
+ vfpclassps $94, %zmm0, %k0
+ vsubps {rn-sae}, %zmm1, %zmm3, %zmm9
+ vpsrld $19, %zmm3, %zmm7
+ vgetexpps {sae}, %zmm3, %zmm6
+ vpermps 64+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm1
+ vpermps 128+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm2
+ vpermps 192+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm4
+ vpermps 256+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm8
+ vsubps {rn-sae}, %zmm6, %zmm5, %zmm10
+ vfmadd213ps {rn-sae}, %zmm2, %zmm9, %zmm1
+ kmovw %k0, %edx
+ vfmadd213ps {rn-sae}, %zmm4, %zmm9, %zmm1
+ vfmadd213ps {rn-sae}, %zmm8, %zmm9, %zmm1
+ vfmadd213ps {rn-sae}, %zmm10, %zmm9, %zmm1
+ testl %edx, %edx
+ jne .LBL_1_3
+
+.LBL_1_2:
+ 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)
+
+.LBL_1_3:
+ vmovups %zmm0, 64(%rsp)
+ vmovups %zmm1, 128(%rsp)
+ je .LBL_1_2
+ 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
+
+.LBL_1_7:
+ btl %r12d, %r13d
+ jc .LBL_1_10
+
+.LBL_1_8:
+ incl %r12d
+ cmpl $16, %r12d
+ jl .LBL_1_7
+ 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 .LBL_1_2
+ .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
+
+.LBL_1_10:
+ lea 64(%rsp,%r12,4), %rdi
+ lea 128(%rsp,%r12,4), %rsi
+ call __svml_slog2_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVeN16v_log2f_skx)
+
+ .align 16,0x90
+
+__svml_slog2_cout_rare_internal:
+
+ cfi_startproc
+
+ xorl %eax, %eax
+ movzwl 2(%rdi), %edx
+ andl $32640, %edx
+ cmpl $32640, %edx
+ je .LBL_2_13
+ movss (%rdi), %xmm2
+ xorl %ecx, %ecx
+ pxor %xmm1, %xmm1
+ movss %xmm2, -16(%rsp)
+ ucomiss %xmm1, %xmm2
+ jp .LBL_2_3
+ je .LBL_2_5
+
+.LBL_2_3:
+ movzwl -14(%rsp), %edx
+ testl $32640, %edx
+ jne .LBL_2_5
+ movss .FLT_76(%rip), %xmm0
+ movl $-27, %ecx
+ mulss %xmm0, %xmm2
+ movss %xmm2, -16(%rsp)
+
+.LBL_2_5:
+ comiss %xmm1, %xmm2
+ jbe .LBL_2_9
+ movaps %xmm2, %xmm1
+ subss .FLT_90(%rip), %xmm1
+ movss %xmm1, -20(%rsp)
+ andb $127, -17(%rsp)
+ movss -20(%rsp), %xmm0
+ comiss .FLT_77(%rip), %xmm0
+ jbe .LBL_2_8
+ movzwl -14(%rsp), %edx
+ pxor %xmm8, %xmm8
+ andl $32640, %edx
+ lea __slog2_la_CoutTab(%rip), %r10
+ shrl $7, %edx
+ movss %xmm2, -20(%rsp)
+ movss .FLT_79(%rip), %xmm2
+ movaps %xmm2, %xmm1
+ movss .FLT_88(%rip), %xmm6
+ lea -127(%rcx,%rdx), %r9d
+ movzwl -18(%rsp), %ecx
+ andl $-32641, %ecx
+ addl $16256, %ecx
+ movw %cx, -18(%rsp)
+ movss -20(%rsp), %xmm3
+ movaps %xmm3, %xmm0
+ addss %xmm3, %xmm1
+ addss .FLT_78(%rip), %xmm0
+ cvtsi2ss %r9d, %xmm8
+ movss %xmm0, -24(%rsp)
+ movl -24(%rsp), %edi
+ movss %xmm1, -24(%rsp)
+ andl $127, %edi
+ movss -24(%rsp), %xmm7
+ subss %xmm2, %xmm7
+ lea (%rdi,%rdi,2), %r8d
+ movss (%r10,%r8,4), %xmm5
+ subss %xmm7, %xmm3
+ addss 4(%r10,%r8,4), %xmm8
+ mulss %xmm5, %xmm7
+ mulss %xmm3, %xmm5
+ subss .FLT_80(%rip), %xmm7
+ movaps %xmm7, %xmm4
+ addss %xmm7, %xmm8
+ addss %xmm5, %xmm4
+ mulss %xmm4, %xmm6
+ addss .FLT_87(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_86(%rip), %xmm6
+ 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 %xmm4, %xmm6
+ addss .FLT_81(%rip), %xmm6
+ mulss %xmm6, %xmm7
+ mulss %xmm5, %xmm6
+ addss 8(%r10,%r8,4), %xmm6
+ addss %xmm5, %xmm6
+ addss %xmm6, %xmm7
+ addss %xmm7, %xmm8
+ movss %xmm8, (%rsi)
+ ret
+
+.LBL_2_8:
+ movss .FLT_80(%rip), %xmm0
+ mulss %xmm0, %xmm1
+ movss .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 .FLT_81(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss %xmm1, %xmm2
+ movss %xmm2, (%rsi)
+ ret
+
+.LBL_2_9:
+ ucomiss %xmm1, %xmm2
+ jp .LBL_2_10
+ je .LBL_2_12
+
+.LBL_2_10:
+ divss %xmm1, %xmm1
+ movss %xmm1, (%rsi)
+ movl $1, %eax
+ ret
+
+.LBL_2_12:
+ movss .FLT_89(%rip), %xmm0
+ movl $2, %eax
+ divss %xmm1, %xmm0
+ movss %xmm0, (%rsi)
+ ret
+
+.LBL_2_13:
+ movb 3(%rdi), %dl
+ andb $-128, %dl
+ cmpb $-128, %dl
+ je .LBL_2_15
+
+.LBL_2_14:
+ movss (%rdi), %xmm0
+ mulss %xmm0, %xmm0
+ movss %xmm0, (%rsi)
+ ret
+
+.LBL_2_15:
+ testl $8388607, (%rdi)
+ jne .LBL_2_14
+ movl $1, %eax
+ pxor %xmm1, %xmm1
+ pxor %xmm0, %xmm0
+ divss %xmm0, %xmm1
+ movss %xmm1, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_slog2_cout_rare_internal,@function
+ .size __svml_slog2_cout_rare_internal,.-__svml_slog2_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_slog2_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 3198647882
+ .long 3196759613
+ .long 3194486322
+ .long 3192115638
+ .long 3190203785
+ .long 3188646043
+ .long 3187058849
+ .long 3184933705
+ .long 3210235473
+ .long 3208544417
+ .long 3207107312
+ .long 3205878647
+ .long 3204822309
+ .long 3203370544
+ .long 3201784975
+ .long 3200401796
+ .long 1056280844
+ .long 1055933857
+ .long 1055381630
+ .long 1054718852
+ .long 1054004959
+ .long 1053277138
+ .long 1052558383
+ .long 1051862550
+ .long 1049572249
+ .long 1051796030
+ .long 1053416266
+ .long 1054571017
+ .long 1055365658
+ .long 1055881163
+ .long 1056180132
+ .long 1056311220
+ .long 3208161588
+ .long 3208150502
+ .long 3208115952
+ .long 3208053899
+ .long 3207964810
+ .long 3207851268
+ .long 3207716694
+ .long 3207564674
+ .long 3208734740
+ .long 3208490840
+ .long 3208338440
+ .long 3208247850
+ .long 3208197907
+ .long 3208173537
+ .long 3208164045
+ .long 3208161890
+ .long 1069066811
+ .long 1069066688
+ .long 1069065960
+ .long 1069064014
+ .long 1069060299
+ .long 1069054385
+ .long 1069045976
+ .long 1069034896
+ .long 1069049182
+ .long 1069058106
+ .long 1069062890
+ .long 1069065263
+ .long 1069066312
+ .long 1069066697
+ .long 1069066799
+ .long 1069066811
+ .type __svml_slog2_data_internal_avx512,@object
+ .size __svml_slog2_data_internal_avx512,320
+ .align 32
+
+__slog2_la_CoutTab:
+ .long 1136175680
+ .long 0
+ .long 0
+ .long 1135986583
+ .long 1018822656
+ .long 930849160
+ .long 1135809305
+ .long 1026916352
+ .long 941737263
+ .long 1135632026
+ .long 1032306688
+ .long 936581683
+ .long 1135466566
+ .long 1035100160
+ .long 929197062
+ .long 1135301106
+ .long 1037934592
+ .long 897678483
+ .long 1135135647
+ .long 1040498688
+ .long 3059980496
+ .long 1134982005
+ .long 1041852416
+ .long 908010313
+ .long 1134828364
+ .long 1043226624
+ .long 3073739761
+ .long 1134686541
+ .long 1044510720
+ .long 918631281
+ .long 1134538809
+ .long 1045868544
+ .long 3062817788
+ .long 1134402896
+ .long 1047134208
+ .long 3064656237
+ .long 1134266982
+ .long 1048416256
+ .long 3029590737
+ .long 1134131069
+ .long 1049145856
+ .long 903671587
+ .long 1134001065
+ .long 1049775616
+ .long 911388989
+ .long 1133876970
+ .long 1050384896
+ .long 3069885983
+ .long 1133752875
+ .long 1051001344
+ .long 3037530952
+ .long 1133634689
+ .long 1051596288
+ .long 3069922038
+ .long 1133516503
+ .long 1052198400
+ .long 3070222063
+ .long 1133404227
+ .long 1052776960
+ .long 919559368
+ .long 1133291951
+ .long 1053363200
+ .long 840060372
+ .long 1133185584
+ .long 1053924864
+ .long 915603033
+ .long 1133079217
+ .long 1054493184
+ .long 921334924
+ .long 1132978759
+ .long 1055036416
+ .long 896601826
+ .long 1132872392
+ .long 1055618048
+ .long 908913293
+ .long 1132777843
+ .long 1056141312
+ .long 3065728751
+ .long 1132677386
+ .long 1056702976
+ .long 909020429
+ .long 1132582837
+ .long 1057101312
+ .long 3048020321
+ .long 1132494198
+ .long 1057354752
+ .long 3038815896
+ .long 1132337219
+ .long 1057628160
+ .long 3068137421
+ .long 1132159940
+ .long 1057887232
+ .long 3069993595
+ .long 1131994480
+ .long 1058131456
+ .long 3054354312
+ .long 1131817202
+ .long 1058395904
+ .long 910223436
+ .long 1131651742
+ .long 1058645504
+ .long 3046952660
+ .long 1131486282
+ .long 1058897664
+ .long 3057670844
+ .long 1131332641
+ .long 1059133952
+ .long 924929721
+ .long 1131178999
+ .long 1059373056
+ .long 3068093797
+ .long 1131025358
+ .long 1059614208
+ .long 3058851683
+ .long 1130871717
+ .long 1059857920
+ .long 3069897752
+ .long 1130729894
+ .long 1060084736
+ .long 924446297
+ .long 1130576253
+ .long 1060333312
+ .long 903058075
+ .long 1130434430
+ .long 1060564992
+ .long 3052757441
+ .long 1130304426
+ .long 1060779264
+ .long 3045479197
+ .long 1130162603
+ .long 1061015040
+ .long 924699798
+ .long 1130032599
+ .long 1061233664
+ .long 3070937808
+ .long 1129890776
+ .long 1061473792
+ .long 925912756
+ .long 1129772591
+ .long 1061676032
+ .long 923952205
+ .long 1129642586
+ .long 1061900544
+ .long 906547304
+ .long 1129512582
+ .long 1062127104
+ .long 3050351427
+ .long 1129394397
+ .long 1062334976
+ .long 3070601694
+ .long 1129276211
+ .long 1062544384
+ .long 900519722
+ .long 1129158025
+ .long 1062755840
+ .long 3055774932
+ .long 1129039840
+ .long 1062969088
+ .long 3053661845
+ .long 1128921654
+ .long 1063184384
+ .long 3073448373
+ .long 1128815287
+ .long 1063379456
+ .long 907090876
+ .long 1128697101
+ .long 1063598336
+ .long 881051555
+ .long 1128590734
+ .long 1063796992
+ .long 898320955
+ .long 1128484367
+ .long 1063997440
+ .long 3068804107
+ .long 1128378000
+ .long 1064199168
+ .long 923531617
+ .long 1128283452
+ .long 1064380416
+ .long 3070994608
+ .long 1128177085
+ .long 1064585472
+ .long 901920533
+ .long 1128082536
+ .long 1064769536
+ .long 3071653428
+ .long 1127976169
+ .long 1064977920
+ .long 903017594
+ .long 1127881621
+ .long 1065164800
+ .long 911713416
+ .long 1127787072
+ .long 1065353216
+ .long 0
+ .long 1065353216
+ .long 0
+ .long 1207959616
+ .long 1174405120
+ .long 1002438656
+ .long 1291845632
+ .long 0
+ .long 1065353216
+ .long 1136175680
+ .long 3212771328
+ .long 3065082383
+ .long 841219731
+ .long 2913632803
+ .long 691870088
+ .long 2765780188
+ .long 545377693
+ .long 2619180638
+ .type __slog2_la_CoutTab,@object
+ .size __slog2_la_CoutTab,848
+ .align 4
+
+.FLT_76:
+ .long 0x4d000000
+ .type .FLT_76,@object
+ .size .FLT_76,4
+ .align 4
+
+.FLT_77:
+ .long 0x3bc00000
+ .type .FLT_77,@object
+ .size .FLT_77,4
+ .align 4
+
+.FLT_78:
+ .long 0x48000040
+ .type .FLT_78,@object
+ .size .FLT_78,4
+ .align 4
+
+.FLT_79:
+ .long 0x46000000
+ .type .FLT_79,@object
+ .size .FLT_79,4
+ .align 4
+
+.FLT_80:
+ .long 0x43b8aa40
+ .type .FLT_80,@object
+ .size .FLT_80,4
+ .align 4
+
+.FLT_81:
+ .long 0xbf7f0000
+ .type .FLT_81,@object
+ .size .FLT_81,4
+ .align 4
+
+.FLT_82:
+ .long 0xb6b1720f
+ .type .FLT_82,@object
+ .size .FLT_82,4
+ .align 4
+
+.FLT_83:
+ .long 0x3223fe93
+ .type .FLT_83,@object
+ .size .FLT_83,4
+ .align 4
+
+.FLT_84:
+ .long 0xadaa8223
+ .type .FLT_84,@object
+ .size .FLT_84,4
+ .align 4
+
+.FLT_85:
+ .long 0x293d1988
+ .type .FLT_85,@object
+ .size .FLT_85,4
+ .align 4
+
+.FLT_86:
+ .long 0xa4da74dc
+ .type .FLT_86,@object
+ .size .FLT_86,4
+ .align 4
+
+.FLT_87:
+ .long 0x2081cd9d
+ .type .FLT_87,@object
+ .size .FLT_87,4
+ .align 4
+
+.FLT_88:
+ .long 0x9c1d865e
+ .type .FLT_88,@object
+ .size .FLT_88,4
+ .align 4
+
+.FLT_89:
+ .long 0xbf800000
+ .type .FLT_89,@object
+ .size .FLT_89,4
+ .align 4
+
+.FLT_90:
+ .long 0x3f800000
+ .type .FLT_90,@object
+ .size .FLT_90,4
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE2 version of vectorized log2f, 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_log2f _ZGVbN4v_log2f_sse2
+#include "../svml_s_log2f4_core.S"
new file mode 100644
@@ -0,0 +1,28 @@
+/* Multiple versions of vectorized log2f, 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_log2f
+#include "ifunc-mathvec-sse4_1.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVbN4v_log2f, __GI__ZGVbN4v_log2f,
+ __redirect__ZGVbN4v_log2f)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,1795 @@
+/* Function logf4 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
+ * log2(x) = k - log2(Rcp) + poly_approximation(R)
+ * log2(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVbN4v_log2f_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, %xmm2
+
+/* reduction: compute r,n */
+ movdqu 1536+__svml_slog2_data_internal(%rip), %xmm4
+ movaps %xmm2, %xmm3
+ movdqu 1600+__svml_slog2_data_internal(%rip), %xmm1
+ psubd %xmm4, %xmm3
+ pand %xmm3, %xmm1
+ movaps %xmm2, %xmm6
+ paddd %xmm4, %xmm1
+ movaps %xmm2, %xmm5
+ cmpltps 1280+__svml_slog2_data_internal(%rip), %xmm6
+ cmpnleps 1344+__svml_slog2_data_internal(%rip), %xmm5
+ subps 1664+__svml_slog2_data_internal(%rip), %xmm1
+ movups 1728+__svml_slog2_data_internal(%rip), %xmm7
+ psrad $23, %xmm3
+ mulps %xmm1, %xmm7
+ orps %xmm5, %xmm6
+ cvtdq2ps %xmm3, %xmm0
+
+/* combine and get argument value range mask */
+ movmskps %xmm6, %edx
+ addps 1744+__svml_slog2_data_internal(%rip), %xmm7
+ movups 1760+__svml_slog2_data_internal(%rip), %xmm3
+ movaps %xmm1, %xmm5
+ mulps %xmm1, %xmm3
+ mulps %xmm1, %xmm5
+ addps 1776+__svml_slog2_data_internal(%rip), %xmm3
+ mulps %xmm5, %xmm7
+ movups 1792+__svml_slog2_data_internal(%rip), %xmm4
+ addps %xmm7, %xmm3
+ mulps %xmm1, %xmm4
+ mulps %xmm5, %xmm3
+ addps 1808+__svml_slog2_data_internal(%rip), %xmm4
+ movups 1824+__svml_slog2_data_internal(%rip), %xmm6
+ addps %xmm3, %xmm4
+ mulps %xmm1, %xmm6
+ mulps %xmm4, %xmm5
+ addps 1840+__svml_slog2_data_internal(%rip), %xmm6
+ addps %xmm5, %xmm6
+ mulps %xmm1, %xmm6
+ addps 1856+__svml_slog2_data_internal(%rip), %xmm6
+ mulps %xmm6, %xmm1
+ addps %xmm1, %xmm0
+ testl %edx, %edx
+ jne .LBL_1_3
+
+.LBL_1_2:
+ movq %rbp, %rsp
+ popq %rbp
+ cfi_def_cfa(7, 8)
+ cfi_restore(6)
+ ret
+ cfi_def_cfa(6, 16)
+ cfi_offset(6, -16)
+
+.LBL_1_3:
+ movups %xmm2, 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
+
+.LBL_1_7:
+ btl %r12d, %r13d
+ jc .LBL_1_10
+
+.LBL_1_8:
+ incl %r12d
+ cmpl $4, %r12d
+ jl .LBL_1_7
+ 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 .LBL_1_2
+ .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
+
+.LBL_1_10:
+ lea 192(%rsp,%r12,4), %rdi
+ lea 256(%rsp,%r12,4), %rsi
+ call __svml_slog2_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVbN4v_log2f_sse4)
+
+ .align 16,0x90
+
+__svml_slog2_cout_rare_internal:
+
+ cfi_startproc
+
+ xorl %eax, %eax
+ movzwl 2(%rdi), %edx
+ andl $32640, %edx
+ cmpl $32640, %edx
+ je .LBL_2_13
+ movss (%rdi), %xmm2
+ xorl %ecx, %ecx
+ pxor %xmm1, %xmm1
+ movss %xmm2, -16(%rsp)
+ ucomiss %xmm1, %xmm2
+ jp .LBL_2_3
+ je .LBL_2_5
+
+.LBL_2_3:
+ movzwl -14(%rsp), %edx
+ testl $32640, %edx
+ jne .LBL_2_5
+ movss .FLT_81(%rip), %xmm0
+ movl $-27, %ecx
+ mulss %xmm0, %xmm2
+ movss %xmm2, -16(%rsp)
+
+.LBL_2_5:
+ comiss %xmm1, %xmm2
+ jbe .LBL_2_9
+ movaps %xmm2, %xmm1
+ subss .FLT_95(%rip), %xmm1
+ movss %xmm1, -20(%rsp)
+ andb $127, -17(%rsp)
+ movss -20(%rsp), %xmm0
+ comiss .FLT_82(%rip), %xmm0
+ jbe .LBL_2_8
+ movzwl -14(%rsp), %edx
+ pxor %xmm8, %xmm8
+ andl $32640, %edx
+ lea __slog2_la_CoutTab(%rip), %r10
+ shrl $7, %edx
+ movss %xmm2, -20(%rsp)
+ movss .FLT_84(%rip), %xmm2
+ movaps %xmm2, %xmm1
+ movss .FLT_93(%rip), %xmm6
+ lea -127(%rcx,%rdx), %r9d
+ movzwl -18(%rsp), %ecx
+ andl $-32641, %ecx
+ addl $16256, %ecx
+ movw %cx, -18(%rsp)
+ movss -20(%rsp), %xmm3
+ movaps %xmm3, %xmm0
+ addss %xmm3, %xmm1
+ addss .FLT_83(%rip), %xmm0
+ cvtsi2ss %r9d, %xmm8
+ movss %xmm0, -24(%rsp)
+ movl -24(%rsp), %edi
+ movss %xmm1, -24(%rsp)
+ andl $127, %edi
+ movss -24(%rsp), %xmm7
+ subss %xmm2, %xmm7
+ lea (%rdi,%rdi,2), %r8d
+ movss (%r10,%r8,4), %xmm5
+ subss %xmm7, %xmm3
+ addss 4(%r10,%r8,4), %xmm8
+ mulss %xmm5, %xmm7
+ mulss %xmm3, %xmm5
+ subss .FLT_85(%rip), %xmm7
+ movaps %xmm7, %xmm4
+ addss %xmm7, %xmm8
+ addss %xmm5, %xmm4
+ mulss %xmm4, %xmm6
+ addss .FLT_92(%rip), %xmm6
+ 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 %xmm4, %xmm6
+ addss .FLT_87(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_86(%rip), %xmm6
+ mulss %xmm6, %xmm7
+ mulss %xmm5, %xmm6
+ addss 8(%r10,%r8,4), %xmm6
+ addss %xmm5, %xmm6
+ addss %xmm6, %xmm7
+ addss %xmm7, %xmm8
+ movss %xmm8, (%rsi)
+ ret
+
+.LBL_2_8:
+ movss .FLT_85(%rip), %xmm0
+ mulss %xmm0, %xmm1
+ movss .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 .FLT_87(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_86(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss %xmm1, %xmm2
+ movss %xmm2, (%rsi)
+ ret
+
+.LBL_2_9:
+ ucomiss %xmm1, %xmm2
+ jp .LBL_2_10
+ je .LBL_2_12
+
+.LBL_2_10:
+ divss %xmm1, %xmm1
+ movss %xmm1, (%rsi)
+ movl $1, %eax
+ ret
+
+.LBL_2_12:
+ movss .FLT_94(%rip), %xmm0
+ movl $2, %eax
+ divss %xmm1, %xmm0
+ movss %xmm0, (%rsi)
+ ret
+
+.LBL_2_13:
+ movb 3(%rdi), %dl
+ andb $-128, %dl
+ cmpb $-128, %dl
+ je .LBL_2_15
+
+.LBL_2_14:
+ movss (%rdi), %xmm0
+ mulss %xmm0, %xmm0
+ movss %xmm0, (%rsi)
+ ret
+
+.LBL_2_15:
+ testl $8388607, (%rdi)
+ jne .LBL_2_14
+ movl $1, %eax
+ pxor %xmm1, %xmm1
+ pxor %xmm0, %xmm0
+ divss %xmm0, %xmm1
+ movss %xmm1, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_slog2_cout_rare_internal,@function
+ .size __svml_slog2_cout_rare_internal,.-__svml_slog2_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_slog2_data_internal:
+ .long 3271294976
+ .long 0
+ .long 3271296000
+ .long 3068856281
+ .long 3271297024
+ .long 938219729
+ .long 3271298032
+ .long 3079617137
+ .long 3271299040
+ .long 3081795326
+ .long 3271300048
+ .long 931444511
+ .long 3271301040
+ .long 3086175556
+ .long 3271302040
+ .long 937684290
+ .long 3271303024
+ .long 895273824
+ .long 3271304008
+ .long 929322840
+ .long 3271304984
+ .long 914973210
+ .long 3271305952
+ .long 3085691485
+ .long 3271306920
+ .long 3082544936
+ .long 3271307888
+ .long 934225115
+ .long 3271308840
+ .long 3081631497
+ .long 3271309792
+ .long 3084279599
+ .long 3271310744
+ .long 919294098
+ .long 3271311688
+ .long 928328979
+ .long 3271312624
+ .long 3066585895
+ .long 3271313560
+ .long 926130568
+ .long 3271314488
+ .long 901156711
+ .long 3271315416
+ .long 937414789
+ .long 3271316336
+ .long 936653537
+ .long 3271317248
+ .long 3058814943
+ .long 3271318160
+ .long 906908118
+ .long 3271319064
+ .long 3081401871
+ .long 3271319968
+ .long 3072543999
+ .long 3271320864
+ .long 3085330685
+ .long 3271321760
+ .long 3075910590
+ .long 3271322648
+ .long 3085106206
+ .long 3271323536
+ .long 3072312054
+ .long 3271324416
+ .long 3082060466
+ .long 3271325296
+ .long 3055197447
+ .long 3271326168
+ .long 3076357858
+ .long 3271327040
+ .long 920345845
+ .long 3271327904
+ .long 3063129936
+ .long 3271328768
+ .long 930567858
+ .long 3271329624
+ .long 909272754
+ .long 3271330480
+ .long 933804198
+ .long 3271331328
+ .long 918737494
+ .long 3271332176
+ .long 934022681
+ .long 3271333016
+ .long 910479685
+ .long 3271333856
+ .long 929589825
+ .long 3271334688
+ .long 3070655175
+ .long 3271335520
+ .long 3053267575
+ .long 3271336344
+ .long 3086194926
+ .long 3271337168
+ .long 3085997978
+ .long 3271337992
+ .long 3045913777
+ .long 3271338808
+ .long 3069765616
+ .long 3271339624
+ .long 928672192
+ .long 3271340432
+ .long 3045522449
+ .long 3271341240
+ .long 926802639
+ .long 3271342040
+ .long 3074232411
+ .long 3271342840
+ .long 3070586333
+ .long 3271343640
+ .long 934318260
+ .long 3271344432
+ .long 930283614
+ .long 3271345216
+ .long 3085545791
+ .long 3271346008
+ .long 931477852
+ .long 3271346792
+ .long 935625357
+ .long 3271347568
+ .long 3065394803
+ .long 3271348344
+ .long 3072676686
+ .long 3271349120
+ .long 925303420
+ .long 3271349888
+ .long 3069367164
+ .long 3271350656
+ .long 3038632180
+ .long 3271351424
+ .long 939079119
+ .long 3271352184
+ .long 935075887
+ .long 3271352936
+ .long 3082666870
+ .long 3271353696
+ .long 931789803
+ .long 3271354448
+ .long 932303901
+ .long 3271355192
+ .long 3081224294
+ .long 3271355944
+ .long 937147770
+ .long 3271356680
+ .long 3085250212
+ .long 3271357424
+ .long 908073671
+ .long 3271358896
+ .long 918282152
+ .long 3271360352
+ .long 3084832095
+ .long 3271361808
+ .long 937397780
+ .long 3271363240
+ .long 3080772107
+ .long 3271364672
+ .long 932533526
+ .long 3271366088
+ .long 930047759
+ .long 3271367496
+ .long 939267269
+ .long 3271368888
+ .long 910438307
+ .long 3271370272
+ .long 3069366057
+ .long 3271371648
+ .long 3050426335
+ .long 3271373016
+ .long 933100185
+ .long 3271374368
+ .long 3070825219
+ .long 3271375712
+ .long 3082654716
+ .long 3271377048
+ .long 3084246816
+ .long 3271378376
+ .long 3080058411
+ .long 3271379696
+ .long 3041317981
+ .long 3271381008
+ .long 936455786
+ .long 3271382304
+ .long 3057542833
+ .long 3271383592
+ .long 3083404326
+ .long 3271384880
+ .long 934663588
+ .long 3271386152
+ .long 926575359
+ .long 3271387416
+ .long 915856538
+ .long 3271388672
+ .long 897695912
+ .long 3271389920
+ .long 3031263839
+ .long 3271391160
+ .long 3025798075
+ .long 3271392392
+ .long 889828954
+ .long 3271393616
+ .long 898229073
+ .long 3271394832
+ .long 890611612
+ .long 3271396040
+ .long 3051312165
+ .long 3271397240
+ .long 3067504579
+ .long 3271398432
+ .long 3077629370
+ .long 3271399616
+ .long 3084686401
+ .long 3271400800
+ .long 932711104
+ .long 3271401968
+ .long 3061957243
+ .long 3271403136
+ .long 938752650
+ .long 3271404288
+ .long 3065929605
+ .long 3271405440
+ .long 928849078
+ .long 3271406584
+ .long 935935277
+ .long 3271407720
+ .long 937106840
+ .long 3271408848
+ .long 933163291
+ .long 3271409968
+ .long 905515466
+ .long 3271411080
+ .long 3084390822
+ .long 3271412192
+ .long 3060235563
+ .long 3271413296
+ .long 921719712
+ .long 3271414392
+ .long 918076967
+ .long 3271415480
+ .long 3071716852
+ .long 3271416568
+ .long 936042212
+ .long 3271417640
+ .long 3079912717
+ .long 3271418712
+ .long 3075951191
+ .long 3271419776
+ .long 3082895478
+ .long 3271420840
+ .long 927873550
+ .long 3271421888
+ .long 3086405181
+ .long 3271422936
+ .long 3084857775
+ .long 3271423984
+ .long 933876987
+ .long 3271425016
+ .long 3074395466
+ .long 3271426048
+ .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 1042663530
+ .long 1042663530
+ .long 1042663530
+ .long 1042663530
+ .long 3199384460
+ .long 3199384460
+ .long 3199384460
+ .long 3199384460
+ .long 996988896
+ .long 996988896
+ .long 996988896
+ .long 996988896
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1006632960
+ .long 1006632960
+ .long 1006632960
+ .long 1006632960
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1069023232
+ .long 1069023232
+ .long 1069023232
+ .long 1069023232
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1045774354
+ .long 1045774354
+ .long 1045774354
+ .long 1045774354
+ .long 3194195476
+ .long 3194195476
+ .long 3194195476
+ .long 3194195476
+ .long 1045259787
+ .long 1045259787
+ .long 1045259787
+ .long 1045259787
+ .long 3195172900
+ .long 3195172900
+ .long 3195172900
+ .long 3195172900
+ .long 1049877767
+ .long 1049877767
+ .long 1049877767
+ .long 1049877767
+ .long 3199777129
+ .long 3199777129
+ .long 3199777129
+ .long 3199777129
+ .long 1056323520
+ .long 1056323520
+ .long 1056323520
+ .long 1056323520
+ .long 3208161835
+ .long 3208161835
+ .long 3208161835
+ .long 3208161835
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1051385883
+ .long 1051385883
+ .long 1051385883
+ .long 1051385883
+ .long 3201001580
+ .long 3201001580
+ .long 3201001580
+ .long 3201001580
+ .long 1056242241
+ .long 1056242241
+ .long 1056242241
+ .long 1056242241
+ .long 3208144266
+ .long 3208144266
+ .long 3208144266
+ .long 3208144266
+ .long 1069066989
+ .long 1069066989
+ .long 1069066989
+ .long 1069066989
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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_slog2_data_internal,@object
+ .size __svml_slog2_data_internal,2240
+ .align 32
+
+__slog2_la_CoutTab:
+ .long 1136175680
+ .long 0
+ .long 0
+ .long 1135986583
+ .long 1018822656
+ .long 930849160
+ .long 1135809305
+ .long 1026916352
+ .long 941737263
+ .long 1135632026
+ .long 1032306688
+ .long 936581683
+ .long 1135466566
+ .long 1035100160
+ .long 929197062
+ .long 1135301106
+ .long 1037934592
+ .long 897678483
+ .long 1135135647
+ .long 1040498688
+ .long 3059980496
+ .long 1134982005
+ .long 1041852416
+ .long 908010313
+ .long 1134828364
+ .long 1043226624
+ .long 3073739761
+ .long 1134686541
+ .long 1044510720
+ .long 918631281
+ .long 1134538809
+ .long 1045868544
+ .long 3062817788
+ .long 1134402896
+ .long 1047134208
+ .long 3064656237
+ .long 1134266982
+ .long 1048416256
+ .long 3029590737
+ .long 1134131069
+ .long 1049145856
+ .long 903671587
+ .long 1134001065
+ .long 1049775616
+ .long 911388989
+ .long 1133876970
+ .long 1050384896
+ .long 3069885983
+ .long 1133752875
+ .long 1051001344
+ .long 3037530952
+ .long 1133634689
+ .long 1051596288
+ .long 3069922038
+ .long 1133516503
+ .long 1052198400
+ .long 3070222063
+ .long 1133404227
+ .long 1052776960
+ .long 919559368
+ .long 1133291951
+ .long 1053363200
+ .long 840060372
+ .long 1133185584
+ .long 1053924864
+ .long 915603033
+ .long 1133079217
+ .long 1054493184
+ .long 921334924
+ .long 1132978759
+ .long 1055036416
+ .long 896601826
+ .long 1132872392
+ .long 1055618048
+ .long 908913293
+ .long 1132777843
+ .long 1056141312
+ .long 3065728751
+ .long 1132677386
+ .long 1056702976
+ .long 909020429
+ .long 1132582837
+ .long 1057101312
+ .long 3048020321
+ .long 1132494198
+ .long 1057354752
+ .long 3038815896
+ .long 1132337219
+ .long 1057628160
+ .long 3068137421
+ .long 1132159940
+ .long 1057887232
+ .long 3069993595
+ .long 1131994480
+ .long 1058131456
+ .long 3054354312
+ .long 1131817202
+ .long 1058395904
+ .long 910223436
+ .long 1131651742
+ .long 1058645504
+ .long 3046952660
+ .long 1131486282
+ .long 1058897664
+ .long 3057670844
+ .long 1131332641
+ .long 1059133952
+ .long 924929721
+ .long 1131178999
+ .long 1059373056
+ .long 3068093797
+ .long 1131025358
+ .long 1059614208
+ .long 3058851683
+ .long 1130871717
+ .long 1059857920
+ .long 3069897752
+ .long 1130729894
+ .long 1060084736
+ .long 924446297
+ .long 1130576253
+ .long 1060333312
+ .long 903058075
+ .long 1130434430
+ .long 1060564992
+ .long 3052757441
+ .long 1130304426
+ .long 1060779264
+ .long 3045479197
+ .long 1130162603
+ .long 1061015040
+ .long 924699798
+ .long 1130032599
+ .long 1061233664
+ .long 3070937808
+ .long 1129890776
+ .long 1061473792
+ .long 925912756
+ .long 1129772591
+ .long 1061676032
+ .long 923952205
+ .long 1129642586
+ .long 1061900544
+ .long 906547304
+ .long 1129512582
+ .long 1062127104
+ .long 3050351427
+ .long 1129394397
+ .long 1062334976
+ .long 3070601694
+ .long 1129276211
+ .long 1062544384
+ .long 900519722
+ .long 1129158025
+ .long 1062755840
+ .long 3055774932
+ .long 1129039840
+ .long 1062969088
+ .long 3053661845
+ .long 1128921654
+ .long 1063184384
+ .long 3073448373
+ .long 1128815287
+ .long 1063379456
+ .long 907090876
+ .long 1128697101
+ .long 1063598336
+ .long 881051555
+ .long 1128590734
+ .long 1063796992
+ .long 898320955
+ .long 1128484367
+ .long 1063997440
+ .long 3068804107
+ .long 1128378000
+ .long 1064199168
+ .long 923531617
+ .long 1128283452
+ .long 1064380416
+ .long 3070994608
+ .long 1128177085
+ .long 1064585472
+ .long 901920533
+ .long 1128082536
+ .long 1064769536
+ .long 3071653428
+ .long 1127976169
+ .long 1064977920
+ .long 903017594
+ .long 1127881621
+ .long 1065164800
+ .long 911713416
+ .long 1127787072
+ .long 1065353216
+ .long 0
+ .long 1065353216
+ .long 0
+ .long 1207959616
+ .long 1174405120
+ .long 1002438656
+ .long 1291845632
+ .long 0
+ .long 1065353216
+ .long 1136175680
+ .long 3212771328
+ .long 3065082383
+ .long 841219731
+ .long 2913632803
+ .long 691870088
+ .long 2765780188
+ .long 545377693
+ .long 2619180638
+ .type __slog2_la_CoutTab,@object
+ .size __slog2_la_CoutTab,848
+ .align 4
+
+.FLT_81:
+ .long 0x4d000000
+ .type .FLT_81,@object
+ .size .FLT_81,4
+ .align 4
+
+.FLT_82:
+ .long 0x3bc00000
+ .type .FLT_82,@object
+ .size .FLT_82,4
+ .align 4
+
+.FLT_83:
+ .long 0x48000040
+ .type .FLT_83,@object
+ .size .FLT_83,4
+ .align 4
+
+.FLT_84:
+ .long 0x46000000
+ .type .FLT_84,@object
+ .size .FLT_84,4
+ .align 4
+
+.FLT_85:
+ .long 0x43b8aa40
+ .type .FLT_85,@object
+ .size .FLT_85,4
+ .align 4
+
+.FLT_86:
+ .long 0xbf7f0000
+ .type .FLT_86,@object
+ .size .FLT_86,4
+ .align 4
+
+.FLT_87:
+ .long 0xb6b1720f
+ .type .FLT_87,@object
+ .size .FLT_87,4
+ .align 4
+
+.FLT_88:
+ .long 0x3223fe93
+ .type .FLT_88,@object
+ .size .FLT_88,4
+ .align 4
+
+.FLT_89:
+ .long 0xadaa8223
+ .type .FLT_89,@object
+ .size .FLT_89,4
+ .align 4
+
+.FLT_90:
+ .long 0x293d1988
+ .type .FLT_90,@object
+ .size .FLT_90,4
+ .align 4
+
+.FLT_91:
+ .long 0xa4da74dc
+ .type .FLT_91,@object
+ .size .FLT_91,4
+ .align 4
+
+.FLT_92:
+ .long 0x2081cd9d
+ .type .FLT_92,@object
+ .size .FLT_92,4
+ .align 4
+
+.FLT_93:
+ .long 0x9c1d865e
+ .type .FLT_93,@object
+ .size .FLT_93,4
+ .align 4
+
+.FLT_94:
+ .long 0xbf800000
+ .type .FLT_94,@object
+ .size .FLT_94,4
+ .align 4
+
+.FLT_95:
+ .long 0x3f800000
+ .type .FLT_95,@object
+ .size .FLT_95,4
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE version of vectorized log2f, 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_log2f _ZGVdN8v_log2f_sse_wrapper
+#include "../svml_s_log2f8_core.S"
new file mode 100644
@@ -0,0 +1,28 @@
+/* Multiple versions of vectorized log2f, 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_log2f
+#include "ifunc-mathvec-avx2.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVdN8v_log2f, __GI__ZGVdN8v_log2f,
+ __redirect__ZGVdN8v_log2f)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,1727 @@
+/* Function logf8 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
+ * log2(x) = k - log2(Rcp) + poly_approximation(R)
+ * log2(Rcp) is tabulated
+ *
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVdN8v_log2f_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 1600+__svml_slog2_data_internal(%rip), %ymm4
+ vmovups %ymm15, 320(%rsp)
+ vmovups %ymm14, 288(%rsp)
+ vmovups %ymm13, 256(%rsp)
+ vmovups %ymm12, 224(%rsp)
+ vmovups %ymm11, 192(%rsp)
+ vmovups %ymm10, 160(%rsp)
+ vmovups %ymm9, 96(%rsp)
+ vmovups %ymm8, 32(%rsp)
+ vpsubd %ymm4, %ymm0, %ymm1
+ vcmplt_oqps 1344+__svml_slog2_data_internal(%rip), %ymm0, %ymm5
+ vcmpnle_uqps 1408+__svml_slog2_data_internal(%rip), %ymm0, %ymm6
+ vpand 1664+__svml_slog2_data_internal(%rip), %ymm1, %ymm3
+ vpsrad $23, %ymm1, %ymm2
+ vmovups 1984+__svml_slog2_data_internal(%rip), %ymm1
+ vpaddd %ymm4, %ymm3, %ymm3
+ vmovups 1856+__svml_slog2_data_internal(%rip), %ymm4
+ vcvtdq2ps %ymm2, %ymm2
+ vorps %ymm6, %ymm5, %ymm7
+
+/* combine and get argument value range mask */
+ vmovmskps %ymm7, %edx
+ vsubps 1728+__svml_slog2_data_internal(%rip), %ymm3, %ymm7
+ vmovups 1792+__svml_slog2_data_internal(%rip), %ymm3
+ vmovups 1920+__svml_slog2_data_internal(%rip), %ymm5
+ vfmadd213ps 1888+__svml_slog2_data_internal(%rip), %ymm7, %ymm4
+ vmulps %ymm7, %ymm7, %ymm6
+ vfmadd213ps 2016+__svml_slog2_data_internal(%rip), %ymm7, %ymm1
+ vfmadd213ps 1824+__svml_slog2_data_internal(%rip), %ymm7, %ymm3
+ vfmadd213ps 1952+__svml_slog2_data_internal(%rip), %ymm7, %ymm5
+ vfmadd213ps %ymm4, %ymm6, %ymm3
+ vfmadd213ps %ymm5, %ymm6, %ymm3
+ vfmadd213ps %ymm1, %ymm6, %ymm3
+ vfmadd213ps 2048+__svml_slog2_data_internal(%rip), %ymm7, %ymm3
+ vfmadd213ps %ymm2, %ymm7, %ymm3
+ testl %edx, %edx
+ jne .LBL_1_3
+ .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
+
+.LBL_1_2:
+ 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)
+ vmovaps %ymm3, %ymm0
+ 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
+
+.LBL_1_3:
+ vmovups %ymm0, 64(%rsp)
+ vmovups %ymm3, 128(%rsp)
+ je .LBL_1_2
+ 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
+
+.LBL_1_7:
+ btl %r12d, %r13d
+ jc .LBL_1_10
+
+.LBL_1_8:
+ incl %r12d
+ cmpl $8, %r12d
+ jl .LBL_1_7
+ 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), %ymm3
+ jmp .LBL_1_2
+ .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
+
+.LBL_1_10:
+ lea 64(%rsp,%r12,4), %rdi
+ lea 128(%rsp,%r12,4), %rsi
+ call __svml_slog2_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVdN8v_log2f_avx2)
+
+ .align 16,0x90
+
+__svml_slog2_cout_rare_internal:
+
+ cfi_startproc
+
+ xorl %eax, %eax
+ movzwl 2(%rdi), %edx
+ andl $32640, %edx
+ cmpl $32640, %edx
+ je .LBL_2_13
+ movss (%rdi), %xmm2
+ xorl %ecx, %ecx
+ pxor %xmm1, %xmm1
+ movss %xmm2, -16(%rsp)
+ ucomiss %xmm1, %xmm2
+ jp .LBL_2_3
+ je .LBL_2_5
+
+.LBL_2_3:
+ movzwl -14(%rsp), %edx
+ testl $32640, %edx
+ jne .LBL_2_5
+ movss .FLT_81(%rip), %xmm0
+ movl $-27, %ecx
+ mulss %xmm0, %xmm2
+ movss %xmm2, -16(%rsp)
+
+.LBL_2_5:
+ comiss %xmm1, %xmm2
+ jbe .LBL_2_9
+ movaps %xmm2, %xmm1
+ subss .FLT_95(%rip), %xmm1
+ movss %xmm1, -20(%rsp)
+ andb $127, -17(%rsp)
+ movss -20(%rsp), %xmm0
+ comiss .FLT_82(%rip), %xmm0
+ jbe .LBL_2_8
+ movzwl -14(%rsp), %edx
+ pxor %xmm8, %xmm8
+ andl $32640, %edx
+ lea __slog2_la_CoutTab(%rip), %r10
+ shrl $7, %edx
+ movss %xmm2, -20(%rsp)
+ movss .FLT_84(%rip), %xmm2
+ movaps %xmm2, %xmm1
+ movss .FLT_93(%rip), %xmm6
+ lea -127(%rcx,%rdx), %r9d
+ movzwl -18(%rsp), %ecx
+ andl $-32641, %ecx
+ addl $16256, %ecx
+ movw %cx, -18(%rsp)
+ movss -20(%rsp), %xmm3
+ movaps %xmm3, %xmm0
+ addss %xmm3, %xmm1
+ addss .FLT_83(%rip), %xmm0
+ cvtsi2ss %r9d, %xmm8
+ movss %xmm0, -24(%rsp)
+ movl -24(%rsp), %edi
+ movss %xmm1, -24(%rsp)
+ andl $127, %edi
+ movss -24(%rsp), %xmm7
+ subss %xmm2, %xmm7
+ lea (%rdi,%rdi,2), %r8d
+ movss (%r10,%r8,4), %xmm5
+ subss %xmm7, %xmm3
+ addss 4(%r10,%r8,4), %xmm8
+ mulss %xmm5, %xmm7
+ mulss %xmm3, %xmm5
+ subss .FLT_85(%rip), %xmm7
+ movaps %xmm7, %xmm4
+ addss %xmm7, %xmm8
+ addss %xmm5, %xmm4
+ mulss %xmm4, %xmm6
+ addss .FLT_92(%rip), %xmm6
+ 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 %xmm4, %xmm6
+ addss .FLT_87(%rip), %xmm6
+ mulss %xmm4, %xmm6
+ addss .FLT_86(%rip), %xmm6
+ mulss %xmm6, %xmm7
+ mulss %xmm5, %xmm6
+ addss 8(%r10,%r8,4), %xmm6
+ addss %xmm5, %xmm6
+ addss %xmm6, %xmm7
+ addss %xmm7, %xmm8
+ movss %xmm8, (%rsi)
+ ret
+
+.LBL_2_8:
+ movss .FLT_85(%rip), %xmm0
+ mulss %xmm0, %xmm1
+ movss .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 .FLT_87(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss .FLT_86(%rip), %xmm2
+ mulss %xmm1, %xmm2
+ addss %xmm1, %xmm2
+ movss %xmm2, (%rsi)
+ ret
+
+.LBL_2_9:
+ ucomiss %xmm1, %xmm2
+ jp .LBL_2_10
+ je .LBL_2_12
+
+.LBL_2_10:
+ divss %xmm1, %xmm1
+ movss %xmm1, (%rsi)
+ movl $1, %eax
+ ret
+
+.LBL_2_12:
+ movss .FLT_94(%rip), %xmm0
+ movl $2, %eax
+ divss %xmm1, %xmm0
+ movss %xmm0, (%rsi)
+ ret
+
+.LBL_2_13:
+ movb 3(%rdi), %dl
+ andb $-128, %dl
+ cmpb $-128, %dl
+ je .LBL_2_15
+
+.LBL_2_14:
+ movss (%rdi), %xmm0
+ mulss %xmm0, %xmm0
+ movss %xmm0, (%rsi)
+ ret
+
+.LBL_2_15:
+ testl $8388607, (%rdi)
+ jne .LBL_2_14
+ movl $1, %eax
+ pxor %xmm1, %xmm1
+ pxor %xmm0, %xmm0
+ divss %xmm0, %xmm1
+ movss %xmm1, (%rsi)
+ ret
+
+ cfi_endproc
+
+ .type __svml_slog2_cout_rare_internal,@function
+ .size __svml_slog2_cout_rare_internal,.-__svml_slog2_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_slog2_data_internal:
+ .long 3271294976
+ .long 0
+ .long 3271296000
+ .long 3068856281
+ .long 3271297024
+ .long 938219729
+ .long 3271298032
+ .long 3079617137
+ .long 3271299040
+ .long 3081795326
+ .long 3271300048
+ .long 931444511
+ .long 3271301040
+ .long 3086175556
+ .long 3271302040
+ .long 937684290
+ .long 3271303024
+ .long 895273824
+ .long 3271304008
+ .long 929322840
+ .long 3271304984
+ .long 914973210
+ .long 3271305952
+ .long 3085691485
+ .long 3271306920
+ .long 3082544936
+ .long 3271307888
+ .long 934225115
+ .long 3271308840
+ .long 3081631497
+ .long 3271309792
+ .long 3084279599
+ .long 3271310744
+ .long 919294098
+ .long 3271311688
+ .long 928328979
+ .long 3271312624
+ .long 3066585895
+ .long 3271313560
+ .long 926130568
+ .long 3271314488
+ .long 901156711
+ .long 3271315416
+ .long 937414789
+ .long 3271316336
+ .long 936653537
+ .long 3271317248
+ .long 3058814943
+ .long 3271318160
+ .long 906908118
+ .long 3271319064
+ .long 3081401871
+ .long 3271319968
+ .long 3072543999
+ .long 3271320864
+ .long 3085330685
+ .long 3271321760
+ .long 3075910590
+ .long 3271322648
+ .long 3085106206
+ .long 3271323536
+ .long 3072312054
+ .long 3271324416
+ .long 3082060466
+ .long 3271325296
+ .long 3055197447
+ .long 3271326168
+ .long 3076357858
+ .long 3271327040
+ .long 920345845
+ .long 3271327904
+ .long 3063129936
+ .long 3271328768
+ .long 930567858
+ .long 3271329624
+ .long 909272754
+ .long 3271330480
+ .long 933804198
+ .long 3271331328
+ .long 918737494
+ .long 3271332176
+ .long 934022681
+ .long 3271333016
+ .long 910479685
+ .long 3271333856
+ .long 929589825
+ .long 3271334688
+ .long 3070655175
+ .long 3271335520
+ .long 3053267575
+ .long 3271336344
+ .long 3086194926
+ .long 3271337168
+ .long 3085997978
+ .long 3271337992
+ .long 3045913777
+ .long 3271338808
+ .long 3069765616
+ .long 3271339624
+ .long 928672192
+ .long 3271340432
+ .long 3045522449
+ .long 3271341240
+ .long 926802639
+ .long 3271342040
+ .long 3074232411
+ .long 3271342840
+ .long 3070586333
+ .long 3271343640
+ .long 934318260
+ .long 3271344432
+ .long 930283614
+ .long 3271345216
+ .long 3085545791
+ .long 3271346008
+ .long 931477852
+ .long 3271346792
+ .long 935625357
+ .long 3271347568
+ .long 3065394803
+ .long 3271348344
+ .long 3072676686
+ .long 3271349120
+ .long 925303420
+ .long 3271349888
+ .long 3069367164
+ .long 3271350656
+ .long 3038632180
+ .long 3271351424
+ .long 939079119
+ .long 3271352184
+ .long 935075887
+ .long 3271352936
+ .long 3082666870
+ .long 3271353696
+ .long 931789803
+ .long 3271354448
+ .long 932303901
+ .long 3271355192
+ .long 3081224294
+ .long 3271355944
+ .long 937147770
+ .long 3271356680
+ .long 3085250212
+ .long 3271357424
+ .long 908073671
+ .long 3271358896
+ .long 918282152
+ .long 3271360352
+ .long 3084832095
+ .long 3271361808
+ .long 937397780
+ .long 3271363240
+ .long 3080772107
+ .long 3271364672
+ .long 932533526
+ .long 3271366088
+ .long 930047759
+ .long 3271367496
+ .long 939267269
+ .long 3271368888
+ .long 910438307
+ .long 3271370272
+ .long 3069366057
+ .long 3271371648
+ .long 3050426335
+ .long 3271373016
+ .long 933100185
+ .long 3271374368
+ .long 3070825219
+ .long 3271375712
+ .long 3082654716
+ .long 3271377048
+ .long 3084246816
+ .long 3271378376
+ .long 3080058411
+ .long 3271379696
+ .long 3041317981
+ .long 3271381008
+ .long 936455786
+ .long 3271382304
+ .long 3057542833
+ .long 3271383592
+ .long 3083404326
+ .long 3271384880
+ .long 934663588
+ .long 3271386152
+ .long 926575359
+ .long 3271387416
+ .long 915856538
+ .long 3271388672
+ .long 897695912
+ .long 3271389920
+ .long 3031263839
+ .long 3271391160
+ .long 3025798075
+ .long 3271392392
+ .long 889828954
+ .long 3271393616
+ .long 898229073
+ .long 3271394832
+ .long 890611612
+ .long 3271396040
+ .long 3051312165
+ .long 3271397240
+ .long 3067504579
+ .long 3271398432
+ .long 3077629370
+ .long 3271399616
+ .long 3084686401
+ .long 3271400800
+ .long 932711104
+ .long 3271401968
+ .long 3061957243
+ .long 3271403136
+ .long 938752650
+ .long 3271404288
+ .long 3065929605
+ .long 3271405440
+ .long 928849078
+ .long 3271406584
+ .long 935935277
+ .long 3271407720
+ .long 937106840
+ .long 3271408848
+ .long 933163291
+ .long 3271409968
+ .long 905515466
+ .long 3271411080
+ .long 3084390822
+ .long 3271412192
+ .long 3060235563
+ .long 3271413296
+ .long 921719712
+ .long 3271414392
+ .long 918076967
+ .long 3271415480
+ .long 3071716852
+ .long 3271416568
+ .long 936042212
+ .long 3271417640
+ .long 3079912717
+ .long 3271418712
+ .long 3075951191
+ .long 3271419776
+ .long 3082895478
+ .long 3271420840
+ .long 927873550
+ .long 3271421888
+ .long 3086405181
+ .long 3271422936
+ .long 3084857775
+ .long 3271423984
+ .long 933876987
+ .long 3271425016
+ .long 3074395466
+ .long 3271426048
+ .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 1042663530
+ .long 1042663530
+ .long 1042663530
+ .long 1042663530
+ .long 1042663530
+ .long 1042663530
+ .long 1042663530
+ .long 1042663530
+ .long 3199384460
+ .long 3199384460
+ .long 3199384460
+ .long 3199384460
+ .long 3199384460
+ .long 3199384460
+ .long 3199384460
+ .long 3199384460
+ .long 996988896
+ .long 996988896
+ .long 996988896
+ .long 996988896
+ .long 996988896
+ .long 996988896
+ .long 996988896
+ .long 996988896
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1006632960
+ .long 1006632960
+ .long 1006632960
+ .long 1006632960
+ .long 1006632960
+ .long 1006632960
+ .long 1006632960
+ .long 1006632960
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1069023232
+ .long 1069023232
+ .long 1069023232
+ .long 1069023232
+ .long 1069023232
+ .long 1069023232
+ .long 1069023232
+ .long 1069023232
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1045774354
+ .long 1045774354
+ .long 1045774354
+ .long 1045774354
+ .long 1045774354
+ .long 1045774354
+ .long 1045774354
+ .long 1045774354
+ .long 3194195476
+ .long 3194195476
+ .long 3194195476
+ .long 3194195476
+ .long 3194195476
+ .long 3194195476
+ .long 3194195476
+ .long 3194195476
+ .long 1045259787
+ .long 1045259787
+ .long 1045259787
+ .long 1045259787
+ .long 1045259787
+ .long 1045259787
+ .long 1045259787
+ .long 1045259787
+ .long 3195172900
+ .long 3195172900
+ .long 3195172900
+ .long 3195172900
+ .long 3195172900
+ .long 3195172900
+ .long 3195172900
+ .long 3195172900
+ .long 1049877767
+ .long 1049877767
+ .long 1049877767
+ .long 1049877767
+ .long 1049877767
+ .long 1049877767
+ .long 1049877767
+ .long 1049877767
+ .long 3199777129
+ .long 3199777129
+ .long 3199777129
+ .long 3199777129
+ .long 3199777129
+ .long 3199777129
+ .long 3199777129
+ .long 3199777129
+ .long 1056323520
+ .long 1056323520
+ .long 1056323520
+ .long 1056323520
+ .long 1056323520
+ .long 1056323520
+ .long 1056323520
+ .long 1056323520
+ .long 3208161835
+ .long 3208161835
+ .long 3208161835
+ .long 3208161835
+ .long 3208161835
+ .long 3208161835
+ .long 3208161835
+ .long 3208161835
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1051385883
+ .long 1051385883
+ .long 1051385883
+ .long 1051385883
+ .long 1051385883
+ .long 1051385883
+ .long 1051385883
+ .long 1051385883
+ .long 3201001580
+ .long 3201001580
+ .long 3201001580
+ .long 3201001580
+ .long 3201001580
+ .long 3201001580
+ .long 3201001580
+ .long 3201001580
+ .long 1056242241
+ .long 1056242241
+ .long 1056242241
+ .long 1056242241
+ .long 1056242241
+ .long 1056242241
+ .long 1056242241
+ .long 1056242241
+ .long 3208144266
+ .long 3208144266
+ .long 3208144266
+ .long 3208144266
+ .long 3208144266
+ .long 3208144266
+ .long 3208144266
+ .long 3208144266
+ .long 1069066989
+ .long 1069066989
+ .long 1069066989
+ .long 1069066989
+ .long 1069066989
+ .long 1069066989
+ .long 1069066989
+ .long 1069066989
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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_slog2_data_internal,@object
+ .size __svml_slog2_data_internal,2496
+ .align 32
+
+__slog2_la_CoutTab:
+ .long 1136175680
+ .long 0
+ .long 0
+ .long 1135986583
+ .long 1018822656
+ .long 930849160
+ .long 1135809305
+ .long 1026916352
+ .long 941737263
+ .long 1135632026
+ .long 1032306688
+ .long 936581683
+ .long 1135466566
+ .long 1035100160
+ .long 929197062
+ .long 1135301106
+ .long 1037934592
+ .long 897678483
+ .long 1135135647
+ .long 1040498688
+ .long 3059980496
+ .long 1134982005
+ .long 1041852416
+ .long 908010313
+ .long 1134828364
+ .long 1043226624
+ .long 3073739761
+ .long 1134686541
+ .long 1044510720
+ .long 918631281
+ .long 1134538809
+ .long 1045868544
+ .long 3062817788
+ .long 1134402896
+ .long 1047134208
+ .long 3064656237
+ .long 1134266982
+ .long 1048416256
+ .long 3029590737
+ .long 1134131069
+ .long 1049145856
+ .long 903671587
+ .long 1134001065
+ .long 1049775616
+ .long 911388989
+ .long 1133876970
+ .long 1050384896
+ .long 3069885983
+ .long 1133752875
+ .long 1051001344
+ .long 3037530952
+ .long 1133634689
+ .long 1051596288
+ .long 3069922038
+ .long 1133516503
+ .long 1052198400
+ .long 3070222063
+ .long 1133404227
+ .long 1052776960
+ .long 919559368
+ .long 1133291951
+ .long 1053363200
+ .long 840060372
+ .long 1133185584
+ .long 1053924864
+ .long 915603033
+ .long 1133079217
+ .long 1054493184
+ .long 921334924
+ .long 1132978759
+ .long 1055036416
+ .long 896601826
+ .long 1132872392
+ .long 1055618048
+ .long 908913293
+ .long 1132777843
+ .long 1056141312
+ .long 3065728751
+ .long 1132677386
+ .long 1056702976
+ .long 909020429
+ .long 1132582837
+ .long 1057101312
+ .long 3048020321
+ .long 1132494198
+ .long 1057354752
+ .long 3038815896
+ .long 1132337219
+ .long 1057628160
+ .long 3068137421
+ .long 1132159940
+ .long 1057887232
+ .long 3069993595
+ .long 1131994480
+ .long 1058131456
+ .long 3054354312
+ .long 1131817202
+ .long 1058395904
+ .long 910223436
+ .long 1131651742
+ .long 1058645504
+ .long 3046952660
+ .long 1131486282
+ .long 1058897664
+ .long 3057670844
+ .long 1131332641
+ .long 1059133952
+ .long 924929721
+ .long 1131178999
+ .long 1059373056
+ .long 3068093797
+ .long 1131025358
+ .long 1059614208
+ .long 3058851683
+ .long 1130871717
+ .long 1059857920
+ .long 3069897752
+ .long 1130729894
+ .long 1060084736
+ .long 924446297
+ .long 1130576253
+ .long 1060333312
+ .long 903058075
+ .long 1130434430
+ .long 1060564992
+ .long 3052757441
+ .long 1130304426
+ .long 1060779264
+ .long 3045479197
+ .long 1130162603
+ .long 1061015040
+ .long 924699798
+ .long 1130032599
+ .long 1061233664
+ .long 3070937808
+ .long 1129890776
+ .long 1061473792
+ .long 925912756
+ .long 1129772591
+ .long 1061676032
+ .long 923952205
+ .long 1129642586
+ .long 1061900544
+ .long 906547304
+ .long 1129512582
+ .long 1062127104
+ .long 3050351427
+ .long 1129394397
+ .long 1062334976
+ .long 3070601694
+ .long 1129276211
+ .long 1062544384
+ .long 900519722
+ .long 1129158025
+ .long 1062755840
+ .long 3055774932
+ .long 1129039840
+ .long 1062969088
+ .long 3053661845
+ .long 1128921654
+ .long 1063184384
+ .long 3073448373
+ .long 1128815287
+ .long 1063379456
+ .long 907090876
+ .long 1128697101
+ .long 1063598336
+ .long 881051555
+ .long 1128590734
+ .long 1063796992
+ .long 898320955
+ .long 1128484367
+ .long 1063997440
+ .long 3068804107
+ .long 1128378000
+ .long 1064199168
+ .long 923531617
+ .long 1128283452
+ .long 1064380416
+ .long 3070994608
+ .long 1128177085
+ .long 1064585472
+ .long 901920533
+ .long 1128082536
+ .long 1064769536
+ .long 3071653428
+ .long 1127976169
+ .long 1064977920
+ .long 903017594
+ .long 1127881621
+ .long 1065164800
+ .long 911713416
+ .long 1127787072
+ .long 1065353216
+ .long 0
+ .long 1065353216
+ .long 0
+ .long 1207959616
+ .long 1174405120
+ .long 1002438656
+ .long 1291845632
+ .long 0
+ .long 1065353216
+ .long 1136175680
+ .long 3212771328
+ .long 3065082383
+ .long 841219731
+ .long 2913632803
+ .long 691870088
+ .long 2765780188
+ .long 545377693
+ .long 2619180638
+ .type __slog2_la_CoutTab,@object
+ .size __slog2_la_CoutTab,848
+ .align 4
+
+.FLT_81:
+ .long 0x4d000000
+ .type .FLT_81,@object
+ .size .FLT_81,4
+ .align 4
+
+.FLT_82:
+ .long 0x3bc00000
+ .type .FLT_82,@object
+ .size .FLT_82,4
+ .align 4
+
+.FLT_83:
+ .long 0x48000040
+ .type .FLT_83,@object
+ .size .FLT_83,4
+ .align 4
+
+.FLT_84:
+ .long 0x46000000
+ .type .FLT_84,@object
+ .size .FLT_84,4
+ .align 4
+
+.FLT_85:
+ .long 0x43b8aa40
+ .type .FLT_85,@object
+ .size .FLT_85,4
+ .align 4
+
+.FLT_86:
+ .long 0xbf7f0000
+ .type .FLT_86,@object
+ .size .FLT_86,4
+ .align 4
+
+.FLT_87:
+ .long 0xb6b1720f
+ .type .FLT_87,@object
+ .size .FLT_87,4
+ .align 4
+
+.FLT_88:
+ .long 0x3223fe93
+ .type .FLT_88,@object
+ .size .FLT_88,4
+ .align 4
+
+.FLT_89:
+ .long 0xadaa8223
+ .type .FLT_89,@object
+ .size .FLT_89,4
+ .align 4
+
+.FLT_90:
+ .long 0x293d1988
+ .type .FLT_90,@object
+ .size .FLT_90,4
+ .align 4
+
+.FLT_91:
+ .long 0xa4da74dc
+ .type .FLT_91,@object
+ .size .FLT_91,4
+ .align 4
+
+.FLT_92:
+ .long 0x2081cd9d
+ .type .FLT_92,@object
+ .size .FLT_92,4
+ .align 4
+
+.FLT_93:
+ .long 0x9c1d865e
+ .type .FLT_93,@object
+ .size .FLT_93,4
+ .align 4
+
+.FLT_94:
+ .long 0xbf800000
+ .type .FLT_94,@object
+ .size .FLT_94,4
+ .align 4
+
+.FLT_95:
+ .long 0x3f800000
+ .type .FLT_95,@object
+ .size .FLT_95,4
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function log2 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_log2)
+WRAPPER_IMPL_SSE2 log2
+END (_ZGVbN2v_log2)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVbN2v_log2)
+#endif
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function log2 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_log2)
+WRAPPER_IMPL_AVX _ZGVbN2v_log2
+END (_ZGVdN4v_log2)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVdN4v_log2)
+#endif
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function log2 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_log2)
+WRAPPER_IMPL_AVX _ZGVbN2v_log2
+END (_ZGVcN4v_log2)
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function log2 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_log2)
+WRAPPER_IMPL_AVX512 _ZGVdN4v_log2
+END (_ZGVeN8v_log2)
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function log2f 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_log2f)
+WRAPPER_IMPL_AVX512 _ZGVdN8v_log2f
+END (_ZGVeN16v_log2f)
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function log2f 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_log2f)
+WRAPPER_IMPL_SSE2 log2f
+END (_ZGVbN4v_log2f)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVbN4v_log2f)
+#endif
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function log2f 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_log2f)
+WRAPPER_IMPL_AVX _ZGVbN4v_log2f
+END (_ZGVdN8v_log2f)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVdN8v_log2f)
+#endif
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function log2f 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_log2f)
+WRAPPER_IMPL_AVX _ZGVbN4v_log2f
+END (_ZGVcN8v_log2f)
new file mode 100644
@@ -0,0 +1 @@
+#include "test-double-libmvec-log2.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-double-libmvec-log2.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-double-libmvec-log2.c"
new file mode 100644
@@ -0,0 +1,3 @@
+#define LIBMVEC_TYPE double
+#define LIBMVEC_FUNC log2
+#include "test-vector-abi-arg1.h"
@@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVbN2v_expm1)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVbN2vv_hypot)
VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVbN2v_log10)
VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVbN2v_log1p)
+VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVbN2v_log2)
#define VEC_INT_TYPE __m128i
@@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVdN4v_expm1)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVdN4vv_hypot)
VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVdN4v_log10)
VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVdN4v_log1p)
+VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVdN4v_log2)
#ifndef __ILP32__
# define VEC_INT_TYPE __m256i
@@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVcN4v_expm1)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVcN4vv_hypot)
VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVcN4v_log10)
VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVcN4v_log1p)
+VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVcN4v_log2)
#define VEC_INT_TYPE __m128i
@@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVeN8v_expm1)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVeN8vv_hypot)
VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVeN8v_log10)
VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVeN8v_log1p)
+VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVeN8v_log2)
#ifndef __ILP32__
# define VEC_INT_TYPE __m512i
new file mode 100644
@@ -0,0 +1 @@
+#include "test-float-libmvec-log2f.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-float-libmvec-log2f.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-float-libmvec-log2f.c"
new file mode 100644
@@ -0,0 +1,3 @@
+#define LIBMVEC_TYPE float
+#define LIBMVEC_FUNC log2f
+#include "test-vector-abi-arg1.h"
@@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVeN16v_expm1f)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVeN16vv_hypotf)
VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVeN16v_log10f)
VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVeN16v_log1pf)
+VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVeN16v_log2f)
#define VEC_INT_TYPE __m512i
@@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVbN4v_expm1f)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVbN4vv_hypotf)
VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVbN4v_log10f)
VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVbN4v_log1pf)
+VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVbN4v_log2f)
#define VEC_INT_TYPE __m128i
@@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVdN8v_expm1f)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVdN8vv_hypotf)
VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVdN8v_log10f)
VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVdN8v_log1pf)
+VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVdN8v_log2f)
/* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */
#undef VECTOR_WRAPPER_fFF
@@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVcN8v_expm1f)
VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVcN8vv_hypotf)
VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVcN8v_log10f)
VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVcN8v_log1pf)
+VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVcN8v_log2f)
#define VEC_INT_TYPE __m128i