@@ -296,4 +296,15 @@
#define __DECL_SIMD_log2f32x
#define __DECL_SIMD_log2f64x
#define __DECL_SIMD_log2f128x
+
+#define __DECL_SIMD_sinh
+#define __DECL_SIMD_sinhf
+#define __DECL_SIMD_sinhl
+#define __DECL_SIMD_sinhf16
+#define __DECL_SIMD_sinhf32
+#define __DECL_SIMD_sinhf64
+#define __DECL_SIMD_sinhf128
+#define __DECL_SIMD_sinhf32x
+#define __DECL_SIMD_sinhf64x
+#define __DECL_SIMD_sinhf128x
#endif
@@ -70,7 +70,7 @@ __MATHCALL (tan,, (_Mdouble_ __x));
/* Hyperbolic cosine of X. */
__MATHCALL_VEC (cosh,, (_Mdouble_ __x));
/* Hyperbolic sine of X. */
-__MATHCALL (sinh,, (_Mdouble_ __x));
+__MATHCALL_VEC (sinh,, (_Mdouble_ __x));
/* Hyperbolic tangent of X. */
__MATHCALL (tanh,, (_Mdouble_ __x));
@@ -62,6 +62,7 @@ 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 _ZGVbN2v_sinh F
GLIBC_2.35 _ZGVbN2vv_atan2 F
GLIBC_2.35 _ZGVbN2vv_hypot F
GLIBC_2.35 _ZGVbN4v_acosf F
@@ -80,6 +81,7 @@ 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 _ZGVbN4v_sinhf F
GLIBC_2.35 _ZGVbN4vv_atan2f F
GLIBC_2.35 _ZGVbN4vv_hypotf F
GLIBC_2.35 _ZGVcN4v_acos F
@@ -98,6 +100,7 @@ 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 _ZGVcN4v_sinh F
GLIBC_2.35 _ZGVcN4vv_atan2 F
GLIBC_2.35 _ZGVcN4vv_hypot F
GLIBC_2.35 _ZGVcN8v_acosf F
@@ -116,6 +119,7 @@ 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 _ZGVcN8v_sinhf F
GLIBC_2.35 _ZGVcN8vv_atan2f F
GLIBC_2.35 _ZGVcN8vv_hypotf F
GLIBC_2.35 _ZGVdN4v_acos F
@@ -134,6 +138,7 @@ 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 _ZGVdN4v_sinh F
GLIBC_2.35 _ZGVdN4vv_atan2 F
GLIBC_2.35 _ZGVdN4vv_hypot F
GLIBC_2.35 _ZGVdN8v_acosf F
@@ -152,6 +157,7 @@ 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 _ZGVdN8v_sinhf F
GLIBC_2.35 _ZGVdN8vv_atan2f F
GLIBC_2.35 _ZGVdN8vv_hypotf F
GLIBC_2.35 _ZGVeN16v_acosf F
@@ -170,6 +176,7 @@ 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 _ZGVeN16v_sinhf F
GLIBC_2.35 _ZGVeN16vv_atan2f F
GLIBC_2.35 _ZGVeN16vv_hypotf F
GLIBC_2.35 _ZGVeN8v_acos F
@@ -188,5 +195,6 @@ 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 _ZGVeN8v_sinh F
GLIBC_2.35 _ZGVeN8vv_atan2 F
GLIBC_2.35 _ZGVeN8vv_hypot F
@@ -130,6 +130,10 @@
# define __DECL_SIMD_log2 __DECL_SIMD_x86_64
# undef __DECL_SIMD_log2f
# define __DECL_SIMD_log2f __DECL_SIMD_x86_64
+# undef __DECL_SIMD_sinh
+# define __DECL_SIMD_sinh __DECL_SIMD_x86_64
+# undef __DECL_SIMD_sinhf
+# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64
# endif
#endif
@@ -46,6 +46,7 @@ libmvec-funcs = \
pow \
sin \
sincos \
+ sinh \
# Define libmvec function for benchtests directory.
libmvec-bench-funcs = \
@@ -30,6 +30,7 @@ libmvec {
_ZGVbN2v_log10; _ZGVcN4v_log10; _ZGVdN4v_log10; _ZGVeN8v_log10;
_ZGVbN2v_log1p; _ZGVcN4v_log1p; _ZGVdN4v_log1p; _ZGVeN8v_log1p;
_ZGVbN2v_log2; _ZGVcN4v_log2; _ZGVdN4v_log2; _ZGVeN8v_log2;
+ _ZGVbN2v_sinh; _ZGVcN4v_sinh; _ZGVdN4v_sinh; _ZGVeN8v_sinh;
_ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2;
_ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot;
_ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf;
@@ -48,6 +49,7 @@ libmvec {
_ZGVbN4v_log10f; _ZGVcN8v_log10f; _ZGVdN8v_log10f; _ZGVeN16v_log10f;
_ZGVbN4v_log1pf; _ZGVcN8v_log1pf; _ZGVdN8v_log1pf; _ZGVeN16v_log1pf;
_ZGVbN4v_log2f; _ZGVcN8v_log2f; _ZGVdN8v_log2f; _ZGVeN16v_log2f;
+ _ZGVbN4v_sinhf; _ZGVcN8v_sinhf; _ZGVdN8v_sinhf; _ZGVeN16v_sinhf;
_ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f;
_ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf;
}
@@ -2037,6 +2037,26 @@ float: 3
float128: 4
ldouble: 5
+Function: "sinh_vlen16":
+float: 1
+
+Function: "sinh_vlen2":
+double: 1
+
+Function: "sinh_vlen4":
+double: 1
+float: 1
+
+Function: "sinh_vlen4_avx2":
+double: 1
+
+Function: "sinh_vlen8":
+double: 1
+float: 1
+
+Function: "sinh_vlen8_avx2":
+float: 1
+
Function: "tan":
float: 1
float128: 1
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE2 version of vectorized sinh, 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_sinh _ZGVbN2v_sinh_sse2
+#include "../svml_d_sinh2_core.S"
new file mode 100644
@@ -0,0 +1,27 @@
+/* Multiple versions of vectorized sinh, 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_sinh
+#include "ifunc-mathvec-sse4_1.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVbN2v_sinh, __GI__ZGVbN2v_sinh, __redirect__ZGVbN2v_sinh)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,3028 @@
+/* Function sinh 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:
+ *
+ * Compute sinh(x) as (exp(x)-exp(-x))/2,
+ * where exp is calculated as
+ * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r)
+ *
+ * Special cases:
+ *
+ * sinh(NaN) = quiet NaN, and raise invalid exception
+ * sinh(INF) = that INF
+ * sinh(x) = x for subnormals
+ * sinh(x) overflows for big x and returns MAXLOG+log(2)
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVbN2v_sinh_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, %xmm3
+
+/* Abs argument */
+ movups 1408+__svml_dsinh_data_internal(%rip), %xmm0
+ lea 1608+__svml_dsinh_data_internal(%rip), %r8
+ andps %xmm3, %xmm0
+ movaps %xmm0, %xmm4
+
+/*
+ * Load argument
+ * dM = x*2^K/log(2) + RShifter
+ */
+ movups 1216+__svml_dsinh_data_internal(%rip), %xmm1
+ pxor %xmm3, %xmm4
+ mulpd %xmm4, %xmm1
+ movups %xmm15, 144(%rsp)
+ .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+ movups 3648+__svml_dsinh_data_internal(%rip), %xmm15
+ addpd %xmm15, %xmm1
+
+/*
+ * R
+ * dN = dM - RShifter
+ */
+ movaps %xmm1, %xmm2
+ subpd %xmm15, %xmm2
+
+/* VLOAD_CONST( D, dPC[0], TAB._dPC1 ); */
+ movq 3712+__svml_dsinh_data_internal(%rip), %xmm6
+
+/*
+ * Check for overflow\underflow
+ *
+ */
+ pshufd $221, %xmm4, %xmm5
+ pcmpgtd %xmm6, %xmm5
+
+/* dR = dX - dN*Log2_hi/2^K */
+ movups 1280+__svml_dsinh_data_internal(%rip), %xmm6
+ mulpd %xmm2, %xmm6
+ movmskps %xmm5, %edx
+
+/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */
+ movups 1344+__svml_dsinh_data_internal(%rip), %xmm15
+
+/*
+ * Index and lookup
+ * j
+ */
+ movups 4224+__svml_dsinh_data_internal(%rip), %xmm7
+ mulpd %xmm2, %xmm15
+ subpd %xmm6, %xmm4
+ subpd %xmm15, %xmm4
+
+/* dR2 = dR^2 */
+ movaps %xmm4, %xmm2
+ andps %xmm1, %xmm7
+ mulpd %xmm4, %xmm2
+ movd %xmm7, %eax
+
+/* split j and N */
+ pxor %xmm7, %xmm1
+
+/*
+ * G1,G2,G3: dTdif,dTn * 2^N,2^(-N)
+ * lM now is an EXP(2^N)
+ */
+ psllq $45, %xmm1
+ pextrw $4, %xmm7, %ecx
+ shll $4, %eax
+
+/* */
+ movaps %xmm1, %xmm15
+ shll $4, %ecx
+ movq (%rax,%r8), %xmm5
+ movq -8(%rax,%r8), %xmm6
+ movhpd (%rcx,%r8), %xmm5
+ movhpd -8(%rcx,%r8), %xmm6
+ paddq %xmm1, %xmm6
+ paddq %xmm5, %xmm15
+
+/* */
+ psubq %xmm1, %xmm5
+
+/*
+ * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) ....
+ * dSinh_r = (a3+r^2*a5)
+ */
+ movups 4032+__svml_dsinh_data_internal(%rip), %xmm1
+
+/* dG3 = dTn*2^N + dTn*2^-N */
+ movdqa %xmm15, %xmm7
+ mulpd %xmm2, %xmm1
+ addpd %xmm5, %xmm7
+ addpd 3904+__svml_dsinh_data_internal(%rip), %xmm1
+
+/* dG2 = dTn*2^N - dTn*2^-N */
+ subpd %xmm5, %xmm15
+
+/* dSinh_r = r^2*(a3+r^2*a5) */
+ mulpd %xmm2, %xmm1
+
+/* dG2 += dG1 */
+ addpd %xmm6, %xmm15
+
+/* dG1 += dG3 */
+ addpd %xmm7, %xmm6
+
+/* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */
+ mulpd %xmm4, %xmm1
+
+/*
+ * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2)
+ * dOut = (a2 +a4*dR2)
+ */
+ movups 3968+__svml_dsinh_data_internal(%rip), %xmm5
+ mulpd %xmm2, %xmm5
+ addpd %xmm1, %xmm4
+ addpd 3840+__svml_dsinh_data_internal(%rip), %xmm5
+
+/* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */
+ mulpd %xmm6, %xmm4
+
+/* dOut = dR2*(a2 +a4*dR2) */
+ mulpd %xmm5, %xmm2
+
+/* dOut = dG2*dR2*(a2 +a4*dR2) */
+ mulpd %xmm15, %xmm2
+ addpd %xmm4, %xmm2
+
+/* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */
+ addpd %xmm2, %xmm15
+
+/* Ret H */
+ orps %xmm15, %xmm0
+ andl $3, %edx
+ jne .LBL_1_3
+
+.LBL_1_2:
+ movups 144(%rsp), %xmm15
+ cfi_restore(32)
+ 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, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_3:
+ movups %xmm3, 192(%rsp)
+ movups %xmm0, 256(%rsp)
+ je .LBL_1_2
+ xorl %eax, %eax
+ movups %xmm8, 96(%rsp)
+ movups %xmm9, 80(%rsp)
+ movups %xmm10, 64(%rsp)
+ movups %xmm11, 48(%rsp)
+ movups %xmm12, 32(%rsp)
+ movups %xmm13, 16(%rsp)
+ movups %xmm14, (%rsp)
+ movq %rsi, 120(%rsp)
+ movq %rdi, 112(%rsp)
+ movq %r12, 136(%rsp)
+ .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
+ movl %eax, %r12d
+ movq %r13, 128(%rsp)
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 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 96(%rsp), %xmm8
+ cfi_restore(25)
+ movups 80(%rsp), %xmm9
+ cfi_restore(26)
+ movups 64(%rsp), %xmm10
+ cfi_restore(27)
+ movups 48(%rsp), %xmm11
+ cfi_restore(28)
+ movups 32(%rsp), %xmm12
+ cfi_restore(29)
+ movups 16(%rsp), %xmm13
+ cfi_restore(30)
+ movups (%rsp), %xmm14
+ cfi_restore(31)
+ movq 120(%rsp), %rsi
+ cfi_restore(4)
+ movq 112(%rsp), %rdi
+ cfi_restore(5)
+ movq 136(%rsp), %r12
+ cfi_restore(12)
+ movq 128(%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, 0x38, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
+ .cfi_escape 0x10, 0x1f, 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_dsinh_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVbN2v_sinh_sse4)
+
+ .align 16,0x90
+
+__svml_dsinh_cout_rare_internal:
+
+ cfi_startproc
+
+ movq %rsi, %r9
+ movzwl 6(%rdi), %ecx
+ xorl %eax, %eax
+ andl $32752, %ecx
+ shrl $4, %ecx
+ movsd (%rdi), %xmm2
+ movb 7(%rdi), %dl
+ movsd %xmm2, -8(%rsp)
+ cmpl $2047, %ecx
+ je .LBL_2_17
+ testl %ecx, %ecx
+ jle .LBL_2_16
+ andb $127, %dl
+ movsd %xmm2, -32(%rsp)
+ movb %dl, -25(%rsp)
+ cmpl $969, %ecx
+ jle .LBL_2_14
+ movsd -32(%rsp), %xmm0
+ movsd 1136+__dsinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_13
+ movsd 1184+__dsinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_9
+ comisd 1176+__dsinh_la_CoutTab(%rip), %xmm0
+ jb .LBL_2_8
+ movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1
+ lea __dsinh_la_CoutTab(%rip), %rcx
+ mulsd %xmm0, %xmm1
+ movsd 1144+__dsinh_la_CoutTab(%rip), %xmm4
+ movq 8+__dsinh_la_CoutTab(%rip), %r10
+ movq %r10, %rsi
+ shrq $48, %rsi
+ addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -40(%rsp)
+ andl $-32753, %esi
+ movsd -40(%rsp), %xmm10
+ movl -40(%rsp), %r8d
+ movl %r8d, %r11d
+ shrl $6, %r11d
+ andl $63, %r8d
+ movq %r10, -16(%rsp)
+ subsd 1120+__dsinh_la_CoutTab(%rip), %xmm10
+ mulsd %xmm10, %xmm4
+ lea 1023(%r11), %edi
+ xorps .FLT_98(%rip), %xmm10
+ addl $1022, %r11d
+ mulsd 1152+__dsinh_la_CoutTab(%rip), %xmm10
+ subsd %xmm4, %xmm0
+ movaps %xmm10, %xmm2
+ movaps %xmm0, %xmm8
+ andl $2047, %r11d
+ lea (%r8,%r8), %edx
+ negl %edi
+ lea 1(%r8,%r8), %r8d
+ movsd (%rcx,%rdx,8), %xmm9
+ negl %edx
+ shll $4, %r11d
+ addl $-4, %edi
+ orl %r11d, %esi
+ andl $2047, %edi
+ movw %si, -10(%rsp)
+ andl $-32753, %esi
+ shll $4, %edi
+ addsd %xmm0, %xmm2
+ movsd %xmm2, -24(%rsp)
+ orl %edi, %esi
+ movsd -24(%rsp), %xmm6
+ movsd 1128+__dsinh_la_CoutTab(%rip), %xmm2
+ subsd %xmm6, %xmm8
+ movsd %xmm8, -56(%rsp)
+ movsd -24(%rsp), %xmm12
+ movsd -56(%rsp), %xmm11
+ movsd (%rcx,%r8,8), %xmm7
+ addsd %xmm11, %xmm12
+ movsd %xmm12, -48(%rsp)
+ movsd -56(%rsp), %xmm5
+ addsd %xmm5, %xmm10
+ movsd -16(%rsp), %xmm5
+ mulsd %xmm5, %xmm9
+ mulsd %xmm5, %xmm7
+ movsd %xmm10, -56(%rsp)
+ movaps %xmm9, %xmm10
+ movsd -48(%rsp), %xmm13
+ movw %si, -10(%rsp)
+ lea 128(%rdx), %esi
+ movsd -16(%rsp), %xmm14
+ addl $129, %edx
+ subsd %xmm13, %xmm0
+ movsd %xmm0, -48(%rsp)
+ movsd -56(%rsp), %xmm1
+ movsd -48(%rsp), %xmm15
+ addsd %xmm15, %xmm1
+ movsd %xmm1, -48(%rsp)
+ movsd -24(%rsp), %xmm4
+ mulsd %xmm4, %xmm2
+ movaps %xmm4, %xmm3
+ mulsd %xmm4, %xmm3
+ movsd -48(%rsp), %xmm1
+ movaps %xmm4, %xmm0
+ movsd %xmm2, -24(%rsp)
+ movsd -24(%rsp), %xmm6
+ movsd 1064+__dsinh_la_CoutTab(%rip), %xmm2
+ subsd %xmm4, %xmm6
+ mulsd %xmm3, %xmm2
+ movsd %xmm6, -56(%rsp)
+ movsd -24(%rsp), %xmm11
+ movsd -56(%rsp), %xmm8
+ subsd %xmm8, %xmm11
+ addsd 1048+__dsinh_la_CoutTab(%rip), %xmm2
+ movsd %xmm11, -24(%rsp)
+ movsd 1072+__dsinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm3, %xmm11
+ mulsd %xmm3, %xmm2
+ addsd 1056+__dsinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm4, %xmm2
+ mulsd %xmm3, %xmm11
+ movsd -24(%rsp), %xmm12
+ addsd 1040+__dsinh_la_CoutTab(%rip), %xmm11
+ subsd %xmm12, %xmm0
+ mulsd %xmm3, %xmm11
+ movsd (%rcx,%rsi,8), %xmm3
+ movaps %xmm9, %xmm12
+ mulsd %xmm14, %xmm3
+ movsd %xmm0, -56(%rsp)
+ subsd %xmm3, %xmm10
+ movsd -24(%rsp), %xmm8
+ movsd -56(%rsp), %xmm6
+ movsd %xmm10, -24(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd (%rcx,%rdx,8), %xmm0
+ subsd %xmm13, %xmm12
+ mulsd %xmm14, %xmm0
+ subsd %xmm3, %xmm12
+ movsd %xmm12, -56(%rsp)
+ movsd -24(%rsp), %xmm14
+ movsd -56(%rsp), %xmm12
+ movaps %xmm14, %xmm5
+ movb -1(%rsp), %cl
+ addsd %xmm7, %xmm12
+ addsd %xmm0, %xmm7
+ subsd %xmm0, %xmm12
+ andb $-128, %cl
+ addsd %xmm12, %xmm5
+ movsd %xmm5, -24(%rsp)
+ movaps %xmm9, %xmm5
+ movsd -24(%rsp), %xmm15
+ addsd %xmm3, %xmm5
+ subsd %xmm15, %xmm14
+ addsd %xmm14, %xmm12
+ movsd %xmm12, -56(%rsp)
+ movsd -24(%rsp), %xmm10
+ movsd -56(%rsp), %xmm12
+ movsd %xmm5, -24(%rsp)
+ movsd -24(%rsp), %xmm13
+ subsd %xmm13, %xmm9
+ addsd %xmm9, %xmm3
+ movsd %xmm3, -56(%rsp)
+ movsd -24(%rsp), %xmm3
+ movsd -56(%rsp), %xmm5
+ addsd %xmm7, %xmm5
+ movaps %xmm3, %xmm7
+ addsd %xmm5, %xmm7
+ movsd %xmm7, -24(%rsp)
+ movsd -24(%rsp), %xmm9
+ movsd 1128+__dsinh_la_CoutTab(%rip), %xmm7
+ subsd %xmm9, %xmm3
+ addsd %xmm3, %xmm5
+ movsd %xmm5, -56(%rsp)
+ movsd -24(%rsp), %xmm0
+ mulsd %xmm0, %xmm7
+ movsd -56(%rsp), %xmm3
+ movsd %xmm7, -24(%rsp)
+ movaps %xmm0, %xmm7
+ movsd -24(%rsp), %xmm14
+ mulsd %xmm3, %xmm4
+ subsd %xmm0, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm9
+ subsd %xmm9, %xmm13
+ movsd %xmm13, -24(%rsp)
+ movaps %xmm0, %xmm13
+ movsd -24(%rsp), %xmm15
+ mulsd %xmm2, %xmm13
+ subsd %xmm15, %xmm7
+ mulsd %xmm1, %xmm0
+ mulsd %xmm3, %xmm1
+ mulsd %xmm3, %xmm2
+ movaps %xmm10, %xmm15
+ movaps %xmm13, %xmm5
+ mulsd %xmm11, %xmm15
+ mulsd %xmm12, %xmm11
+ addsd %xmm15, %xmm5
+ addsd %xmm12, %xmm11
+ movsd %xmm7, -56(%rsp)
+ addsd %xmm0, %xmm11
+ movsd -24(%rsp), %xmm9
+ addsd %xmm1, %xmm11
+ movsd -56(%rsp), %xmm7
+ addsd %xmm2, %xmm11
+ movsd %xmm5, -24(%rsp)
+ addsd %xmm4, %xmm11
+ movsd -24(%rsp), %xmm14
+ subsd %xmm14, %xmm13
+ addsd %xmm13, %xmm15
+ movsd %xmm15, -56(%rsp)
+ movaps %xmm8, %xmm15
+ mulsd %xmm9, %xmm15
+ mulsd %xmm6, %xmm9
+ mulsd %xmm7, %xmm6
+ mulsd %xmm7, %xmm8
+ movsd -24(%rsp), %xmm14
+ movaps %xmm15, %xmm13
+ movsd -56(%rsp), %xmm5
+ addsd %xmm14, %xmm13
+ addsd %xmm9, %xmm5
+ movsd %xmm13, -24(%rsp)
+ addsd %xmm6, %xmm5
+ movsd -24(%rsp), %xmm13
+ addsd %xmm8, %xmm5
+ subsd %xmm13, %xmm15
+ addsd %xmm5, %xmm11
+ addsd %xmm15, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movaps %xmm10, %xmm15
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm14
+ addsd %xmm13, %xmm15
+ addsd %xmm14, %xmm11
+ movsd %xmm15, -24(%rsp)
+ movsd -24(%rsp), %xmm15
+ subsd %xmm15, %xmm10
+ addsd %xmm10, %xmm13
+ movsd %xmm13, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm10
+ addsd %xmm10, %xmm11
+ addsd %xmm11, %xmm13
+ movsd %xmm13, -32(%rsp)
+ movb -25(%rsp), %dil
+ andb $127, %dil
+ orb %cl, %dil
+ movb %dil, -25(%rsp)
+ movq -32(%rsp), %r10
+ movq %r10, (%r9)
+ ret
+
+.LBL_2_8:
+ movaps %xmm0, %xmm2
+ mulsd %xmm0, %xmm2
+ movsd 1104+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ movb -1(%rsp), %dl
+ andb $-128, %dl
+ addsd 1096+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1088+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1080+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm1, %xmm2
+ mulsd %xmm0, %xmm2
+ addsd %xmm2, %xmm0
+ movsd %xmm0, -32(%rsp)
+ movb -25(%rsp), %cl
+ andb $127, %cl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movq -32(%rsp), %rsi
+ movq %rsi, (%r9)
+ ret
+
+.LBL_2_9:
+ movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1
+ lea __dsinh_la_CoutTab(%rip), %r8
+ mulsd %xmm0, %xmm1
+ movsd 1144+__dsinh_la_CoutTab(%rip), %xmm2
+ movsd 1152+__dsinh_la_CoutTab(%rip), %xmm3
+ movq 8+__dsinh_la_CoutTab(%rip), %rdx
+ movq %rdx, -16(%rsp)
+ addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -40(%rsp)
+ movsd -40(%rsp), %xmm4
+ movsd 1072+__dsinh_la_CoutTab(%rip), %xmm1
+ movl -40(%rsp), %edx
+ movl %edx, %esi
+ andl $63, %esi
+ subsd 1120+__dsinh_la_CoutTab(%rip), %xmm4
+ mulsd %xmm4, %xmm2
+ lea (%rsi,%rsi), %ecx
+ mulsd %xmm3, %xmm4
+ subsd %xmm2, %xmm0
+ movsd (%r8,%rcx,8), %xmm5
+ lea 1(%rsi,%rsi), %edi
+ shrl $6, %edx
+ subsd %xmm4, %xmm0
+ mulsd %xmm0, %xmm1
+ addl $1022, %edx
+ andl $2047, %edx
+ addsd 1064+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1056+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1048+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1040+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ mulsd %xmm0, %xmm1
+ addsd %xmm0, %xmm1
+ mulsd %xmm5, %xmm1
+ addsd (%r8,%rdi,8), %xmm1
+ addsd %xmm5, %xmm1
+ cmpl $2046, %edx
+ ja .LBL_2_11
+ movq 8+__dsinh_la_CoutTab(%rip), %rcx
+ shrq $48, %rcx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm0, %xmm1
+ movsd %xmm1, -32(%rsp)
+ jmp .LBL_2_12
+
+.LBL_2_11:
+ decl %edx
+ andl $2047, %edx
+ movzwl -10(%rsp), %ecx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm0, %xmm1
+ mulsd 1024+__dsinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -32(%rsp)
+
+.LBL_2_12:
+ movb -25(%rsp), %cl
+ movb -1(%rsp), %dl
+ andb $127, %cl
+ andb $-128, %dl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movq -32(%rsp), %rsi
+ movq %rsi, (%r9)
+ ret
+
+.LBL_2_13:
+ movsd 1168+__dsinh_la_CoutTab(%rip), %xmm0
+ movl $3, %eax
+ mulsd %xmm2, %xmm0
+ movsd %xmm0, (%r9)
+ ret
+
+.LBL_2_14:
+ movsd __dsinh_la_CoutTab(%rip), %xmm0
+ addsd 1160+__dsinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm2, %xmm0
+ movsd %xmm0, (%r9)
+ ret
+
+.LBL_2_16:
+ movsd 1160+__dsinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm0, %xmm2
+ movsd %xmm2, -24(%rsp)
+ movsd -24(%rsp), %xmm1
+ movq 8+__dsinh_la_CoutTab(%rip), %rdx
+ movq %rdx, -16(%rsp)
+ addsd -8(%rsp), %xmm1
+ movsd %xmm1, (%r9)
+ ret
+
+.LBL_2_17:
+ addsd %xmm2, %xmm2
+ movsd %xmm2, (%r9)
+ ret
+
+ cfi_endproc
+
+ .type __svml_dsinh_cout_rare_internal,@function
+ .size __svml_dsinh_cout_rare_internal,.-__svml_dsinh_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_dsinh_data_internal:
+ .long 0
+ .long 1071644672
+ .long 1828292879
+ .long 1071691096
+ .long 1014845819
+ .long 1071739576
+ .long 1853186616
+ .long 1071790202
+ .long 171030293
+ .long 1071843070
+ .long 1276261410
+ .long 1071898278
+ .long 3577096743
+ .long 1071955930
+ .long 3712504873
+ .long 1072016135
+ .long 1719614413
+ .long 1072079006
+ .long 1944781191
+ .long 1072144660
+ .long 1110089947
+ .long 1072213221
+ .long 2191782032
+ .long 1072284817
+ .long 2572866477
+ .long 1072359583
+ .long 3716502172
+ .long 1072437659
+ .long 3707479175
+ .long 1072519192
+ .long 2728693978
+ .long 1072604335
+ .long 0
+ .long 0
+ .long 1255956747
+ .long 1015588398
+ .long 3117910646
+ .long 3161559105
+ .long 3066496371
+ .long 1015656574
+ .long 3526460132
+ .long 1014428778
+ .long 300981948
+ .long 1014684169
+ .long 2951496418
+ .long 1013793687
+ .long 88491949
+ .long 1015427660
+ .long 330458198
+ .long 3163282740
+ .long 3993278767
+ .long 3161724279
+ .long 1451641639
+ .long 1015474673
+ .long 2960257726
+ .long 1013742662
+ .long 878562433
+ .long 1015521741
+ .long 2303740125
+ .long 1014042725
+ .long 3613079303
+ .long 1014164738
+ .long 396109971
+ .long 3163462691
+ .long 0
+ .long 1071644672
+ .long 2728693978
+ .long 1071555759
+ .long 3707479175
+ .long 1071470616
+ .long 3716502172
+ .long 1071389083
+ .long 2572866477
+ .long 1071311007
+ .long 2191782032
+ .long 1071236241
+ .long 1110089947
+ .long 1071164645
+ .long 1944781191
+ .long 1071096084
+ .long 1719614413
+ .long 1071030430
+ .long 3712504873
+ .long 1070967559
+ .long 3577096743
+ .long 1070907354
+ .long 1276261410
+ .long 1070849702
+ .long 171030293
+ .long 1070794494
+ .long 1853186616
+ .long 1070741626
+ .long 1014845819
+ .long 1070691000
+ .long 1828292879
+ .long 1070642520
+ .long 0
+ .long 0
+ .long 396109971
+ .long 3162414115
+ .long 3613079303
+ .long 1013116162
+ .long 2303740125
+ .long 1012994149
+ .long 878562433
+ .long 1014473165
+ .long 2960257726
+ .long 1012694086
+ .long 1451641639
+ .long 1014426097
+ .long 3993278767
+ .long 3160675703
+ .long 330458198
+ .long 3162234164
+ .long 88491949
+ .long 1014379084
+ .long 2951496418
+ .long 1012745111
+ .long 300981948
+ .long 1013635593
+ .long 3526460132
+ .long 1013380202
+ .long 3066496371
+ .long 1014607998
+ .long 3117910646
+ .long 3160510529
+ .long 1255956747
+ .long 1014539822
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 15
+ .long 0
+ .long 15
+ .long 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1071644672
+ .long 0
+ .long 1071644672
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 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 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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
+ .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 1071644672
+ .long 0
+ .long 1071644672
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1071644672
+ .long 431824500
+ .long 1064709706
+ .long 730821105
+ .long 1071633346
+ .long 1779301686
+ .long 1065758303
+ .long 2174652632
+ .long 1071622081
+ .long 872681311
+ .long 1066443490
+ .long 2912730644
+ .long 1071610877
+ .long 2882296449
+ .long 1066806964
+ .long 1533953344
+ .long 1071599734
+ .long 3305321028
+ .long 1067170481
+ .long 929806999
+ .long 1071588651
+ .long 340716357
+ .long 1067492210
+ .long 3999357479
+ .long 1071577627
+ .long 1073477808
+ .long 1067674027
+ .long 764307441
+ .long 1071566664
+ .long 3128166954
+ .long 1067855881
+ .long 2728693978
+ .long 1071555759
+ .long 3639221082
+ .long 1068037778
+ .long 4224142467
+ .long 1071544913
+ .long 4041415279
+ .long 1068219723
+ .long 3884662774
+ .long 1071534126
+ .long 1480599658
+ .long 1068401722
+ .long 351641897
+ .long 1071523398
+ .long 2997120266
+ .long 1068541361
+ .long 863738719
+ .long 1071512727
+ .long 928693471
+ .long 1068632422
+ .long 4076975200
+ .long 1071502113
+ .long 1708958952
+ .long 1068723517
+ .long 64696965
+ .long 1071491558
+ .long 3926287402
+ .long 1068814649
+ .long 382305176
+ .long 1071481059
+ .long 1878784442
+ .long 1068905822
+ .long 3707479175
+ .long 1071470616
+ .long 2754496392
+ .long 1068997037
+ .long 135105010
+ .long 1071460231
+ .long 861943228
+ .long 1069088298
+ .long 1242007932
+ .long 1071449901
+ .long 3400259254
+ .long 1069179606
+ .long 1432208378
+ .long 1071439627
+ .long 394759087
+ .long 1069270966
+ .long 3706687593
+ .long 1071429408
+ .long 3351980561
+ .long 1069362378
+ .long 2483480501
+ .long 1071419245
+ .long 2310349189
+ .long 1069453847
+ .long 777507147
+ .long 1071409137
+ .long 200254151
+ .long 1069545375
+ .long 1610600570
+ .long 1071399083
+ .long 4274709417
+ .long 1069592241
+ .long 3716502172
+ .long 1071389083
+ .long 2266782956
+ .long 1069638068
+ .long 1540824585
+ .long 1071379138
+ .long 1995599824
+ .long 1069683928
+ .long 2420883922
+ .long 1071369246
+ .long 647201135
+ .long 1069729823
+ .long 815859274
+ .long 1071359408
+ .long 4001939191
+ .long 1069775753
+ .long 4076559943
+ .long 1071349622
+ .long 664843213
+ .long 1069821722
+ .long 2380618042
+ .long 1071339890
+ .long 720494647
+ .long 1069867729
+ .long 3092190715
+ .long 1071330210
+ .long 1373458573
+ .long 1069913776
+ .long 697153126
+ .long 1071320583
+ .long 4128322810
+ .long 1069959864
+ .long 2572866477
+ .long 1071311007
+ .long 1904966097
+ .long 1070005996
+ .long 3218338682
+ .long 1071301483
+ .long 513564799
+ .long 1070052172
+ .long 1434058175
+ .long 1071292011
+ .long 1474894098
+ .long 1070098393
+ .long 321958744
+ .long 1071282590
+ .long 2020498546
+ .long 1070144661
+ .long 2990417245
+ .long 1071273219
+ .long 3682797359
+ .long 1070190977
+ .long 3964284211
+ .long 1071263899
+ .long 3705320722
+ .long 1070237343
+ .long 2069751141
+ .long 1071254630
+ .long 3632815436
+ .long 1070283760
+ .long 434316067
+ .long 1071245411
+ .long 721481577
+ .long 1070330230
+ .long 2191782032
+ .long 1071236241
+ .long 824045819
+ .long 1070376753
+ .long 1892288442
+ .long 1071227121
+ .long 1210063881
+ .long 1070423331
+ .long 2682146384
+ .long 1071218050
+ .long 3450994238
+ .long 1070469965
+ .long 3418903055
+ .long 1071209028
+ .long 535468266
+ .long 1070516658
+ .long 2966275557
+ .long 1071200055
+ .long 2639266259
+ .long 1070563409
+ .long 194117574
+ .long 1071191131
+ .long 3530359402
+ .long 1070603158
+ .long 2568320822
+ .long 1071182254
+ .long 3405407025
+ .long 1070626595
+ .long 380978316
+ .long 1071173426
+ .long 1749136243
+ .long 1070650064
+ .long 1110089947
+ .long 1071164645
+ .long 1517376385
+ .long 1070673565
+ .long 3649726105
+ .long 1071155911
+ .long 1375061601
+ .long 1070697099
+ .long 2604962541
+ .long 1071147225
+ .long 4286252247
+ .long 1070720666
+ .long 1176749997
+ .long 1071138586
+ .long 334352625
+ .long 1070744269
+ .long 2571947539
+ .long 1071129993
+ .long 1081936396
+ .long 1070767906
+ .long 1413356050
+ .long 1071121447
+ .long 916128083
+ .long 1070791579
+ .long 919555682
+ .long 1071112947
+ .long 2818494152
+ .long 1070815288
+ .long 19972402
+ .long 1071104493
+ .long 1185261260
+ .long 1070839035
+ .long 1944781191
+ .long 1071096084
+ .long 3302240303
+ .long 1070862819
+ .long 1339972927
+ .long 1071087721
+ .long 3575110344
+ .long 1070886642
+ .long 1447192521
+ .long 1071079403
+ .long 709375646
+ .long 1070910505
+ .long 1218806132
+ .long 1071071130
+ .long 2005420950
+ .long 1070934407
+ .long 3907805044
+ .long 1071062901
+ .long 1883763132
+ .long 1070958350
+ .long 4182873220
+ .long 1071054717
+ .long 3359975962
+ .long 1070982334
+ .long 1013258799
+ .long 1071046578
+ .long 864909351
+ .long 1071006361
+ .long 1963711167
+ .long 1071038482
+ .long 1719614413
+ .long 1071030430
+ .long 1719614413
+ .long 1071030430
+ .long 365628427
+ .long 1071054543
+ .long 3561793907
+ .long 1071022421
+ .long 4134867513
+ .long 1071078699
+ .long 2186617381
+ .long 1071014456
+ .long 3184944616
+ .long 1071102901
+ .long 885834528
+ .long 1071006534
+ .long 564029795
+ .long 1071127149
+ .long 2956612997
+ .long 1070998654
+ .long 3621005023
+ .long 1071151442
+ .long 3111574537
+ .long 1070990817
+ .long 2530717257
+ .long 1071175783
+ .long 363667784
+ .long 1070983023
+ .long 358839240
+ .long 1071200172
+ .long 2321106615
+ .long 1070975270
+ .long 177057508
+ .long 1071224609
+ .long 3712504873
+ .long 1070967559
+ .long 768195176
+ .long 1071249095
+ .long 3566716925
+ .long 1070959890
+ .long 921269482
+ .long 1071273631
+ .long 917841882
+ .long 1070952263
+ .long 3726549525
+ .long 1071298217
+ .long 3395129871
+ .long 1070944676
+ .long 3690744995
+ .long 1071322855
+ .long 1453150082
+ .long 1070937131
+ .long 3916966168
+ .long 1071347545
+ .long 2731501122
+ .long 1070929626
+ .long 3219913010
+ .long 1071372288
+ .long 1990012071
+ .long 1070922162
+ .long 420933669
+ .long 1071397085
+ .long 2583551245
+ .long 1070914738
+ .long 2938050448
+ .long 1071421935
+ .long 3577096743
+ .long 1070907354
+ .long 1016247609
+ .long 1071446841
+ .long 4040676318
+ .long 1070900010
+ .long 2087301532
+ .long 1071471802
+ .long 3049340112
+ .long 1070892706
+ .long 705101620
+ .long 1071496820
+ .long 3978100823
+ .long 1070885441
+ .long 20578973
+ .long 1071521895
+ .long 1617004845
+ .long 1070878216
+ .long 3191864199
+ .long 1071547027
+ .long 3645941911
+ .long 1070871029
+ .long 499478133
+ .long 1071572219
+ .long 569847338
+ .long 1070863882
+ .long 3706163032
+ .long 1071597469
+ .long 78413852
+ .long 1070856773
+ .long 3107302654
+ .long 1071622780
+ .long 1276261410
+ .long 1070849702
+ .long 945376945
+ .long 1071646412
+ .long 3272845541
+ .long 1070842669
+ .long 3773502825
+ .long 1071659128
+ .long 887463927
+ .long 1070835675
+ .long 3049734401
+ .long 1071671876
+ .long 1829099622
+ .long 1070828718
+ .long 379637879
+ .long 1071684656
+ .long 926591435
+ .long 1070821799
+ .long 1667720032
+ .long 1071697467
+ .long 1603444721
+ .long 1070814917
+ .long 4232573504
+ .long 1071710310
+ .long 2992903935
+ .long 1070808072
+ .long 1101891425
+ .long 1071723187
+ .long 4232894513
+ .long 1070801264
+ .long 2487351331
+ .long 1071736096
+ .long 171030293
+ .long 1070794494
+ .long 1424924347
+ .long 1071749039
+ .long 2839424854
+ .long 1070787759
+ .long 3839693941
+ .long 1071762015
+ .long 2799960843
+ .long 1070781061
+ .long 2776099954
+ .long 1071775026
+ .long 3504003472
+ .long 1070774399
+ .long 4167790294
+ .long 1071788071
+ .long 4112506593
+ .long 1070767773
+ .long 1067865225
+ .long 1071801152
+ .long 3790955393
+ .long 1070761183
+ .long 3713696612
+ .long 1071814267
+ .long 1709341917
+ .long 1070754629
+ .long 872270569
+ .long 1071827419
+ .long 1337108031
+ .long 1070748110
+ .long 2789908864
+ .long 1071840606
+ .long 1853186616
+ .long 1070741626
+ .long 2537611823
+ .long 1071853830
+ .long 2440944790
+ .long 1070735177
+ .long 1780910816
+ .long 1071867091
+ .long 2288159958
+ .long 1070728763
+ .long 2189982503
+ .long 1071880389
+ .long 586995997
+ .long 1070722384
+ .long 1144730516
+ .long 1071893725
+ .long 828946858
+ .long 1070716039
+ .long 324769168
+ .long 1071907099
+ .long 2214878420
+ .long 1070709728
+ .long 1414505409
+ .long 1071920511
+ .long 3949972341
+ .long 1070703451
+ .long 1808220925
+ .long 1071933962
+ .long 948735466
+ .long 1070697209
+ .long 3200056266
+ .long 1071947452
+ .long 1014845819
+ .long 1070691000
+ .long 2994125935
+ .long 1071960982
+ .long 3366293073
+ .long 1070684824
+ .long 2894502806
+ .long 1071974552
+ .long 2930322912
+ .long 1070678682
+ .long 315333498
+ .long 1071988163
+ .long 3228316108
+ .long 1070672573
+ .long 1265790390
+ .long 1072001814
+ .long 3490863953
+ .long 1070666497
+ .long 3170252699
+ .long 1072015506
+ .long 2952712987
+ .long 1070660454
+ .long 3458291493
+ .long 1072029240
+ .long 852742562
+ .long 1070654444
+ .long 3859687560
+ .long 1072043016
+ .long 728909815
+ .long 1070648466
+ .long 1814547538
+ .long 1072056835
+ .long 1828292879
+ .long 1070642520
+ .long 3358256687
+ .long 1072070696
+ .long 3402036099
+ .long 1070636606
+ .long 1646693443
+ .long 1072084601
+ .long 410360776
+ .long 1070630725
+ .long 2726084392
+ .long 1072098549
+ .long 702412510
+ .long 1070624875
+ .long 4058219142
+ .long 1072112541
+ .long 3541402996
+ .long 1070619056
+ .long 3110436433
+ .long 1072126578
+ .long 3899555717
+ .long 1070613269
+ .long 1650643112
+ .long 1072140660
+ .long 1048019041
+ .long 1070607514
+ .long 1452398678
+ .long 1072154787
+ .long 2851812149
+ .long 1070601789
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 2146435072
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 65472
+ .long 0
+ .long 65472
+ .long 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 127
+ .long 0
+ .long 127
+ .long 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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_dsinh_data_internal,@object
+ .size __svml_dsinh_data_internal,4288
+ .space 320, 0x00
+ .align 32
+
+__dsinh_la_CoutTab:
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 0
+ .long 1048019041
+ .long 1072704666
+ .long 1398474845
+ .long 3161559171
+ .long 3541402996
+ .long 1072716208
+ .long 2759177317
+ .long 1015903202
+ .long 410360776
+ .long 1072727877
+ .long 1269990655
+ .long 1013024446
+ .long 1828292879
+ .long 1072739672
+ .long 1255956747
+ .long 1016636974
+ .long 852742562
+ .long 1072751596
+ .long 667253587
+ .long 1010842135
+ .long 3490863953
+ .long 1072763649
+ .long 960797498
+ .long 3163997456
+ .long 2930322912
+ .long 1072775834
+ .long 2599499422
+ .long 3163762623
+ .long 1014845819
+ .long 1072788152
+ .long 3117910646
+ .long 3162607681
+ .long 3949972341
+ .long 1072800603
+ .long 2068408548
+ .long 1015962444
+ .long 828946858
+ .long 1072813191
+ .long 10642492
+ .long 1016988014
+ .long 2288159958
+ .long 1072825915
+ .long 2169144469
+ .long 1015924597
+ .long 1853186616
+ .long 1072838778
+ .long 3066496371
+ .long 1016705150
+ .long 1709341917
+ .long 1072851781
+ .long 2571168217
+ .long 1015201075
+ .long 4112506593
+ .long 1072864925
+ .long 2947355221
+ .long 1015419624
+ .long 2799960843
+ .long 1072878213
+ .long 1423655381
+ .long 1016070727
+ .long 171030293
+ .long 1072891646
+ .long 3526460132
+ .long 1015477354
+ .long 2992903935
+ .long 1072905224
+ .long 2218154406
+ .long 1016276769
+ .long 926591435
+ .long 1072918951
+ .long 3208833762
+ .long 3163962090
+ .long 887463927
+ .long 1072932827
+ .long 3596744163
+ .long 3161842742
+ .long 1276261410
+ .long 1072946854
+ .long 300981948
+ .long 1015732745
+ .long 569847338
+ .long 1072961034
+ .long 472945272
+ .long 3160339305
+ .long 1617004845
+ .long 1072975368
+ .long 82804944
+ .long 1011391354
+ .long 3049340112
+ .long 1072989858
+ .long 3062915824
+ .long 1014219171
+ .long 3577096743
+ .long 1073004506
+ .long 2951496418
+ .long 1014842263
+ .long 1990012071
+ .long 1073019314
+ .long 3529070563
+ .long 3163861769
+ .long 1453150082
+ .long 1073034283
+ .long 498154669
+ .long 3162536638
+ .long 917841882
+ .long 1073049415
+ .long 18715565
+ .long 1016707884
+ .long 3712504873
+ .long 1073064711
+ .long 88491949
+ .long 1016476236
+ .long 363667784
+ .long 1073080175
+ .long 813753950
+ .long 1016833785
+ .long 2956612997
+ .long 1073095806
+ .long 2118169751
+ .long 3163784129
+ .long 2186617381
+ .long 1073111608
+ .long 2270764084
+ .long 3164321289
+ .long 1719614413
+ .long 1073127582
+ .long 330458198
+ .long 3164331316
+ .long 1013258799
+ .long 1073143730
+ .long 1748797611
+ .long 3161177658
+ .long 3907805044
+ .long 1073160053
+ .long 2257091225
+ .long 3162598983
+ .long 1447192521
+ .long 1073176555
+ .long 1462857171
+ .long 3163563097
+ .long 1944781191
+ .long 1073193236
+ .long 3993278767
+ .long 3162772855
+ .long 919555682
+ .long 1073210099
+ .long 3121969534
+ .long 1013996802
+ .long 2571947539
+ .long 1073227145
+ .long 3558159064
+ .long 3164425245
+ .long 2604962541
+ .long 1073244377
+ .long 2614425274
+ .long 3164587768
+ .long 1110089947
+ .long 1073261797
+ .long 1451641639
+ .long 1016523249
+ .long 2568320822
+ .long 1073279406
+ .long 2732824428
+ .long 1015401491
+ .long 2966275557
+ .long 1073297207
+ .long 2176155324
+ .long 3160891335
+ .long 2682146384
+ .long 1073315202
+ .long 2082178513
+ .long 3164411995
+ .long 2191782032
+ .long 1073333393
+ .long 2960257726
+ .long 1014791238
+ .long 2069751141
+ .long 1073351782
+ .long 1562170675
+ .long 3163773257
+ .long 2990417245
+ .long 1073370371
+ .long 3683467745
+ .long 3164417902
+ .long 1434058175
+ .long 1073389163
+ .long 251133233
+ .long 1016134345
+ .long 2572866477
+ .long 1073408159
+ .long 878562433
+ .long 1016570317
+ .long 3092190715
+ .long 1073427362
+ .long 814012168
+ .long 3160571998
+ .long 4076559943
+ .long 1073446774
+ .long 2119478331
+ .long 3161806927
+ .long 2420883922
+ .long 1073466398
+ .long 2049810052
+ .long 1015168464
+ .long 3716502172
+ .long 1073486235
+ .long 2303740125
+ .long 1015091301
+ .long 777507147
+ .long 1073506289
+ .long 4282924205
+ .long 1016236109
+ .long 3706687593
+ .long 1073526560
+ .long 3521726939
+ .long 1014301643
+ .long 1242007932
+ .long 1073547053
+ .long 1132034716
+ .long 3164388407
+ .long 3707479175
+ .long 1073567768
+ .long 3613079303
+ .long 1015213314
+ .long 64696965
+ .long 1073588710
+ .long 1768797490
+ .long 1016865536
+ .long 863738719
+ .long 1073609879
+ .long 1326992220
+ .long 3163661773
+ .long 3884662774
+ .long 1073631278
+ .long 2158611599
+ .long 1015258761
+ .long 2728693978
+ .long 1073652911
+ .long 396109971
+ .long 3164511267
+ .long 3999357479
+ .long 1073674779
+ .long 2258941616
+ .long 1016973300
+ .long 1533953344
+ .long 1073696886
+ .long 769171851
+ .long 1016714209
+ .long 2174652632
+ .long 1073719233
+ .long 4087714590
+ .long 1015498835
+ .long 0
+ .long 1073741824
+ .long 0
+ .long 0
+ .long 0
+ .long 1071644672
+ .long 1431652600
+ .long 1069897045
+ .long 1431670732
+ .long 1067799893
+ .long 984555731
+ .long 1065423122
+ .long 472530941
+ .long 1062650218
+ .long 1431655765
+ .long 1069897045
+ .long 286331153
+ .long 1065423121
+ .long 436314138
+ .long 1059717536
+ .long 2773927732
+ .long 1053236707
+ .long 1697350398
+ .long 1079448903
+ .long 0
+ .long 1127743488
+ .long 33554432
+ .long 1101004800
+ .long 2411329662
+ .long 1082536910
+ .long 4277796864
+ .long 1065758274
+ .long 3164486458
+ .long 1025308570
+ .long 1
+ .long 1048576
+ .long 4294967295
+ .long 2146435071
+ .long 3671843104
+ .long 1067178892
+ .long 3875694624
+ .long 1077247184
+ .type __dsinh_la_CoutTab,@object
+ .size __dsinh_la_CoutTab,1192
+ .space 8, 0x00
+ .align 16
+
+.FLT_98:
+ .long 0x00000000,0x80000000,0x00000000,0x00000000
+ .type .FLT_98,@object
+ .size .FLT_98,16
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE version of vectorized sinh, 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_sinh _ZGVdN4v_sinh_sse_wrapper
+#include "../svml_d_sinh4_core.S"
new file mode 100644
@@ -0,0 +1,27 @@
+/* Multiple versions of vectorized sinh, 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_sinh
+#include "ifunc-mathvec-avx2.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVdN4v_sinh, __GI__ZGVdN4v_sinh, __redirect__ZGVdN4v_sinh)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,2701 @@
+/* Function sinh 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:
+ *
+ * Compute sinh(x) as (exp(x)-exp(-x))/2,
+ * where exp is calculated as
+ * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r)
+ *
+ * Special cases:
+ *
+ * sinh(NaN) = quiet NaN, and raise invalid exception
+ * sinh(INF) = that INF
+ * sinh(x) = x for subnormals
+ * sinh(x) overflows for big x and returns MAXLOG+log(2)
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVdN4v_sinh_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 1608+__svml_dsinh_data_internal(%rip), %rcx
+ vmovups %ymm9, 96(%rsp)
+ .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+ vmovupd 3648+__svml_dsinh_data_internal(%rip), %ymm9
+
+/*
+ * Load argument
+ * dM = x*2^K/log(2) + RShifter
+ */
+ vmovupd 1216+__svml_dsinh_data_internal(%rip), %ymm5
+ vmovups %ymm8, 32(%rsp)
+ vmovups %ymm12, 224(%rsp)
+ vmovups %ymm15, 320(%rsp)
+ vmovups %ymm10, 160(%rsp)
+ vmovups %ymm11, 192(%rsp)
+ vmovups %ymm13, 256(%rsp)
+ vmovups %ymm14, 288(%rsp)
+ .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 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
+ vmovapd %ymm0, %ymm8
+
+/*
+ * VLOAD_CONST( D, dPC[0], TAB._dPC1 );
+ * Abs argument
+ */
+ vandpd 1408+__svml_dsinh_data_internal(%rip), %ymm8, %ymm7
+ vxorpd %ymm8, %ymm7, %ymm6
+ vfmadd213pd %ymm9, %ymm6, %ymm5
+
+/*
+ * Index and lookup
+ * j
+ */
+ vandps 4224+__svml_dsinh_data_internal(%rip), %ymm5, %ymm4
+
+/*
+ * Check for overflow\underflow
+ *
+ */
+ vextractf128 $1, %ymm6, %xmm1
+ vshufps $221, %xmm1, %xmm6, %xmm2
+ vpcmpgtd 3712+__svml_dsinh_data_internal(%rip), %xmm2, %xmm3
+ vmovmskps %xmm3, %r8d
+
+/*
+ * R
+ * dN = dM - RShifter
+ */
+ vsubpd %ymm9, %ymm5, %ymm3
+
+/* dR = dX - dN*Log2_hi/2^K */
+ vfnmadd231pd 1280+__svml_dsinh_data_internal(%rip), %ymm3, %ymm6
+
+/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */
+ vfnmadd231pd 1344+__svml_dsinh_data_internal(%rip), %ymm3, %ymm6
+ vextractf128 $1, %ymm4, %xmm12
+ vmovd %xmm4, %edx
+ vmovd %xmm12, %r9d
+ shll $4, %edx
+ vpextrd $2, %xmm4, %eax
+ shll $4, %r9d
+ vpextrd $2, %xmm12, %r10d
+ shll $4, %eax
+ shll $4, %r10d
+ vmovq -8(%rdx,%rcx), %xmm15
+ vmovq -8(%r9,%rcx), %xmm1
+ vmovhpd -8(%rax,%rcx), %xmm15, %xmm0
+ vmovq (%rdx,%rcx), %xmm10
+ vmovhpd -8(%r10,%rcx), %xmm1, %xmm9
+ vmovhpd (%rax,%rcx), %xmm10, %xmm11
+
+/* dR2 = dR^2 */
+ vmulpd %ymm6, %ymm6, %ymm1
+ vmovq (%r9,%rcx), %xmm13
+ vmovhpd (%r10,%rcx), %xmm13, %xmm14
+
+/* split j and N */
+ vxorps %ymm4, %ymm5, %ymm5
+
+/*
+ * G1,G2,G3: dTdif,dTn * 2^N,2^(-N)
+ * lM now is an EXP(2^N)
+ */
+ vpsllq $45, %ymm5, %ymm3
+ vinsertf128 $1, %xmm9, %ymm0, %ymm10
+
+/*
+ * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) ....
+ * dSinh_r = (a3+r^2*a5)
+ */
+ vmovupd 4032+__svml_dsinh_data_internal(%rip), %ymm9
+ vpaddq %ymm3, %ymm10, %ymm0
+ vfmadd213pd 3904+__svml_dsinh_data_internal(%rip), %ymm1, %ymm9
+ vinsertf128 $1, %xmm14, %ymm11, %ymm2
+
+/* dSinh_r = r^2*(a3+r^2*a5) */
+ vmulpd %ymm9, %ymm1, %ymm14
+
+/* */
+ vpaddq %ymm3, %ymm2, %ymm4
+
+/* */
+ vpsubq %ymm3, %ymm2, %ymm2
+
+/* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */
+ vfmadd213pd %ymm6, %ymm6, %ymm14
+
+/*
+ * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2)
+ * dOut = (a2 +a4*dR2)
+ */
+ vmovupd 3968+__svml_dsinh_data_internal(%rip), %ymm6
+
+/* dG2 = dTn*2^N - dTn*2^-N */
+ vsubpd %ymm2, %ymm4, %ymm5
+
+/* dG3 = dTn*2^N + dTn*2^-N */
+ vaddpd %ymm2, %ymm4, %ymm11
+ vfmadd213pd 3840+__svml_dsinh_data_internal(%rip), %ymm1, %ymm6
+
+/* dG2 += dG1 */
+ vaddpd %ymm5, %ymm0, %ymm13
+
+/* dG1 += dG3 */
+ vaddpd %ymm11, %ymm0, %ymm0
+
+/* dOut = dR2*(a2 +a4*dR2) */
+ vmulpd %ymm6, %ymm1, %ymm1
+
+/* dOut = dG2*dR2*(a2 +a4*dR2) */
+ vmulpd %ymm13, %ymm1, %ymm12
+
+/* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */
+ vfmadd213pd %ymm12, %ymm0, %ymm14
+
+/* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */
+ vaddpd %ymm14, %ymm13, %ymm15
+
+/* Ret H */
+ vorpd %ymm15, %ymm7, %ymm0
+ testl %r8d, %r8d
+ 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 %ymm8, 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 %r8d, %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_dsinh_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVdN4v_sinh_avx2)
+
+ .align 16,0x90
+
+__svml_dsinh_cout_rare_internal:
+
+ cfi_startproc
+
+ movq %rsi, %r9
+ movzwl 6(%rdi), %ecx
+ xorl %eax, %eax
+ andl $32752, %ecx
+ shrl $4, %ecx
+ movsd (%rdi), %xmm2
+ movb 7(%rdi), %dl
+ movsd %xmm2, -8(%rsp)
+ cmpl $2047, %ecx
+ je .LBL_2_17
+ testl %ecx, %ecx
+ jle .LBL_2_16
+ andb $127, %dl
+ movsd %xmm2, -32(%rsp)
+ movb %dl, -25(%rsp)
+ cmpl $969, %ecx
+ jle .LBL_2_14
+ movsd -32(%rsp), %xmm0
+ movsd 1136+__dsinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_13
+ movsd 1184+__dsinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_9
+ comisd 1176+__dsinh_la_CoutTab(%rip), %xmm0
+ jb .LBL_2_8
+ movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1
+ lea __dsinh_la_CoutTab(%rip), %rcx
+ mulsd %xmm0, %xmm1
+ movsd 1144+__dsinh_la_CoutTab(%rip), %xmm4
+ movq 8+__dsinh_la_CoutTab(%rip), %r10
+ movq %r10, %rsi
+ shrq $48, %rsi
+ addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -40(%rsp)
+ andl $-32753, %esi
+ movsd -40(%rsp), %xmm10
+ movl -40(%rsp), %r8d
+ movl %r8d, %r11d
+ shrl $6, %r11d
+ andl $63, %r8d
+ movq %r10, -16(%rsp)
+ subsd 1120+__dsinh_la_CoutTab(%rip), %xmm10
+ mulsd %xmm10, %xmm4
+ lea 1023(%r11), %edi
+ xorps .FLT_98(%rip), %xmm10
+ addl $1022, %r11d
+ mulsd 1152+__dsinh_la_CoutTab(%rip), %xmm10
+ subsd %xmm4, %xmm0
+ movaps %xmm10, %xmm2
+ movaps %xmm0, %xmm8
+ andl $2047, %r11d
+ lea (%r8,%r8), %edx
+ negl %edi
+ lea 1(%r8,%r8), %r8d
+ movsd (%rcx,%rdx,8), %xmm9
+ negl %edx
+ shll $4, %r11d
+ addl $-4, %edi
+ orl %r11d, %esi
+ andl $2047, %edi
+ movw %si, -10(%rsp)
+ andl $-32753, %esi
+ shll $4, %edi
+ addsd %xmm0, %xmm2
+ movsd %xmm2, -24(%rsp)
+ orl %edi, %esi
+ movsd -24(%rsp), %xmm6
+ movsd 1128+__dsinh_la_CoutTab(%rip), %xmm2
+ subsd %xmm6, %xmm8
+ movsd %xmm8, -56(%rsp)
+ movsd -24(%rsp), %xmm12
+ movsd -56(%rsp), %xmm11
+ movsd (%rcx,%r8,8), %xmm7
+ addsd %xmm11, %xmm12
+ movsd %xmm12, -48(%rsp)
+ movsd -56(%rsp), %xmm5
+ addsd %xmm5, %xmm10
+ movsd -16(%rsp), %xmm5
+ mulsd %xmm5, %xmm9
+ mulsd %xmm5, %xmm7
+ movsd %xmm10, -56(%rsp)
+ movaps %xmm9, %xmm10
+ movsd -48(%rsp), %xmm13
+ movw %si, -10(%rsp)
+ lea 128(%rdx), %esi
+ movsd -16(%rsp), %xmm14
+ addl $129, %edx
+ subsd %xmm13, %xmm0
+ movsd %xmm0, -48(%rsp)
+ movsd -56(%rsp), %xmm1
+ movsd -48(%rsp), %xmm15
+ addsd %xmm15, %xmm1
+ movsd %xmm1, -48(%rsp)
+ movsd -24(%rsp), %xmm4
+ mulsd %xmm4, %xmm2
+ movaps %xmm4, %xmm3
+ mulsd %xmm4, %xmm3
+ movsd -48(%rsp), %xmm1
+ movaps %xmm4, %xmm0
+ movsd %xmm2, -24(%rsp)
+ movsd -24(%rsp), %xmm6
+ movsd 1064+__dsinh_la_CoutTab(%rip), %xmm2
+ subsd %xmm4, %xmm6
+ mulsd %xmm3, %xmm2
+ movsd %xmm6, -56(%rsp)
+ movsd -24(%rsp), %xmm11
+ movsd -56(%rsp), %xmm8
+ subsd %xmm8, %xmm11
+ addsd 1048+__dsinh_la_CoutTab(%rip), %xmm2
+ movsd %xmm11, -24(%rsp)
+ movsd 1072+__dsinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm3, %xmm11
+ mulsd %xmm3, %xmm2
+ addsd 1056+__dsinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm4, %xmm2
+ mulsd %xmm3, %xmm11
+ movsd -24(%rsp), %xmm12
+ addsd 1040+__dsinh_la_CoutTab(%rip), %xmm11
+ subsd %xmm12, %xmm0
+ mulsd %xmm3, %xmm11
+ movsd (%rcx,%rsi,8), %xmm3
+ movaps %xmm9, %xmm12
+ mulsd %xmm14, %xmm3
+ movsd %xmm0, -56(%rsp)
+ subsd %xmm3, %xmm10
+ movsd -24(%rsp), %xmm8
+ movsd -56(%rsp), %xmm6
+ movsd %xmm10, -24(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd (%rcx,%rdx,8), %xmm0
+ subsd %xmm13, %xmm12
+ mulsd %xmm14, %xmm0
+ subsd %xmm3, %xmm12
+ movsd %xmm12, -56(%rsp)
+ movsd -24(%rsp), %xmm14
+ movsd -56(%rsp), %xmm12
+ movaps %xmm14, %xmm5
+ movb -1(%rsp), %cl
+ addsd %xmm7, %xmm12
+ addsd %xmm0, %xmm7
+ subsd %xmm0, %xmm12
+ andb $-128, %cl
+ addsd %xmm12, %xmm5
+ movsd %xmm5, -24(%rsp)
+ movaps %xmm9, %xmm5
+ movsd -24(%rsp), %xmm15
+ addsd %xmm3, %xmm5
+ subsd %xmm15, %xmm14
+ addsd %xmm14, %xmm12
+ movsd %xmm12, -56(%rsp)
+ movsd -24(%rsp), %xmm10
+ movsd -56(%rsp), %xmm12
+ movsd %xmm5, -24(%rsp)
+ movsd -24(%rsp), %xmm13
+ subsd %xmm13, %xmm9
+ addsd %xmm9, %xmm3
+ movsd %xmm3, -56(%rsp)
+ movsd -24(%rsp), %xmm3
+ movsd -56(%rsp), %xmm5
+ addsd %xmm7, %xmm5
+ movaps %xmm3, %xmm7
+ addsd %xmm5, %xmm7
+ movsd %xmm7, -24(%rsp)
+ movsd -24(%rsp), %xmm9
+ movsd 1128+__dsinh_la_CoutTab(%rip), %xmm7
+ subsd %xmm9, %xmm3
+ addsd %xmm3, %xmm5
+ movsd %xmm5, -56(%rsp)
+ movsd -24(%rsp), %xmm0
+ mulsd %xmm0, %xmm7
+ movsd -56(%rsp), %xmm3
+ movsd %xmm7, -24(%rsp)
+ movaps %xmm0, %xmm7
+ movsd -24(%rsp), %xmm14
+ mulsd %xmm3, %xmm4
+ subsd %xmm0, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm9
+ subsd %xmm9, %xmm13
+ movsd %xmm13, -24(%rsp)
+ movaps %xmm0, %xmm13
+ movsd -24(%rsp), %xmm15
+ mulsd %xmm2, %xmm13
+ subsd %xmm15, %xmm7
+ mulsd %xmm1, %xmm0
+ mulsd %xmm3, %xmm1
+ mulsd %xmm3, %xmm2
+ movaps %xmm10, %xmm15
+ movaps %xmm13, %xmm5
+ mulsd %xmm11, %xmm15
+ mulsd %xmm12, %xmm11
+ addsd %xmm15, %xmm5
+ addsd %xmm12, %xmm11
+ movsd %xmm7, -56(%rsp)
+ addsd %xmm0, %xmm11
+ movsd -24(%rsp), %xmm9
+ addsd %xmm1, %xmm11
+ movsd -56(%rsp), %xmm7
+ addsd %xmm2, %xmm11
+ movsd %xmm5, -24(%rsp)
+ addsd %xmm4, %xmm11
+ movsd -24(%rsp), %xmm14
+ subsd %xmm14, %xmm13
+ addsd %xmm13, %xmm15
+ movsd %xmm15, -56(%rsp)
+ movaps %xmm8, %xmm15
+ mulsd %xmm9, %xmm15
+ mulsd %xmm6, %xmm9
+ mulsd %xmm7, %xmm6
+ mulsd %xmm7, %xmm8
+ movsd -24(%rsp), %xmm14
+ movaps %xmm15, %xmm13
+ movsd -56(%rsp), %xmm5
+ addsd %xmm14, %xmm13
+ addsd %xmm9, %xmm5
+ movsd %xmm13, -24(%rsp)
+ addsd %xmm6, %xmm5
+ movsd -24(%rsp), %xmm13
+ addsd %xmm8, %xmm5
+ subsd %xmm13, %xmm15
+ addsd %xmm5, %xmm11
+ addsd %xmm15, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movaps %xmm10, %xmm15
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm14
+ addsd %xmm13, %xmm15
+ addsd %xmm14, %xmm11
+ movsd %xmm15, -24(%rsp)
+ movsd -24(%rsp), %xmm15
+ subsd %xmm15, %xmm10
+ addsd %xmm10, %xmm13
+ movsd %xmm13, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm10
+ addsd %xmm10, %xmm11
+ addsd %xmm11, %xmm13
+ movsd %xmm13, -32(%rsp)
+ movb -25(%rsp), %dil
+ andb $127, %dil
+ orb %cl, %dil
+ movb %dil, -25(%rsp)
+ movq -32(%rsp), %r10
+ movq %r10, (%r9)
+ ret
+
+.LBL_2_8:
+ movaps %xmm0, %xmm2
+ mulsd %xmm0, %xmm2
+ movsd 1104+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ movb -1(%rsp), %dl
+ andb $-128, %dl
+ addsd 1096+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1088+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1080+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm1, %xmm2
+ mulsd %xmm0, %xmm2
+ addsd %xmm2, %xmm0
+ movsd %xmm0, -32(%rsp)
+ movb -25(%rsp), %cl
+ andb $127, %cl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movq -32(%rsp), %rsi
+ movq %rsi, (%r9)
+ ret
+
+.LBL_2_9:
+ movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1
+ lea __dsinh_la_CoutTab(%rip), %r8
+ mulsd %xmm0, %xmm1
+ movsd 1144+__dsinh_la_CoutTab(%rip), %xmm2
+ movsd 1152+__dsinh_la_CoutTab(%rip), %xmm3
+ movq 8+__dsinh_la_CoutTab(%rip), %rdx
+ movq %rdx, -16(%rsp)
+ addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -40(%rsp)
+ movsd -40(%rsp), %xmm4
+ movsd 1072+__dsinh_la_CoutTab(%rip), %xmm1
+ movl -40(%rsp), %edx
+ movl %edx, %esi
+ andl $63, %esi
+ subsd 1120+__dsinh_la_CoutTab(%rip), %xmm4
+ mulsd %xmm4, %xmm2
+ lea (%rsi,%rsi), %ecx
+ mulsd %xmm3, %xmm4
+ subsd %xmm2, %xmm0
+ movsd (%r8,%rcx,8), %xmm5
+ lea 1(%rsi,%rsi), %edi
+ shrl $6, %edx
+ subsd %xmm4, %xmm0
+ mulsd %xmm0, %xmm1
+ addl $1022, %edx
+ andl $2047, %edx
+ addsd 1064+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1056+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1048+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1040+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ mulsd %xmm0, %xmm1
+ addsd %xmm0, %xmm1
+ mulsd %xmm5, %xmm1
+ addsd (%r8,%rdi,8), %xmm1
+ addsd %xmm5, %xmm1
+ cmpl $2046, %edx
+ ja .LBL_2_11
+ movq 8+__dsinh_la_CoutTab(%rip), %rcx
+ shrq $48, %rcx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm0, %xmm1
+ movsd %xmm1, -32(%rsp)
+ jmp .LBL_2_12
+
+.LBL_2_11:
+ decl %edx
+ andl $2047, %edx
+ movzwl -10(%rsp), %ecx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm0, %xmm1
+ mulsd 1024+__dsinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -32(%rsp)
+
+.LBL_2_12:
+ movb -25(%rsp), %cl
+ movb -1(%rsp), %dl
+ andb $127, %cl
+ andb $-128, %dl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movq -32(%rsp), %rsi
+ movq %rsi, (%r9)
+ ret
+
+.LBL_2_13:
+ movsd 1168+__dsinh_la_CoutTab(%rip), %xmm0
+ movl $3, %eax
+ mulsd %xmm2, %xmm0
+ movsd %xmm0, (%r9)
+ ret
+
+.LBL_2_14:
+ movsd __dsinh_la_CoutTab(%rip), %xmm0
+ addsd 1160+__dsinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm2, %xmm0
+ movsd %xmm0, (%r9)
+ ret
+
+.LBL_2_16:
+ movsd 1160+__dsinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm0, %xmm2
+ movsd %xmm2, -24(%rsp)
+ movsd -24(%rsp), %xmm1
+ movq 8+__dsinh_la_CoutTab(%rip), %rdx
+ movq %rdx, -16(%rsp)
+ addsd -8(%rsp), %xmm1
+ movsd %xmm1, (%r9)
+ ret
+
+.LBL_2_17:
+ addsd %xmm2, %xmm2
+ movsd %xmm2, (%r9)
+ ret
+
+ cfi_endproc
+
+ .type __svml_dsinh_cout_rare_internal,@function
+ .size __svml_dsinh_cout_rare_internal,.-__svml_dsinh_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_dsinh_data_internal:
+ .long 0
+ .long 1071644672
+ .long 1828292879
+ .long 1071691096
+ .long 1014845819
+ .long 1071739576
+ .long 1853186616
+ .long 1071790202
+ .long 171030293
+ .long 1071843070
+ .long 1276261410
+ .long 1071898278
+ .long 3577096743
+ .long 1071955930
+ .long 3712504873
+ .long 1072016135
+ .long 1719614413
+ .long 1072079006
+ .long 1944781191
+ .long 1072144660
+ .long 1110089947
+ .long 1072213221
+ .long 2191782032
+ .long 1072284817
+ .long 2572866477
+ .long 1072359583
+ .long 3716502172
+ .long 1072437659
+ .long 3707479175
+ .long 1072519192
+ .long 2728693978
+ .long 1072604335
+ .long 0
+ .long 0
+ .long 1255956747
+ .long 1015588398
+ .long 3117910646
+ .long 3161559105
+ .long 3066496371
+ .long 1015656574
+ .long 3526460132
+ .long 1014428778
+ .long 300981948
+ .long 1014684169
+ .long 2951496418
+ .long 1013793687
+ .long 88491949
+ .long 1015427660
+ .long 330458198
+ .long 3163282740
+ .long 3993278767
+ .long 3161724279
+ .long 1451641639
+ .long 1015474673
+ .long 2960257726
+ .long 1013742662
+ .long 878562433
+ .long 1015521741
+ .long 2303740125
+ .long 1014042725
+ .long 3613079303
+ .long 1014164738
+ .long 396109971
+ .long 3163462691
+ .long 0
+ .long 1071644672
+ .long 2728693978
+ .long 1071555759
+ .long 3707479175
+ .long 1071470616
+ .long 3716502172
+ .long 1071389083
+ .long 2572866477
+ .long 1071311007
+ .long 2191782032
+ .long 1071236241
+ .long 1110089947
+ .long 1071164645
+ .long 1944781191
+ .long 1071096084
+ .long 1719614413
+ .long 1071030430
+ .long 3712504873
+ .long 1070967559
+ .long 3577096743
+ .long 1070907354
+ .long 1276261410
+ .long 1070849702
+ .long 171030293
+ .long 1070794494
+ .long 1853186616
+ .long 1070741626
+ .long 1014845819
+ .long 1070691000
+ .long 1828292879
+ .long 1070642520
+ .long 0
+ .long 0
+ .long 396109971
+ .long 3162414115
+ .long 3613079303
+ .long 1013116162
+ .long 2303740125
+ .long 1012994149
+ .long 878562433
+ .long 1014473165
+ .long 2960257726
+ .long 1012694086
+ .long 1451641639
+ .long 1014426097
+ .long 3993278767
+ .long 3160675703
+ .long 330458198
+ .long 3162234164
+ .long 88491949
+ .long 1014379084
+ .long 2951496418
+ .long 1012745111
+ .long 300981948
+ .long 1013635593
+ .long 3526460132
+ .long 1013380202
+ .long 3066496371
+ .long 1014607998
+ .long 3117910646
+ .long 3160510529
+ .long 1255956747
+ .long 1014539822
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 15
+ .long 0
+ .long 15
+ .long 0
+ .long 15
+ .long 0
+ .long 15
+ .long 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 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 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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
+ .long 0
+ .long 2147483648
+ .long 0
+ .long 2147483648
+ .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
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1071644672
+ .long 431824500
+ .long 1064709706
+ .long 730821105
+ .long 1071633346
+ .long 1779301686
+ .long 1065758303
+ .long 2174652632
+ .long 1071622081
+ .long 872681311
+ .long 1066443490
+ .long 2912730644
+ .long 1071610877
+ .long 2882296449
+ .long 1066806964
+ .long 1533953344
+ .long 1071599734
+ .long 3305321028
+ .long 1067170481
+ .long 929806999
+ .long 1071588651
+ .long 340716357
+ .long 1067492210
+ .long 3999357479
+ .long 1071577627
+ .long 1073477808
+ .long 1067674027
+ .long 764307441
+ .long 1071566664
+ .long 3128166954
+ .long 1067855881
+ .long 2728693978
+ .long 1071555759
+ .long 3639221082
+ .long 1068037778
+ .long 4224142467
+ .long 1071544913
+ .long 4041415279
+ .long 1068219723
+ .long 3884662774
+ .long 1071534126
+ .long 1480599658
+ .long 1068401722
+ .long 351641897
+ .long 1071523398
+ .long 2997120266
+ .long 1068541361
+ .long 863738719
+ .long 1071512727
+ .long 928693471
+ .long 1068632422
+ .long 4076975200
+ .long 1071502113
+ .long 1708958952
+ .long 1068723517
+ .long 64696965
+ .long 1071491558
+ .long 3926287402
+ .long 1068814649
+ .long 382305176
+ .long 1071481059
+ .long 1878784442
+ .long 1068905822
+ .long 3707479175
+ .long 1071470616
+ .long 2754496392
+ .long 1068997037
+ .long 135105010
+ .long 1071460231
+ .long 861943228
+ .long 1069088298
+ .long 1242007932
+ .long 1071449901
+ .long 3400259254
+ .long 1069179606
+ .long 1432208378
+ .long 1071439627
+ .long 394759087
+ .long 1069270966
+ .long 3706687593
+ .long 1071429408
+ .long 3351980561
+ .long 1069362378
+ .long 2483480501
+ .long 1071419245
+ .long 2310349189
+ .long 1069453847
+ .long 777507147
+ .long 1071409137
+ .long 200254151
+ .long 1069545375
+ .long 1610600570
+ .long 1071399083
+ .long 4274709417
+ .long 1069592241
+ .long 3716502172
+ .long 1071389083
+ .long 2266782956
+ .long 1069638068
+ .long 1540824585
+ .long 1071379138
+ .long 1995599824
+ .long 1069683928
+ .long 2420883922
+ .long 1071369246
+ .long 647201135
+ .long 1069729823
+ .long 815859274
+ .long 1071359408
+ .long 4001939191
+ .long 1069775753
+ .long 4076559943
+ .long 1071349622
+ .long 664843213
+ .long 1069821722
+ .long 2380618042
+ .long 1071339890
+ .long 720494647
+ .long 1069867729
+ .long 3092190715
+ .long 1071330210
+ .long 1373458573
+ .long 1069913776
+ .long 697153126
+ .long 1071320583
+ .long 4128322810
+ .long 1069959864
+ .long 2572866477
+ .long 1071311007
+ .long 1904966097
+ .long 1070005996
+ .long 3218338682
+ .long 1071301483
+ .long 513564799
+ .long 1070052172
+ .long 1434058175
+ .long 1071292011
+ .long 1474894098
+ .long 1070098393
+ .long 321958744
+ .long 1071282590
+ .long 2020498546
+ .long 1070144661
+ .long 2990417245
+ .long 1071273219
+ .long 3682797359
+ .long 1070190977
+ .long 3964284211
+ .long 1071263899
+ .long 3705320722
+ .long 1070237343
+ .long 2069751141
+ .long 1071254630
+ .long 3632815436
+ .long 1070283760
+ .long 434316067
+ .long 1071245411
+ .long 721481577
+ .long 1070330230
+ .long 2191782032
+ .long 1071236241
+ .long 824045819
+ .long 1070376753
+ .long 1892288442
+ .long 1071227121
+ .long 1210063881
+ .long 1070423331
+ .long 2682146384
+ .long 1071218050
+ .long 3450994238
+ .long 1070469965
+ .long 3418903055
+ .long 1071209028
+ .long 535468266
+ .long 1070516658
+ .long 2966275557
+ .long 1071200055
+ .long 2639266259
+ .long 1070563409
+ .long 194117574
+ .long 1071191131
+ .long 3530359402
+ .long 1070603158
+ .long 2568320822
+ .long 1071182254
+ .long 3405407025
+ .long 1070626595
+ .long 380978316
+ .long 1071173426
+ .long 1749136243
+ .long 1070650064
+ .long 1110089947
+ .long 1071164645
+ .long 1517376385
+ .long 1070673565
+ .long 3649726105
+ .long 1071155911
+ .long 1375061601
+ .long 1070697099
+ .long 2604962541
+ .long 1071147225
+ .long 4286252247
+ .long 1070720666
+ .long 1176749997
+ .long 1071138586
+ .long 334352625
+ .long 1070744269
+ .long 2571947539
+ .long 1071129993
+ .long 1081936396
+ .long 1070767906
+ .long 1413356050
+ .long 1071121447
+ .long 916128083
+ .long 1070791579
+ .long 919555682
+ .long 1071112947
+ .long 2818494152
+ .long 1070815288
+ .long 19972402
+ .long 1071104493
+ .long 1185261260
+ .long 1070839035
+ .long 1944781191
+ .long 1071096084
+ .long 3302240303
+ .long 1070862819
+ .long 1339972927
+ .long 1071087721
+ .long 3575110344
+ .long 1070886642
+ .long 1447192521
+ .long 1071079403
+ .long 709375646
+ .long 1070910505
+ .long 1218806132
+ .long 1071071130
+ .long 2005420950
+ .long 1070934407
+ .long 3907805044
+ .long 1071062901
+ .long 1883763132
+ .long 1070958350
+ .long 4182873220
+ .long 1071054717
+ .long 3359975962
+ .long 1070982334
+ .long 1013258799
+ .long 1071046578
+ .long 864909351
+ .long 1071006361
+ .long 1963711167
+ .long 1071038482
+ .long 1719614413
+ .long 1071030430
+ .long 1719614413
+ .long 1071030430
+ .long 365628427
+ .long 1071054543
+ .long 3561793907
+ .long 1071022421
+ .long 4134867513
+ .long 1071078699
+ .long 2186617381
+ .long 1071014456
+ .long 3184944616
+ .long 1071102901
+ .long 885834528
+ .long 1071006534
+ .long 564029795
+ .long 1071127149
+ .long 2956612997
+ .long 1070998654
+ .long 3621005023
+ .long 1071151442
+ .long 3111574537
+ .long 1070990817
+ .long 2530717257
+ .long 1071175783
+ .long 363667784
+ .long 1070983023
+ .long 358839240
+ .long 1071200172
+ .long 2321106615
+ .long 1070975270
+ .long 177057508
+ .long 1071224609
+ .long 3712504873
+ .long 1070967559
+ .long 768195176
+ .long 1071249095
+ .long 3566716925
+ .long 1070959890
+ .long 921269482
+ .long 1071273631
+ .long 917841882
+ .long 1070952263
+ .long 3726549525
+ .long 1071298217
+ .long 3395129871
+ .long 1070944676
+ .long 3690744995
+ .long 1071322855
+ .long 1453150082
+ .long 1070937131
+ .long 3916966168
+ .long 1071347545
+ .long 2731501122
+ .long 1070929626
+ .long 3219913010
+ .long 1071372288
+ .long 1990012071
+ .long 1070922162
+ .long 420933669
+ .long 1071397085
+ .long 2583551245
+ .long 1070914738
+ .long 2938050448
+ .long 1071421935
+ .long 3577096743
+ .long 1070907354
+ .long 1016247609
+ .long 1071446841
+ .long 4040676318
+ .long 1070900010
+ .long 2087301532
+ .long 1071471802
+ .long 3049340112
+ .long 1070892706
+ .long 705101620
+ .long 1071496820
+ .long 3978100823
+ .long 1070885441
+ .long 20578973
+ .long 1071521895
+ .long 1617004845
+ .long 1070878216
+ .long 3191864199
+ .long 1071547027
+ .long 3645941911
+ .long 1070871029
+ .long 499478133
+ .long 1071572219
+ .long 569847338
+ .long 1070863882
+ .long 3706163032
+ .long 1071597469
+ .long 78413852
+ .long 1070856773
+ .long 3107302654
+ .long 1071622780
+ .long 1276261410
+ .long 1070849702
+ .long 945376945
+ .long 1071646412
+ .long 3272845541
+ .long 1070842669
+ .long 3773502825
+ .long 1071659128
+ .long 887463927
+ .long 1070835675
+ .long 3049734401
+ .long 1071671876
+ .long 1829099622
+ .long 1070828718
+ .long 379637879
+ .long 1071684656
+ .long 926591435
+ .long 1070821799
+ .long 1667720032
+ .long 1071697467
+ .long 1603444721
+ .long 1070814917
+ .long 4232573504
+ .long 1071710310
+ .long 2992903935
+ .long 1070808072
+ .long 1101891425
+ .long 1071723187
+ .long 4232894513
+ .long 1070801264
+ .long 2487351331
+ .long 1071736096
+ .long 171030293
+ .long 1070794494
+ .long 1424924347
+ .long 1071749039
+ .long 2839424854
+ .long 1070787759
+ .long 3839693941
+ .long 1071762015
+ .long 2799960843
+ .long 1070781061
+ .long 2776099954
+ .long 1071775026
+ .long 3504003472
+ .long 1070774399
+ .long 4167790294
+ .long 1071788071
+ .long 4112506593
+ .long 1070767773
+ .long 1067865225
+ .long 1071801152
+ .long 3790955393
+ .long 1070761183
+ .long 3713696612
+ .long 1071814267
+ .long 1709341917
+ .long 1070754629
+ .long 872270569
+ .long 1071827419
+ .long 1337108031
+ .long 1070748110
+ .long 2789908864
+ .long 1071840606
+ .long 1853186616
+ .long 1070741626
+ .long 2537611823
+ .long 1071853830
+ .long 2440944790
+ .long 1070735177
+ .long 1780910816
+ .long 1071867091
+ .long 2288159958
+ .long 1070728763
+ .long 2189982503
+ .long 1071880389
+ .long 586995997
+ .long 1070722384
+ .long 1144730516
+ .long 1071893725
+ .long 828946858
+ .long 1070716039
+ .long 324769168
+ .long 1071907099
+ .long 2214878420
+ .long 1070709728
+ .long 1414505409
+ .long 1071920511
+ .long 3949972341
+ .long 1070703451
+ .long 1808220925
+ .long 1071933962
+ .long 948735466
+ .long 1070697209
+ .long 3200056266
+ .long 1071947452
+ .long 1014845819
+ .long 1070691000
+ .long 2994125935
+ .long 1071960982
+ .long 3366293073
+ .long 1070684824
+ .long 2894502806
+ .long 1071974552
+ .long 2930322912
+ .long 1070678682
+ .long 315333498
+ .long 1071988163
+ .long 3228316108
+ .long 1070672573
+ .long 1265790390
+ .long 1072001814
+ .long 3490863953
+ .long 1070666497
+ .long 3170252699
+ .long 1072015506
+ .long 2952712987
+ .long 1070660454
+ .long 3458291493
+ .long 1072029240
+ .long 852742562
+ .long 1070654444
+ .long 3859687560
+ .long 1072043016
+ .long 728909815
+ .long 1070648466
+ .long 1814547538
+ .long 1072056835
+ .long 1828292879
+ .long 1070642520
+ .long 3358256687
+ .long 1072070696
+ .long 3402036099
+ .long 1070636606
+ .long 1646693443
+ .long 1072084601
+ .long 410360776
+ .long 1070630725
+ .long 2726084392
+ .long 1072098549
+ .long 702412510
+ .long 1070624875
+ .long 4058219142
+ .long 1072112541
+ .long 3541402996
+ .long 1070619056
+ .long 3110436433
+ .long 1072126578
+ .long 3899555717
+ .long 1070613269
+ .long 1650643112
+ .long 1072140660
+ .long 1048019041
+ .long 1070607514
+ .long 1452398678
+ .long 1072154787
+ .long 2851812149
+ .long 1070601789
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 2146435072
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 2146435072
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 65472
+ .long 0
+ .long 65472
+ .long 0
+ .long 65472
+ .long 0
+ .long 65472
+ .long 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 127
+ .long 0
+ .long 127
+ .long 0
+ .long 127
+ .long 0
+ .long 127
+ .long 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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_dsinh_data_internal,@object
+ .size __svml_dsinh_data_internal,4288
+ .space 320, 0x00
+ .align 32
+
+__dsinh_la_CoutTab:
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 0
+ .long 1048019041
+ .long 1072704666
+ .long 1398474845
+ .long 3161559171
+ .long 3541402996
+ .long 1072716208
+ .long 2759177317
+ .long 1015903202
+ .long 410360776
+ .long 1072727877
+ .long 1269990655
+ .long 1013024446
+ .long 1828292879
+ .long 1072739672
+ .long 1255956747
+ .long 1016636974
+ .long 852742562
+ .long 1072751596
+ .long 667253587
+ .long 1010842135
+ .long 3490863953
+ .long 1072763649
+ .long 960797498
+ .long 3163997456
+ .long 2930322912
+ .long 1072775834
+ .long 2599499422
+ .long 3163762623
+ .long 1014845819
+ .long 1072788152
+ .long 3117910646
+ .long 3162607681
+ .long 3949972341
+ .long 1072800603
+ .long 2068408548
+ .long 1015962444
+ .long 828946858
+ .long 1072813191
+ .long 10642492
+ .long 1016988014
+ .long 2288159958
+ .long 1072825915
+ .long 2169144469
+ .long 1015924597
+ .long 1853186616
+ .long 1072838778
+ .long 3066496371
+ .long 1016705150
+ .long 1709341917
+ .long 1072851781
+ .long 2571168217
+ .long 1015201075
+ .long 4112506593
+ .long 1072864925
+ .long 2947355221
+ .long 1015419624
+ .long 2799960843
+ .long 1072878213
+ .long 1423655381
+ .long 1016070727
+ .long 171030293
+ .long 1072891646
+ .long 3526460132
+ .long 1015477354
+ .long 2992903935
+ .long 1072905224
+ .long 2218154406
+ .long 1016276769
+ .long 926591435
+ .long 1072918951
+ .long 3208833762
+ .long 3163962090
+ .long 887463927
+ .long 1072932827
+ .long 3596744163
+ .long 3161842742
+ .long 1276261410
+ .long 1072946854
+ .long 300981948
+ .long 1015732745
+ .long 569847338
+ .long 1072961034
+ .long 472945272
+ .long 3160339305
+ .long 1617004845
+ .long 1072975368
+ .long 82804944
+ .long 1011391354
+ .long 3049340112
+ .long 1072989858
+ .long 3062915824
+ .long 1014219171
+ .long 3577096743
+ .long 1073004506
+ .long 2951496418
+ .long 1014842263
+ .long 1990012071
+ .long 1073019314
+ .long 3529070563
+ .long 3163861769
+ .long 1453150082
+ .long 1073034283
+ .long 498154669
+ .long 3162536638
+ .long 917841882
+ .long 1073049415
+ .long 18715565
+ .long 1016707884
+ .long 3712504873
+ .long 1073064711
+ .long 88491949
+ .long 1016476236
+ .long 363667784
+ .long 1073080175
+ .long 813753950
+ .long 1016833785
+ .long 2956612997
+ .long 1073095806
+ .long 2118169751
+ .long 3163784129
+ .long 2186617381
+ .long 1073111608
+ .long 2270764084
+ .long 3164321289
+ .long 1719614413
+ .long 1073127582
+ .long 330458198
+ .long 3164331316
+ .long 1013258799
+ .long 1073143730
+ .long 1748797611
+ .long 3161177658
+ .long 3907805044
+ .long 1073160053
+ .long 2257091225
+ .long 3162598983
+ .long 1447192521
+ .long 1073176555
+ .long 1462857171
+ .long 3163563097
+ .long 1944781191
+ .long 1073193236
+ .long 3993278767
+ .long 3162772855
+ .long 919555682
+ .long 1073210099
+ .long 3121969534
+ .long 1013996802
+ .long 2571947539
+ .long 1073227145
+ .long 3558159064
+ .long 3164425245
+ .long 2604962541
+ .long 1073244377
+ .long 2614425274
+ .long 3164587768
+ .long 1110089947
+ .long 1073261797
+ .long 1451641639
+ .long 1016523249
+ .long 2568320822
+ .long 1073279406
+ .long 2732824428
+ .long 1015401491
+ .long 2966275557
+ .long 1073297207
+ .long 2176155324
+ .long 3160891335
+ .long 2682146384
+ .long 1073315202
+ .long 2082178513
+ .long 3164411995
+ .long 2191782032
+ .long 1073333393
+ .long 2960257726
+ .long 1014791238
+ .long 2069751141
+ .long 1073351782
+ .long 1562170675
+ .long 3163773257
+ .long 2990417245
+ .long 1073370371
+ .long 3683467745
+ .long 3164417902
+ .long 1434058175
+ .long 1073389163
+ .long 251133233
+ .long 1016134345
+ .long 2572866477
+ .long 1073408159
+ .long 878562433
+ .long 1016570317
+ .long 3092190715
+ .long 1073427362
+ .long 814012168
+ .long 3160571998
+ .long 4076559943
+ .long 1073446774
+ .long 2119478331
+ .long 3161806927
+ .long 2420883922
+ .long 1073466398
+ .long 2049810052
+ .long 1015168464
+ .long 3716502172
+ .long 1073486235
+ .long 2303740125
+ .long 1015091301
+ .long 777507147
+ .long 1073506289
+ .long 4282924205
+ .long 1016236109
+ .long 3706687593
+ .long 1073526560
+ .long 3521726939
+ .long 1014301643
+ .long 1242007932
+ .long 1073547053
+ .long 1132034716
+ .long 3164388407
+ .long 3707479175
+ .long 1073567768
+ .long 3613079303
+ .long 1015213314
+ .long 64696965
+ .long 1073588710
+ .long 1768797490
+ .long 1016865536
+ .long 863738719
+ .long 1073609879
+ .long 1326992220
+ .long 3163661773
+ .long 3884662774
+ .long 1073631278
+ .long 2158611599
+ .long 1015258761
+ .long 2728693978
+ .long 1073652911
+ .long 396109971
+ .long 3164511267
+ .long 3999357479
+ .long 1073674779
+ .long 2258941616
+ .long 1016973300
+ .long 1533953344
+ .long 1073696886
+ .long 769171851
+ .long 1016714209
+ .long 2174652632
+ .long 1073719233
+ .long 4087714590
+ .long 1015498835
+ .long 0
+ .long 1073741824
+ .long 0
+ .long 0
+ .long 0
+ .long 1071644672
+ .long 1431652600
+ .long 1069897045
+ .long 1431670732
+ .long 1067799893
+ .long 984555731
+ .long 1065423122
+ .long 472530941
+ .long 1062650218
+ .long 1431655765
+ .long 1069897045
+ .long 286331153
+ .long 1065423121
+ .long 436314138
+ .long 1059717536
+ .long 2773927732
+ .long 1053236707
+ .long 1697350398
+ .long 1079448903
+ .long 0
+ .long 1127743488
+ .long 33554432
+ .long 1101004800
+ .long 2411329662
+ .long 1082536910
+ .long 4277796864
+ .long 1065758274
+ .long 3164486458
+ .long 1025308570
+ .long 1
+ .long 1048576
+ .long 4294967295
+ .long 2146435071
+ .long 3671843104
+ .long 1067178892
+ .long 3875694624
+ .long 1077247184
+ .type __dsinh_la_CoutTab,@object
+ .size __dsinh_la_CoutTab,1192
+ .space 8, 0x00
+ .align 16
+
+.FLT_98:
+ .long 0x00000000,0x80000000,0x00000000,0x00000000
+ .type .FLT_98,@object
+ .size .FLT_98,16
new file mode 100644
@@ -0,0 +1,20 @@
+/* AVX2 version of vectorized sinh, 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_sinh _ZGVeN8v_sinh_avx2_wrapper
+#include "../svml_d_sinh8_core.S"
new file mode 100644
@@ -0,0 +1,27 @@
+/* Multiple versions of vectorized sinh, 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_sinh
+#include "ifunc-mathvec-avx512-skx.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVeN8v_sinh, __GI__ZGVeN8v_sinh, __redirect__ZGVeN8v_sinh)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,2025 @@
+/* Function sinh 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:
+ *
+ * Compute sinh(x) as (exp(x)-exp(-x))/2,
+ * where exp is calculated as
+ * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r)
+ *
+ * Special cases:
+ *
+ * sinh(NaN) = quiet NaN, and raise invalid exception
+ * sinh(INF) = that INF
+ * sinh(x) = x for subnormals
+ * sinh(x) overflows for big x and returns MAXLOG+log(2)
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVeN8v_sinh_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
+ lea 1608+__svml_dsinh_data_internal(%rip), %rax
+ vmovaps %zmm0, %zmm8
+
+/* Abs argument */
+ vandpd 1408+__svml_dsinh_data_internal(%rip), %zmm8, %zmm7
+ vmovups 3648+__svml_dsinh_data_internal(%rip), %zmm13
+
+/*
+ * Load argument
+ * dM = x*2^K/log(2) + RShifter
+ */
+ vmovups 1216+__svml_dsinh_data_internal(%rip), %zmm12
+ vmovups 1280+__svml_dsinh_data_internal(%rip), %zmm14
+ vmovups 4032+__svml_dsinh_data_internal(%rip), %zmm6
+
+/* VLOAD_CONST( D, dPC[0], TAB._dPC1 ); */
+ vmovups 3968+__svml_dsinh_data_internal(%rip), %zmm4
+ vxorpd %zmm8, %zmm7, %zmm5
+ kxnorw %k0, %k0, %k1
+ kxnorw %k0, %k0, %k2
+ vfmadd213pd {rn-sae}, %zmm13, %zmm5, %zmm12
+
+/*
+ * Check for overflow\underflow
+ *
+ */
+ vpsrlq $32, %zmm5, %zmm9
+
+/*
+ * R
+ * dN = dM - RShifter
+ */
+ vsubpd {rn-sae}, %zmm13, %zmm12, %zmm2
+ vpmovqd %zmm9, %ymm10
+ vmovups 1344+__svml_dsinh_data_internal(%rip), %zmm9
+
+/* dR = dX - dN*Log2_hi/2^K */
+ vfnmadd231pd {rn-sae}, %zmm14, %zmm2, %zmm5
+
+/*
+ * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) ....
+ * dSinh_r = (a3+r^2*a5)
+ */
+ vmovups 3904+__svml_dsinh_data_internal(%rip), %zmm14
+
+/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */
+ vfnmadd231pd {rn-sae}, %zmm9, %zmm2, %zmm5
+ vpcmpgtd 3712+__svml_dsinh_data_internal(%rip), %ymm10, %ymm11
+ vmovmskps %ymm11, %edx
+
+/* dR2 = dR^2 */
+ vmulpd {rn-sae}, %zmm5, %zmm5, %zmm2
+ vfmadd231pd {rn-sae}, %zmm2, %zmm6, %zmm14
+
+/*
+ * Index and lookup
+ * j
+ */
+ vpandq 4224+__svml_dsinh_data_internal(%rip), %zmm12, %zmm15
+ vpsllq $4, %zmm15, %zmm1
+ vpmovqd %zmm1, %ymm0
+ vpxord %zmm11, %zmm11, %zmm11
+ vpxord %zmm10, %zmm10, %zmm10
+ vgatherdpd (%rax,%ymm0), %zmm11{%k1}
+ vgatherdpd -8(%rax,%ymm0), %zmm10{%k2}
+
+/* split j and N */
+ vpxorq %zmm15, %zmm12, %zmm3
+
+/*
+ * G1,G2,G3: dTdif,dTn * 2^N,2^(-N)
+ * lM now is an EXP(2^N)
+ */
+ vpsllq $45, %zmm3, %zmm3
+ vpaddq %zmm3, %zmm10, %zmm1
+
+/* */
+ vpaddq %zmm3, %zmm11, %zmm12
+
+/* */
+ vpsubq %zmm3, %zmm11, %zmm13
+
+/* dSinh_r = r^2*(a3+r^2*a5) */
+ vmulpd {rn-sae}, %zmm2, %zmm14, %zmm3
+
+/* dG2 = dTn*2^N - dTn*2^-N */
+ vsubpd {rn-sae}, %zmm13, %zmm12, %zmm15
+
+/* dG3 = dTn*2^N + dTn*2^-N */
+ vaddpd {rn-sae}, %zmm13, %zmm12, %zmm0
+
+/* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */
+ vfmadd213pd {rn-sae}, %zmm5, %zmm5, %zmm3
+
+/*
+ * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2)
+ * dOut = (a2 +a4*dR2)
+ */
+ vmovups 3840+__svml_dsinh_data_internal(%rip), %zmm5
+
+/* dG1 += dG3 */
+ vaddpd {rn-sae}, %zmm0, %zmm1, %zmm6
+ vfmadd231pd {rn-sae}, %zmm2, %zmm4, %zmm5
+
+/* dOut = dR2*(a2 +a4*dR2) */
+ vmulpd {rn-sae}, %zmm2, %zmm5, %zmm4
+
+/* dG2 += dG1 */
+ vaddpd {rn-sae}, %zmm15, %zmm1, %zmm2
+
+/* dOut = dG2*dR2*(a2 +a4*dR2) */
+ vmulpd {rn-sae}, %zmm2, %zmm4, %zmm4
+
+/* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */
+ vfmadd213pd {rn-sae}, %zmm4, %zmm6, %zmm3
+
+/* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */
+ vaddpd {rn-sae}, %zmm2, %zmm3, %zmm0
+
+/* Ret H */
+ vorpd %zmm0, %zmm7, %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 %zmm8, 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_dsinh_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVeN8v_sinh_skx)
+
+ .align 16,0x90
+
+__svml_dsinh_cout_rare_internal:
+
+ cfi_startproc
+
+ movq %rsi, %r9
+ movzwl 6(%rdi), %ecx
+ xorl %eax, %eax
+ andl $32752, %ecx
+ shrl $4, %ecx
+ movsd (%rdi), %xmm2
+ movb 7(%rdi), %dl
+ movsd %xmm2, -8(%rsp)
+ cmpl $2047, %ecx
+ je .LBL_2_17
+ testl %ecx, %ecx
+ jle .LBL_2_16
+ andb $127, %dl
+ movsd %xmm2, -32(%rsp)
+ movb %dl, -25(%rsp)
+ cmpl $969, %ecx
+ jle .LBL_2_14
+ movsd -32(%rsp), %xmm0
+ movsd 1136+__dsinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_13
+ movsd 1184+__dsinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_9
+ comisd 1176+__dsinh_la_CoutTab(%rip), %xmm0
+ jb .LBL_2_8
+ movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1
+ lea __dsinh_la_CoutTab(%rip), %rcx
+ mulsd %xmm0, %xmm1
+ movsd 1144+__dsinh_la_CoutTab(%rip), %xmm4
+ movq 8+__dsinh_la_CoutTab(%rip), %r10
+ movq %r10, %rsi
+ shrq $48, %rsi
+ addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -40(%rsp)
+ andl $-32753, %esi
+ movsd -40(%rsp), %xmm10
+ movl -40(%rsp), %r8d
+ movl %r8d, %r11d
+ shrl $6, %r11d
+ andl $63, %r8d
+ movq %r10, -16(%rsp)
+ subsd 1120+__dsinh_la_CoutTab(%rip), %xmm10
+ mulsd %xmm10, %xmm4
+ lea 1023(%r11), %edi
+ xorps .FLT_97(%rip), %xmm10
+ addl $1022, %r11d
+ mulsd 1152+__dsinh_la_CoutTab(%rip), %xmm10
+ subsd %xmm4, %xmm0
+ movaps %xmm10, %xmm2
+ movaps %xmm0, %xmm8
+ andl $2047, %r11d
+ lea (%r8,%r8), %edx
+ negl %edi
+ lea 1(%r8,%r8), %r8d
+ movsd (%rcx,%rdx,8), %xmm9
+ negl %edx
+ shll $4, %r11d
+ addl $-4, %edi
+ orl %r11d, %esi
+ andl $2047, %edi
+ movw %si, -10(%rsp)
+ andl $-32753, %esi
+ shll $4, %edi
+ addsd %xmm0, %xmm2
+ movsd %xmm2, -24(%rsp)
+ orl %edi, %esi
+ movsd -24(%rsp), %xmm6
+ movsd 1128+__dsinh_la_CoutTab(%rip), %xmm2
+ subsd %xmm6, %xmm8
+ movsd %xmm8, -56(%rsp)
+ movsd -24(%rsp), %xmm12
+ movsd -56(%rsp), %xmm11
+ movsd (%rcx,%r8,8), %xmm7
+ addsd %xmm11, %xmm12
+ movsd %xmm12, -48(%rsp)
+ movsd -56(%rsp), %xmm5
+ addsd %xmm5, %xmm10
+ movsd -16(%rsp), %xmm5
+ mulsd %xmm5, %xmm9
+ mulsd %xmm5, %xmm7
+ movsd %xmm10, -56(%rsp)
+ movaps %xmm9, %xmm10
+ movsd -48(%rsp), %xmm13
+ movw %si, -10(%rsp)
+ lea 128(%rdx), %esi
+ movsd -16(%rsp), %xmm14
+ addl $129, %edx
+ subsd %xmm13, %xmm0
+ movsd %xmm0, -48(%rsp)
+ movsd -56(%rsp), %xmm1
+ movsd -48(%rsp), %xmm15
+ addsd %xmm15, %xmm1
+ movsd %xmm1, -48(%rsp)
+ movsd -24(%rsp), %xmm4
+ mulsd %xmm4, %xmm2
+ movaps %xmm4, %xmm3
+ mulsd %xmm4, %xmm3
+ movsd -48(%rsp), %xmm1
+ movaps %xmm4, %xmm0
+ movsd %xmm2, -24(%rsp)
+ movsd -24(%rsp), %xmm6
+ movsd 1064+__dsinh_la_CoutTab(%rip), %xmm2
+ subsd %xmm4, %xmm6
+ mulsd %xmm3, %xmm2
+ movsd %xmm6, -56(%rsp)
+ movsd -24(%rsp), %xmm11
+ movsd -56(%rsp), %xmm8
+ subsd %xmm8, %xmm11
+ addsd 1048+__dsinh_la_CoutTab(%rip), %xmm2
+ movsd %xmm11, -24(%rsp)
+ movsd 1072+__dsinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm3, %xmm11
+ mulsd %xmm3, %xmm2
+ addsd 1056+__dsinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm4, %xmm2
+ mulsd %xmm3, %xmm11
+ movsd -24(%rsp), %xmm12
+ addsd 1040+__dsinh_la_CoutTab(%rip), %xmm11
+ subsd %xmm12, %xmm0
+ mulsd %xmm3, %xmm11
+ movsd (%rcx,%rsi,8), %xmm3
+ movaps %xmm9, %xmm12
+ mulsd %xmm14, %xmm3
+ movsd %xmm0, -56(%rsp)
+ subsd %xmm3, %xmm10
+ movsd -24(%rsp), %xmm8
+ movsd -56(%rsp), %xmm6
+ movsd %xmm10, -24(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd (%rcx,%rdx,8), %xmm0
+ subsd %xmm13, %xmm12
+ mulsd %xmm14, %xmm0
+ subsd %xmm3, %xmm12
+ movsd %xmm12, -56(%rsp)
+ movsd -24(%rsp), %xmm14
+ movsd -56(%rsp), %xmm12
+ movaps %xmm14, %xmm5
+ movb -1(%rsp), %cl
+ addsd %xmm7, %xmm12
+ addsd %xmm0, %xmm7
+ subsd %xmm0, %xmm12
+ andb $-128, %cl
+ addsd %xmm12, %xmm5
+ movsd %xmm5, -24(%rsp)
+ movaps %xmm9, %xmm5
+ movsd -24(%rsp), %xmm15
+ addsd %xmm3, %xmm5
+ subsd %xmm15, %xmm14
+ addsd %xmm14, %xmm12
+ movsd %xmm12, -56(%rsp)
+ movsd -24(%rsp), %xmm10
+ movsd -56(%rsp), %xmm12
+ movsd %xmm5, -24(%rsp)
+ movsd -24(%rsp), %xmm13
+ subsd %xmm13, %xmm9
+ addsd %xmm9, %xmm3
+ movsd %xmm3, -56(%rsp)
+ movsd -24(%rsp), %xmm3
+ movsd -56(%rsp), %xmm5
+ addsd %xmm7, %xmm5
+ movaps %xmm3, %xmm7
+ addsd %xmm5, %xmm7
+ movsd %xmm7, -24(%rsp)
+ movsd -24(%rsp), %xmm9
+ movsd 1128+__dsinh_la_CoutTab(%rip), %xmm7
+ subsd %xmm9, %xmm3
+ addsd %xmm3, %xmm5
+ movsd %xmm5, -56(%rsp)
+ movsd -24(%rsp), %xmm0
+ mulsd %xmm0, %xmm7
+ movsd -56(%rsp), %xmm3
+ movsd %xmm7, -24(%rsp)
+ movaps %xmm0, %xmm7
+ movsd -24(%rsp), %xmm14
+ mulsd %xmm3, %xmm4
+ subsd %xmm0, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm9
+ subsd %xmm9, %xmm13
+ movsd %xmm13, -24(%rsp)
+ movaps %xmm0, %xmm13
+ movsd -24(%rsp), %xmm15
+ mulsd %xmm2, %xmm13
+ subsd %xmm15, %xmm7
+ mulsd %xmm1, %xmm0
+ mulsd %xmm3, %xmm1
+ mulsd %xmm3, %xmm2
+ movaps %xmm10, %xmm15
+ movaps %xmm13, %xmm5
+ mulsd %xmm11, %xmm15
+ mulsd %xmm12, %xmm11
+ addsd %xmm15, %xmm5
+ addsd %xmm12, %xmm11
+ movsd %xmm7, -56(%rsp)
+ addsd %xmm0, %xmm11
+ movsd -24(%rsp), %xmm9
+ addsd %xmm1, %xmm11
+ movsd -56(%rsp), %xmm7
+ addsd %xmm2, %xmm11
+ movsd %xmm5, -24(%rsp)
+ addsd %xmm4, %xmm11
+ movsd -24(%rsp), %xmm14
+ subsd %xmm14, %xmm13
+ addsd %xmm13, %xmm15
+ movsd %xmm15, -56(%rsp)
+ movaps %xmm8, %xmm15
+ mulsd %xmm9, %xmm15
+ mulsd %xmm6, %xmm9
+ mulsd %xmm7, %xmm6
+ mulsd %xmm7, %xmm8
+ movsd -24(%rsp), %xmm14
+ movaps %xmm15, %xmm13
+ movsd -56(%rsp), %xmm5
+ addsd %xmm14, %xmm13
+ addsd %xmm9, %xmm5
+ movsd %xmm13, -24(%rsp)
+ addsd %xmm6, %xmm5
+ movsd -24(%rsp), %xmm13
+ addsd %xmm8, %xmm5
+ subsd %xmm13, %xmm15
+ addsd %xmm5, %xmm11
+ addsd %xmm15, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movaps %xmm10, %xmm15
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm14
+ addsd %xmm13, %xmm15
+ addsd %xmm14, %xmm11
+ movsd %xmm15, -24(%rsp)
+ movsd -24(%rsp), %xmm15
+ subsd %xmm15, %xmm10
+ addsd %xmm10, %xmm13
+ movsd %xmm13, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm10
+ addsd %xmm10, %xmm11
+ addsd %xmm11, %xmm13
+ movsd %xmm13, -32(%rsp)
+ movb -25(%rsp), %dil
+ andb $127, %dil
+ orb %cl, %dil
+ movb %dil, -25(%rsp)
+ movq -32(%rsp), %r10
+ movq %r10, (%r9)
+ ret
+
+.LBL_2_8:
+ movaps %xmm0, %xmm2
+ mulsd %xmm0, %xmm2
+ movsd 1104+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ movb -1(%rsp), %dl
+ andb $-128, %dl
+ addsd 1096+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1088+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1080+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm1, %xmm2
+ mulsd %xmm0, %xmm2
+ addsd %xmm2, %xmm0
+ movsd %xmm0, -32(%rsp)
+ movb -25(%rsp), %cl
+ andb $127, %cl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movq -32(%rsp), %rsi
+ movq %rsi, (%r9)
+ ret
+
+.LBL_2_9:
+ movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1
+ lea __dsinh_la_CoutTab(%rip), %r8
+ mulsd %xmm0, %xmm1
+ movsd 1144+__dsinh_la_CoutTab(%rip), %xmm2
+ movsd 1152+__dsinh_la_CoutTab(%rip), %xmm3
+ movq 8+__dsinh_la_CoutTab(%rip), %rdx
+ movq %rdx, -16(%rsp)
+ addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -40(%rsp)
+ movsd -40(%rsp), %xmm4
+ movsd 1072+__dsinh_la_CoutTab(%rip), %xmm1
+ movl -40(%rsp), %edx
+ movl %edx, %esi
+ andl $63, %esi
+ subsd 1120+__dsinh_la_CoutTab(%rip), %xmm4
+ mulsd %xmm4, %xmm2
+ lea (%rsi,%rsi), %ecx
+ mulsd %xmm3, %xmm4
+ subsd %xmm2, %xmm0
+ movsd (%r8,%rcx,8), %xmm5
+ lea 1(%rsi,%rsi), %edi
+ shrl $6, %edx
+ subsd %xmm4, %xmm0
+ mulsd %xmm0, %xmm1
+ addl $1022, %edx
+ andl $2047, %edx
+ addsd 1064+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1056+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1048+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1040+__dsinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ mulsd %xmm0, %xmm1
+ addsd %xmm0, %xmm1
+ mulsd %xmm5, %xmm1
+ addsd (%r8,%rdi,8), %xmm1
+ addsd %xmm5, %xmm1
+ cmpl $2046, %edx
+ ja .LBL_2_11
+ movq 8+__dsinh_la_CoutTab(%rip), %rcx
+ shrq $48, %rcx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm0, %xmm1
+ movsd %xmm1, -32(%rsp)
+ jmp .LBL_2_12
+
+.LBL_2_11:
+ decl %edx
+ andl $2047, %edx
+ movzwl -10(%rsp), %ecx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm0, %xmm1
+ mulsd 1024+__dsinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -32(%rsp)
+
+.LBL_2_12:
+ movb -25(%rsp), %cl
+ movb -1(%rsp), %dl
+ andb $127, %cl
+ andb $-128, %dl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movq -32(%rsp), %rsi
+ movq %rsi, (%r9)
+ ret
+
+.LBL_2_13:
+ movsd 1168+__dsinh_la_CoutTab(%rip), %xmm0
+ movl $3, %eax
+ mulsd %xmm2, %xmm0
+ movsd %xmm0, (%r9)
+ ret
+
+.LBL_2_14:
+ movsd __dsinh_la_CoutTab(%rip), %xmm0
+ addsd 1160+__dsinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm2, %xmm0
+ movsd %xmm0, (%r9)
+ ret
+
+.LBL_2_16:
+ movsd 1160+__dsinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm0, %xmm2
+ movsd %xmm2, -24(%rsp)
+ movsd -24(%rsp), %xmm1
+ movq 8+__dsinh_la_CoutTab(%rip), %rdx
+ movq %rdx, -16(%rsp)
+ addsd -8(%rsp), %xmm1
+ movsd %xmm1, (%r9)
+ ret
+
+.LBL_2_17:
+ addsd %xmm2, %xmm2
+ movsd %xmm2, (%r9)
+ ret
+
+ cfi_endproc
+
+ .type __svml_dsinh_cout_rare_internal,@function
+ .size __svml_dsinh_cout_rare_internal,.-__svml_dsinh_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_dsinh_data_internal:
+ .long 0
+ .long 1071644672
+ .long 1828292879
+ .long 1071691096
+ .long 1014845819
+ .long 1071739576
+ .long 1853186616
+ .long 1071790202
+ .long 171030293
+ .long 1071843070
+ .long 1276261410
+ .long 1071898278
+ .long 3577096743
+ .long 1071955930
+ .long 3712504873
+ .long 1072016135
+ .long 1719614413
+ .long 1072079006
+ .long 1944781191
+ .long 1072144660
+ .long 1110089947
+ .long 1072213221
+ .long 2191782032
+ .long 1072284817
+ .long 2572866477
+ .long 1072359583
+ .long 3716502172
+ .long 1072437659
+ .long 3707479175
+ .long 1072519192
+ .long 2728693978
+ .long 1072604335
+ .long 0
+ .long 0
+ .long 1255956747
+ .long 1015588398
+ .long 3117910646
+ .long 3161559105
+ .long 3066496371
+ .long 1015656574
+ .long 3526460132
+ .long 1014428778
+ .long 300981948
+ .long 1014684169
+ .long 2951496418
+ .long 1013793687
+ .long 88491949
+ .long 1015427660
+ .long 330458198
+ .long 3163282740
+ .long 3993278767
+ .long 3161724279
+ .long 1451641639
+ .long 1015474673
+ .long 2960257726
+ .long 1013742662
+ .long 878562433
+ .long 1015521741
+ .long 2303740125
+ .long 1014042725
+ .long 3613079303
+ .long 1014164738
+ .long 396109971
+ .long 3163462691
+ .long 0
+ .long 1071644672
+ .long 2728693978
+ .long 1071555759
+ .long 3707479175
+ .long 1071470616
+ .long 3716502172
+ .long 1071389083
+ .long 2572866477
+ .long 1071311007
+ .long 2191782032
+ .long 1071236241
+ .long 1110089947
+ .long 1071164645
+ .long 1944781191
+ .long 1071096084
+ .long 1719614413
+ .long 1071030430
+ .long 3712504873
+ .long 1070967559
+ .long 3577096743
+ .long 1070907354
+ .long 1276261410
+ .long 1070849702
+ .long 171030293
+ .long 1070794494
+ .long 1853186616
+ .long 1070741626
+ .long 1014845819
+ .long 1070691000
+ .long 1828292879
+ .long 1070642520
+ .long 0
+ .long 0
+ .long 396109971
+ .long 3162414115
+ .long 3613079303
+ .long 1013116162
+ .long 2303740125
+ .long 1012994149
+ .long 878562433
+ .long 1014473165
+ .long 2960257726
+ .long 1012694086
+ .long 1451641639
+ .long 1014426097
+ .long 3993278767
+ .long 3160675703
+ .long 330458198
+ .long 3162234164
+ .long 88491949
+ .long 1014379084
+ .long 2951496418
+ .long 1012745111
+ .long 300981948
+ .long 1013635593
+ .long 3526460132
+ .long 1013380202
+ .long 3066496371
+ .long 1014607998
+ .long 3117910646
+ .long 3160510529
+ .long 1255956747
+ .long 1014539822
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .long 0
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1
+ .long 1123549184
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 1082453555
+ .long 15
+ .long 0
+ .long 15
+ .long 0
+ .long 15
+ .long 0
+ .long 15
+ .long 0
+ .long 15
+ .long 0
+ .long 15
+ .long 0
+ .long 15
+ .long 0
+ .long 15
+ .long 0
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .long 1431657638
+ .long 1069897045
+ .long 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .long 1431653196
+ .long 1067799893
+ .long 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .long 249327322
+ .long 1065423121
+ .long 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .long 419584011
+ .long 1062650220
+ .long 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .long 100753094
+ .long 1059717741
+ .long 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .long 461398617
+ .long 1056571820
+ .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 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .long 4277796864
+ .long 1072049730
+ .long 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .long 3164486458
+ .long 1031600026
+ .long 0
+ .long 2147483648
+ .long 0
+ .long 2147483648
+ .long 0
+ .long 2147483648
+ .long 0
+ .long 2147483648
+ .long 0
+ .long 2147483648
+ .long 0
+ .long 2147483648
+ .long 0
+ .long 2147483648
+ .long 0
+ .long 2147483648
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .long 0
+ .long 1071644672
+ .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 0
+ .long 0
+ .long 0
+ .long 1071644672
+ .long 431824500
+ .long 1064709706
+ .long 730821105
+ .long 1071633346
+ .long 1779301686
+ .long 1065758303
+ .long 2174652632
+ .long 1071622081
+ .long 872681311
+ .long 1066443490
+ .long 2912730644
+ .long 1071610877
+ .long 2882296449
+ .long 1066806964
+ .long 1533953344
+ .long 1071599734
+ .long 3305321028
+ .long 1067170481
+ .long 929806999
+ .long 1071588651
+ .long 340716357
+ .long 1067492210
+ .long 3999357479
+ .long 1071577627
+ .long 1073477808
+ .long 1067674027
+ .long 764307441
+ .long 1071566664
+ .long 3128166954
+ .long 1067855881
+ .long 2728693978
+ .long 1071555759
+ .long 3639221082
+ .long 1068037778
+ .long 4224142467
+ .long 1071544913
+ .long 4041415279
+ .long 1068219723
+ .long 3884662774
+ .long 1071534126
+ .long 1480599658
+ .long 1068401722
+ .long 351641897
+ .long 1071523398
+ .long 2997120266
+ .long 1068541361
+ .long 863738719
+ .long 1071512727
+ .long 928693471
+ .long 1068632422
+ .long 4076975200
+ .long 1071502113
+ .long 1708958952
+ .long 1068723517
+ .long 64696965
+ .long 1071491558
+ .long 3926287402
+ .long 1068814649
+ .long 382305176
+ .long 1071481059
+ .long 1878784442
+ .long 1068905822
+ .long 3707479175
+ .long 1071470616
+ .long 2754496392
+ .long 1068997037
+ .long 135105010
+ .long 1071460231
+ .long 861943228
+ .long 1069088298
+ .long 1242007932
+ .long 1071449901
+ .long 3400259254
+ .long 1069179606
+ .long 1432208378
+ .long 1071439627
+ .long 394759087
+ .long 1069270966
+ .long 3706687593
+ .long 1071429408
+ .long 3351980561
+ .long 1069362378
+ .long 2483480501
+ .long 1071419245
+ .long 2310349189
+ .long 1069453847
+ .long 777507147
+ .long 1071409137
+ .long 200254151
+ .long 1069545375
+ .long 1610600570
+ .long 1071399083
+ .long 4274709417
+ .long 1069592241
+ .long 3716502172
+ .long 1071389083
+ .long 2266782956
+ .long 1069638068
+ .long 1540824585
+ .long 1071379138
+ .long 1995599824
+ .long 1069683928
+ .long 2420883922
+ .long 1071369246
+ .long 647201135
+ .long 1069729823
+ .long 815859274
+ .long 1071359408
+ .long 4001939191
+ .long 1069775753
+ .long 4076559943
+ .long 1071349622
+ .long 664843213
+ .long 1069821722
+ .long 2380618042
+ .long 1071339890
+ .long 720494647
+ .long 1069867729
+ .long 3092190715
+ .long 1071330210
+ .long 1373458573
+ .long 1069913776
+ .long 697153126
+ .long 1071320583
+ .long 4128322810
+ .long 1069959864
+ .long 2572866477
+ .long 1071311007
+ .long 1904966097
+ .long 1070005996
+ .long 3218338682
+ .long 1071301483
+ .long 513564799
+ .long 1070052172
+ .long 1434058175
+ .long 1071292011
+ .long 1474894098
+ .long 1070098393
+ .long 321958744
+ .long 1071282590
+ .long 2020498546
+ .long 1070144661
+ .long 2990417245
+ .long 1071273219
+ .long 3682797359
+ .long 1070190977
+ .long 3964284211
+ .long 1071263899
+ .long 3705320722
+ .long 1070237343
+ .long 2069751141
+ .long 1071254630
+ .long 3632815436
+ .long 1070283760
+ .long 434316067
+ .long 1071245411
+ .long 721481577
+ .long 1070330230
+ .long 2191782032
+ .long 1071236241
+ .long 824045819
+ .long 1070376753
+ .long 1892288442
+ .long 1071227121
+ .long 1210063881
+ .long 1070423331
+ .long 2682146384
+ .long 1071218050
+ .long 3450994238
+ .long 1070469965
+ .long 3418903055
+ .long 1071209028
+ .long 535468266
+ .long 1070516658
+ .long 2966275557
+ .long 1071200055
+ .long 2639266259
+ .long 1070563409
+ .long 194117574
+ .long 1071191131
+ .long 3530359402
+ .long 1070603158
+ .long 2568320822
+ .long 1071182254
+ .long 3405407025
+ .long 1070626595
+ .long 380978316
+ .long 1071173426
+ .long 1749136243
+ .long 1070650064
+ .long 1110089947
+ .long 1071164645
+ .long 1517376385
+ .long 1070673565
+ .long 3649726105
+ .long 1071155911
+ .long 1375061601
+ .long 1070697099
+ .long 2604962541
+ .long 1071147225
+ .long 4286252247
+ .long 1070720666
+ .long 1176749997
+ .long 1071138586
+ .long 334352625
+ .long 1070744269
+ .long 2571947539
+ .long 1071129993
+ .long 1081936396
+ .long 1070767906
+ .long 1413356050
+ .long 1071121447
+ .long 916128083
+ .long 1070791579
+ .long 919555682
+ .long 1071112947
+ .long 2818494152
+ .long 1070815288
+ .long 19972402
+ .long 1071104493
+ .long 1185261260
+ .long 1070839035
+ .long 1944781191
+ .long 1071096084
+ .long 3302240303
+ .long 1070862819
+ .long 1339972927
+ .long 1071087721
+ .long 3575110344
+ .long 1070886642
+ .long 1447192521
+ .long 1071079403
+ .long 709375646
+ .long 1070910505
+ .long 1218806132
+ .long 1071071130
+ .long 2005420950
+ .long 1070934407
+ .long 3907805044
+ .long 1071062901
+ .long 1883763132
+ .long 1070958350
+ .long 4182873220
+ .long 1071054717
+ .long 3359975962
+ .long 1070982334
+ .long 1013258799
+ .long 1071046578
+ .long 864909351
+ .long 1071006361
+ .long 1963711167
+ .long 1071038482
+ .long 1719614413
+ .long 1071030430
+ .long 1719614413
+ .long 1071030430
+ .long 365628427
+ .long 1071054543
+ .long 3561793907
+ .long 1071022421
+ .long 4134867513
+ .long 1071078699
+ .long 2186617381
+ .long 1071014456
+ .long 3184944616
+ .long 1071102901
+ .long 885834528
+ .long 1071006534
+ .long 564029795
+ .long 1071127149
+ .long 2956612997
+ .long 1070998654
+ .long 3621005023
+ .long 1071151442
+ .long 3111574537
+ .long 1070990817
+ .long 2530717257
+ .long 1071175783
+ .long 363667784
+ .long 1070983023
+ .long 358839240
+ .long 1071200172
+ .long 2321106615
+ .long 1070975270
+ .long 177057508
+ .long 1071224609
+ .long 3712504873
+ .long 1070967559
+ .long 768195176
+ .long 1071249095
+ .long 3566716925
+ .long 1070959890
+ .long 921269482
+ .long 1071273631
+ .long 917841882
+ .long 1070952263
+ .long 3726549525
+ .long 1071298217
+ .long 3395129871
+ .long 1070944676
+ .long 3690744995
+ .long 1071322855
+ .long 1453150082
+ .long 1070937131
+ .long 3916966168
+ .long 1071347545
+ .long 2731501122
+ .long 1070929626
+ .long 3219913010
+ .long 1071372288
+ .long 1990012071
+ .long 1070922162
+ .long 420933669
+ .long 1071397085
+ .long 2583551245
+ .long 1070914738
+ .long 2938050448
+ .long 1071421935
+ .long 3577096743
+ .long 1070907354
+ .long 1016247609
+ .long 1071446841
+ .long 4040676318
+ .long 1070900010
+ .long 2087301532
+ .long 1071471802
+ .long 3049340112
+ .long 1070892706
+ .long 705101620
+ .long 1071496820
+ .long 3978100823
+ .long 1070885441
+ .long 20578973
+ .long 1071521895
+ .long 1617004845
+ .long 1070878216
+ .long 3191864199
+ .long 1071547027
+ .long 3645941911
+ .long 1070871029
+ .long 499478133
+ .long 1071572219
+ .long 569847338
+ .long 1070863882
+ .long 3706163032
+ .long 1071597469
+ .long 78413852
+ .long 1070856773
+ .long 3107302654
+ .long 1071622780
+ .long 1276261410
+ .long 1070849702
+ .long 945376945
+ .long 1071646412
+ .long 3272845541
+ .long 1070842669
+ .long 3773502825
+ .long 1071659128
+ .long 887463927
+ .long 1070835675
+ .long 3049734401
+ .long 1071671876
+ .long 1829099622
+ .long 1070828718
+ .long 379637879
+ .long 1071684656
+ .long 926591435
+ .long 1070821799
+ .long 1667720032
+ .long 1071697467
+ .long 1603444721
+ .long 1070814917
+ .long 4232573504
+ .long 1071710310
+ .long 2992903935
+ .long 1070808072
+ .long 1101891425
+ .long 1071723187
+ .long 4232894513
+ .long 1070801264
+ .long 2487351331
+ .long 1071736096
+ .long 171030293
+ .long 1070794494
+ .long 1424924347
+ .long 1071749039
+ .long 2839424854
+ .long 1070787759
+ .long 3839693941
+ .long 1071762015
+ .long 2799960843
+ .long 1070781061
+ .long 2776099954
+ .long 1071775026
+ .long 3504003472
+ .long 1070774399
+ .long 4167790294
+ .long 1071788071
+ .long 4112506593
+ .long 1070767773
+ .long 1067865225
+ .long 1071801152
+ .long 3790955393
+ .long 1070761183
+ .long 3713696612
+ .long 1071814267
+ .long 1709341917
+ .long 1070754629
+ .long 872270569
+ .long 1071827419
+ .long 1337108031
+ .long 1070748110
+ .long 2789908864
+ .long 1071840606
+ .long 1853186616
+ .long 1070741626
+ .long 2537611823
+ .long 1071853830
+ .long 2440944790
+ .long 1070735177
+ .long 1780910816
+ .long 1071867091
+ .long 2288159958
+ .long 1070728763
+ .long 2189982503
+ .long 1071880389
+ .long 586995997
+ .long 1070722384
+ .long 1144730516
+ .long 1071893725
+ .long 828946858
+ .long 1070716039
+ .long 324769168
+ .long 1071907099
+ .long 2214878420
+ .long 1070709728
+ .long 1414505409
+ .long 1071920511
+ .long 3949972341
+ .long 1070703451
+ .long 1808220925
+ .long 1071933962
+ .long 948735466
+ .long 1070697209
+ .long 3200056266
+ .long 1071947452
+ .long 1014845819
+ .long 1070691000
+ .long 2994125935
+ .long 1071960982
+ .long 3366293073
+ .long 1070684824
+ .long 2894502806
+ .long 1071974552
+ .long 2930322912
+ .long 1070678682
+ .long 315333498
+ .long 1071988163
+ .long 3228316108
+ .long 1070672573
+ .long 1265790390
+ .long 1072001814
+ .long 3490863953
+ .long 1070666497
+ .long 3170252699
+ .long 1072015506
+ .long 2952712987
+ .long 1070660454
+ .long 3458291493
+ .long 1072029240
+ .long 852742562
+ .long 1070654444
+ .long 3859687560
+ .long 1072043016
+ .long 728909815
+ .long 1070648466
+ .long 1814547538
+ .long 1072056835
+ .long 1828292879
+ .long 1070642520
+ .long 3358256687
+ .long 1072070696
+ .long 3402036099
+ .long 1070636606
+ .long 1646693443
+ .long 1072084601
+ .long 410360776
+ .long 1070630725
+ .long 2726084392
+ .long 1072098549
+ .long 702412510
+ .long 1070624875
+ .long 4058219142
+ .long 1072112541
+ .long 3541402996
+ .long 1070619056
+ .long 3110436433
+ .long 1072126578
+ .long 3899555717
+ .long 1070613269
+ .long 1650643112
+ .long 1072140660
+ .long 1048019041
+ .long 1070607514
+ .long 1452398678
+ .long 1072154787
+ .long 2851812149
+ .long 1070601789
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .long 0
+ .long 1120403456
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .long 1082531225
+ .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 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .long 4294966717
+ .long 1071644671
+ .long 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .long 1431655597
+ .long 1069897045
+ .long 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .long 3474379417
+ .long 1067799893
+ .long 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .long 1460859941
+ .long 1065423121
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 2146435072
+ .long 0
+ .long 2146435072
+ .long 65472
+ .long 0
+ .long 65472
+ .long 0
+ .long 65472
+ .long 0
+ .long 65472
+ .long 0
+ .long 65472
+ .long 0
+ .long 65472
+ .long 0
+ .long 65472
+ .long 0
+ .long 65472
+ .long 0
+ .long 127
+ .long 0
+ .long 127
+ .long 0
+ .long 127
+ .long 0
+ .long 127
+ .long 0
+ .long 127
+ .long 0
+ .long 127
+ .long 0
+ .long 127
+ .long 0
+ .long 127
+ .long 0
+ .type __svml_dsinh_data_internal,@object
+ .size __svml_dsinh_data_internal,4288
+ .space 320, 0x00
+ .align 32
+
+__dsinh_la_CoutTab:
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 0
+ .long 1048019041
+ .long 1072704666
+ .long 1398474845
+ .long 3161559171
+ .long 3541402996
+ .long 1072716208
+ .long 2759177317
+ .long 1015903202
+ .long 410360776
+ .long 1072727877
+ .long 1269990655
+ .long 1013024446
+ .long 1828292879
+ .long 1072739672
+ .long 1255956747
+ .long 1016636974
+ .long 852742562
+ .long 1072751596
+ .long 667253587
+ .long 1010842135
+ .long 3490863953
+ .long 1072763649
+ .long 960797498
+ .long 3163997456
+ .long 2930322912
+ .long 1072775834
+ .long 2599499422
+ .long 3163762623
+ .long 1014845819
+ .long 1072788152
+ .long 3117910646
+ .long 3162607681
+ .long 3949972341
+ .long 1072800603
+ .long 2068408548
+ .long 1015962444
+ .long 828946858
+ .long 1072813191
+ .long 10642492
+ .long 1016988014
+ .long 2288159958
+ .long 1072825915
+ .long 2169144469
+ .long 1015924597
+ .long 1853186616
+ .long 1072838778
+ .long 3066496371
+ .long 1016705150
+ .long 1709341917
+ .long 1072851781
+ .long 2571168217
+ .long 1015201075
+ .long 4112506593
+ .long 1072864925
+ .long 2947355221
+ .long 1015419624
+ .long 2799960843
+ .long 1072878213
+ .long 1423655381
+ .long 1016070727
+ .long 171030293
+ .long 1072891646
+ .long 3526460132
+ .long 1015477354
+ .long 2992903935
+ .long 1072905224
+ .long 2218154406
+ .long 1016276769
+ .long 926591435
+ .long 1072918951
+ .long 3208833762
+ .long 3163962090
+ .long 887463927
+ .long 1072932827
+ .long 3596744163
+ .long 3161842742
+ .long 1276261410
+ .long 1072946854
+ .long 300981948
+ .long 1015732745
+ .long 569847338
+ .long 1072961034
+ .long 472945272
+ .long 3160339305
+ .long 1617004845
+ .long 1072975368
+ .long 82804944
+ .long 1011391354
+ .long 3049340112
+ .long 1072989858
+ .long 3062915824
+ .long 1014219171
+ .long 3577096743
+ .long 1073004506
+ .long 2951496418
+ .long 1014842263
+ .long 1990012071
+ .long 1073019314
+ .long 3529070563
+ .long 3163861769
+ .long 1453150082
+ .long 1073034283
+ .long 498154669
+ .long 3162536638
+ .long 917841882
+ .long 1073049415
+ .long 18715565
+ .long 1016707884
+ .long 3712504873
+ .long 1073064711
+ .long 88491949
+ .long 1016476236
+ .long 363667784
+ .long 1073080175
+ .long 813753950
+ .long 1016833785
+ .long 2956612997
+ .long 1073095806
+ .long 2118169751
+ .long 3163784129
+ .long 2186617381
+ .long 1073111608
+ .long 2270764084
+ .long 3164321289
+ .long 1719614413
+ .long 1073127582
+ .long 330458198
+ .long 3164331316
+ .long 1013258799
+ .long 1073143730
+ .long 1748797611
+ .long 3161177658
+ .long 3907805044
+ .long 1073160053
+ .long 2257091225
+ .long 3162598983
+ .long 1447192521
+ .long 1073176555
+ .long 1462857171
+ .long 3163563097
+ .long 1944781191
+ .long 1073193236
+ .long 3993278767
+ .long 3162772855
+ .long 919555682
+ .long 1073210099
+ .long 3121969534
+ .long 1013996802
+ .long 2571947539
+ .long 1073227145
+ .long 3558159064
+ .long 3164425245
+ .long 2604962541
+ .long 1073244377
+ .long 2614425274
+ .long 3164587768
+ .long 1110089947
+ .long 1073261797
+ .long 1451641639
+ .long 1016523249
+ .long 2568320822
+ .long 1073279406
+ .long 2732824428
+ .long 1015401491
+ .long 2966275557
+ .long 1073297207
+ .long 2176155324
+ .long 3160891335
+ .long 2682146384
+ .long 1073315202
+ .long 2082178513
+ .long 3164411995
+ .long 2191782032
+ .long 1073333393
+ .long 2960257726
+ .long 1014791238
+ .long 2069751141
+ .long 1073351782
+ .long 1562170675
+ .long 3163773257
+ .long 2990417245
+ .long 1073370371
+ .long 3683467745
+ .long 3164417902
+ .long 1434058175
+ .long 1073389163
+ .long 251133233
+ .long 1016134345
+ .long 2572866477
+ .long 1073408159
+ .long 878562433
+ .long 1016570317
+ .long 3092190715
+ .long 1073427362
+ .long 814012168
+ .long 3160571998
+ .long 4076559943
+ .long 1073446774
+ .long 2119478331
+ .long 3161806927
+ .long 2420883922
+ .long 1073466398
+ .long 2049810052
+ .long 1015168464
+ .long 3716502172
+ .long 1073486235
+ .long 2303740125
+ .long 1015091301
+ .long 777507147
+ .long 1073506289
+ .long 4282924205
+ .long 1016236109
+ .long 3706687593
+ .long 1073526560
+ .long 3521726939
+ .long 1014301643
+ .long 1242007932
+ .long 1073547053
+ .long 1132034716
+ .long 3164388407
+ .long 3707479175
+ .long 1073567768
+ .long 3613079303
+ .long 1015213314
+ .long 64696965
+ .long 1073588710
+ .long 1768797490
+ .long 1016865536
+ .long 863738719
+ .long 1073609879
+ .long 1326992220
+ .long 3163661773
+ .long 3884662774
+ .long 1073631278
+ .long 2158611599
+ .long 1015258761
+ .long 2728693978
+ .long 1073652911
+ .long 396109971
+ .long 3164511267
+ .long 3999357479
+ .long 1073674779
+ .long 2258941616
+ .long 1016973300
+ .long 1533953344
+ .long 1073696886
+ .long 769171851
+ .long 1016714209
+ .long 2174652632
+ .long 1073719233
+ .long 4087714590
+ .long 1015498835
+ .long 0
+ .long 1073741824
+ .long 0
+ .long 0
+ .long 0
+ .long 1071644672
+ .long 1431652600
+ .long 1069897045
+ .long 1431670732
+ .long 1067799893
+ .long 984555731
+ .long 1065423122
+ .long 472530941
+ .long 1062650218
+ .long 1431655765
+ .long 1069897045
+ .long 286331153
+ .long 1065423121
+ .long 436314138
+ .long 1059717536
+ .long 2773927732
+ .long 1053236707
+ .long 1697350398
+ .long 1079448903
+ .long 0
+ .long 1127743488
+ .long 33554432
+ .long 1101004800
+ .long 2411329662
+ .long 1082536910
+ .long 4277796864
+ .long 1065758274
+ .long 3164486458
+ .long 1025308570
+ .long 1
+ .long 1048576
+ .long 4294967295
+ .long 2146435071
+ .long 3671843104
+ .long 1067178892
+ .long 3875694624
+ .long 1077247184
+ .type __dsinh_la_CoutTab,@object
+ .size __dsinh_la_CoutTab,1192
+ .space 8, 0x00
+ .align 16
+
+.FLT_97:
+ .long 0x00000000,0x80000000,0x00000000,0x00000000
+ .type .FLT_97,@object
+ .size .FLT_97,16
new file mode 100644
@@ -0,0 +1,20 @@
+/* AVX2 version of vectorized sinhf.
+ 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_sinhf _ZGVeN16v_sinhf_avx2_wrapper
+#include "../svml_s_sinhf16_core.S"
new file mode 100644
@@ -0,0 +1,28 @@
+/* Multiple versions of vectorized sinhf, 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_sinhf
+#include "ifunc-mathvec-avx512-skx.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVeN16v_sinhf, __GI__ZGVeN16v_sinhf,
+ __redirect__ZGVeN16v_sinhf)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,1420 @@
+/* Function sinhf 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:
+ *
+ * Compute sinh(x) as (exp(x)-exp(-x))/2,
+ * where exp is calculated as
+ * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r)
+ *
+ * Special cases:
+ *
+ * sinh(NaN) = quiet NaN, and raise invalid exception
+ * sinh(INF) = that INF
+ * sinh(x) = x for subnormals
+ * sinh(x) overflows for big x and returns MAXLOG+log(2)
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVeN16v_sinhf_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, %zmm5
+
+/*
+ * Implementation
+ * Abs argument
+ */
+ vandps 1152+__svml_ssinh_data_internal(%rip), %zmm5, %zmm4
+
+/*
+ * Check for overflow\underflow
+ * MORE faster than GE?
+ */
+ vpternlogd $255, %zmm6, %zmm6, %zmm6
+ vmovups 1280+__svml_ssinh_data_internal(%rip), %zmm7
+
+/*
+ * Load argument
+ * dM = x/log(2) + RShifter
+ */
+ vmovups 960+__svml_ssinh_data_internal(%rip), %zmm11
+ vmovups 1024+__svml_ssinh_data_internal(%rip), %zmm8
+ vmovups 1088+__svml_ssinh_data_internal(%rip), %zmm10
+ vmovups 1856+__svml_ssinh_data_internal(%rip), %zmm12
+ vmovups 1728+__svml_ssinh_data_internal(%rip), %zmm0
+ vmovups 1792+__svml_ssinh_data_internal(%rip), %zmm3
+
+/* x^2 */
+ vmovups 1536+__svml_ssinh_data_internal(%rip), %zmm2
+ vxorps %zmm5, %zmm4, %zmm1
+ vfmadd213ps {rn-sae}, %zmm7, %zmm1, %zmm11
+ vpcmpd $2, 1408+__svml_ssinh_data_internal(%rip), %zmm1, %k1
+
+/*
+ * G1,G2 2^N,2^(-N)
+ * iM now is an EXP(2^N)
+ */
+ vpslld $23, %zmm11, %zmm13
+
+/*
+ * R
+ * sN = sM - RShifter
+ */
+ vsubps {rn-sae}, %zmm7, %zmm11, %zmm9
+ vpaddd %zmm13, %zmm12, %zmm14
+ vpsubd %zmm13, %zmm12, %zmm15
+
+/* sG1 = 2^(N-1)+2^(-N-1) */
+ vaddps {rn-sae}, %zmm15, %zmm14, %zmm7
+ vpandnd %zmm1, %zmm1, %zmm6{%k1}
+
+/* sR = sX - sN*Log2_hi */
+ vfnmadd231ps {rn-sae}, %zmm8, %zmm9, %zmm1
+ vptestmd %zmm6, %zmm6, %k0
+
+/* sG2 = 2^(N-1)-2^(-N-1) */
+ vsubps {rn-sae}, %zmm15, %zmm14, %zmm8
+
+/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */
+ vfnmadd231ps {rn-sae}, %zmm10, %zmm9, %zmm1
+
+/*
+ * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) ....
+ * sSinh_r = (a3+r^2*a5)
+ */
+ vmovups 1600+__svml_ssinh_data_internal(%rip), %zmm14
+ kmovw %k0, %edx
+
+/* sR2 = sR^2 */
+ vmulps {rn-sae}, %zmm1, %zmm1, %zmm6
+ vfmadd231ps {rn-sae}, %zmm6, %zmm0, %zmm14
+
+/* sSinh_r = r^2*(a3+r^2*a5) */
+ vmulps {rn-sae}, %zmm6, %zmm14, %zmm0
+
+/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */
+ vfmadd213ps {rn-sae}, %zmm1, %zmm1, %zmm0
+
+/*
+ * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2)
+ * sOut = (a4 +a6*sR2)
+ */
+ vmovups 1664+__svml_ssinh_data_internal(%rip), %zmm1
+ vfmadd231ps {rn-sae}, %zmm6, %zmm3, %zmm1
+
+/* sOut = a2+sR2*(a4+a6*sR2) */
+ vfmadd213ps {rn-sae}, %zmm2, %zmm6, %zmm1
+
+/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */
+ vmulps {rn-sae}, %zmm6, %zmm1, %zmm2
+
+/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */
+ vmulps {rn-sae}, %zmm8, %zmm2, %zmm3
+
+/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */
+ vfmadd213ps {rn-sae}, %zmm3, %zmm0, %zmm7
+
+/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */
+ vaddps {rn-sae}, %zmm8, %zmm7, %zmm9
+
+/* Ret H */
+ vorps %zmm9, %zmm4, %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 %zmm5, 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 $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), %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,4), %rdi
+ lea 128(%rsp,%r12,4), %rsi
+ call __svml_ssinh_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVeN16v_sinhf_skx)
+
+ .align 16,0x90
+
+__svml_ssinh_cout_rare_internal:
+
+ cfi_startproc
+
+ movq %rsi, %r9
+ movzwl 2(%rdi), %edx
+ xorl %eax, %eax
+ andl $32640, %edx
+ movss (%rdi), %xmm2
+ cmpl $32640, %edx
+ je .LBL_2_17
+ cvtss2sd %xmm2, %xmm2
+ movsd %xmm2, -8(%rsp)
+ movzwl -2(%rsp), %edx
+ andl $32752, %edx
+ movsd %xmm2, -32(%rsp)
+ shrl $4, %edx
+ andb $127, -25(%rsp)
+ testl %edx, %edx
+ jle .LBL_2_16
+ cmpl $969, %edx
+ jle .LBL_2_14
+ movsd -32(%rsp), %xmm0
+ movsd 1136+__ssinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_13
+ movsd 1184+__ssinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_9
+ comisd 1176+__ssinh_la_CoutTab(%rip), %xmm0
+ jb .LBL_2_8
+ movsd 1112+__ssinh_la_CoutTab(%rip), %xmm3
+ lea __ssinh_la_CoutTab(%rip), %rcx
+ mulsd %xmm0, %xmm3
+ movsd 1144+__ssinh_la_CoutTab(%rip), %xmm10
+ movq 8+__ssinh_la_CoutTab(%rip), %r10
+ movq %r10, %rsi
+ shrq $48, %rsi
+ addsd 1120+__ssinh_la_CoutTab(%rip), %xmm3
+ movsd %xmm3, -40(%rsp)
+ andl $-32753, %esi
+ movsd -40(%rsp), %xmm13
+ movl -40(%rsp), %r8d
+ movl %r8d, %r11d
+ shrl $6, %r11d
+ andl $63, %r8d
+ movq %r10, -16(%rsp)
+ subsd 1120+__ssinh_la_CoutTab(%rip), %xmm13
+ mulsd %xmm13, %xmm10
+ lea 1023(%r11), %edi
+ xorps .FLT_98(%rip), %xmm13
+ addl $1022, %r11d
+ mulsd 1152+__ssinh_la_CoutTab(%rip), %xmm13
+ subsd %xmm10, %xmm0
+ movaps %xmm0, %xmm5
+ movaps %xmm0, %xmm11
+ andl $2047, %r11d
+ lea (%r8,%r8), %edx
+ negl %edi
+ lea 1(%r8,%r8), %r8d
+ movsd (%rcx,%rdx,8), %xmm8
+ negl %edx
+ shll $4, %r11d
+ addl $-4, %edi
+ orl %r11d, %esi
+ andl $2047, %edi
+ movw %si, -10(%rsp)
+ andl $-32753, %esi
+ shll $4, %edi
+ addsd %xmm13, %xmm5
+ movsd %xmm5, -24(%rsp)
+ orl %edi, %esi
+ movsd -24(%rsp), %xmm7
+ movsd 1128+__ssinh_la_CoutTab(%rip), %xmm5
+ subsd %xmm7, %xmm11
+ movsd %xmm11, -56(%rsp)
+ movsd -24(%rsp), %xmm4
+ movsd -56(%rsp), %xmm12
+ movsd (%rcx,%r8,8), %xmm6
+ addsd %xmm12, %xmm4
+ movsd %xmm4, -48(%rsp)
+ movsd -56(%rsp), %xmm9
+ movsd -16(%rsp), %xmm4
+ addsd %xmm9, %xmm13
+ mulsd %xmm4, %xmm8
+ mulsd %xmm4, %xmm6
+ movsd %xmm13, -56(%rsp)
+ movaps %xmm8, %xmm9
+ movsd -48(%rsp), %xmm15
+ movw %si, -10(%rsp)
+ lea 128(%rdx), %esi
+ movsd -16(%rsp), %xmm14
+ addl $129, %edx
+ subsd %xmm15, %xmm0
+ movaps %xmm8, %xmm15
+ movsd %xmm0, -48(%rsp)
+ movsd -56(%rsp), %xmm3
+ movsd -48(%rsp), %xmm0
+ addsd %xmm0, %xmm3
+ movsd %xmm3, -48(%rsp)
+ movsd -24(%rsp), %xmm10
+ mulsd %xmm10, %xmm5
+ movaps %xmm10, %xmm2
+ mulsd %xmm10, %xmm2
+ movsd -48(%rsp), %xmm3
+ movaps %xmm10, %xmm1
+ movsd %xmm5, -24(%rsp)
+ movsd -24(%rsp), %xmm7
+ subsd %xmm10, %xmm7
+ movsd %xmm7, -56(%rsp)
+ movsd -24(%rsp), %xmm12
+ movsd -56(%rsp), %xmm11
+ subsd %xmm11, %xmm12
+ movsd 1064+__ssinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm2, %xmm11
+ movsd %xmm12, -24(%rsp)
+ movsd 1072+__ssinh_la_CoutTab(%rip), %xmm12
+ mulsd %xmm2, %xmm12
+ addsd 1048+__ssinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm2, %xmm11
+ addsd 1056+__ssinh_la_CoutTab(%rip), %xmm12
+ mulsd %xmm2, %xmm12
+ mulsd %xmm10, %xmm11
+ addsd 1040+__ssinh_la_CoutTab(%rip), %xmm12
+ addsd %xmm11, %xmm10
+ mulsd %xmm2, %xmm12
+ movsd (%rcx,%rsi,8), %xmm2
+ mulsd %xmm14, %xmm2
+ movsd -24(%rsp), %xmm0
+ subsd %xmm2, %xmm9
+ subsd %xmm0, %xmm1
+ movsd %xmm1, -56(%rsp)
+ movsd -24(%rsp), %xmm7
+ movsd -56(%rsp), %xmm5
+ movsd %xmm9, -24(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd (%rcx,%rdx,8), %xmm1
+ subsd %xmm13, %xmm15
+ mulsd %xmm14, %xmm1
+ subsd %xmm2, %xmm15
+ movsd %xmm15, -56(%rsp)
+ movaps %xmm8, %xmm13
+ movsd -24(%rsp), %xmm14
+ addsd %xmm2, %xmm13
+ movsd -56(%rsp), %xmm9
+ movaps %xmm14, %xmm0
+ movb -1(%rsp), %cl
+ addsd %xmm6, %xmm9
+ addsd %xmm1, %xmm6
+ subsd %xmm1, %xmm9
+ andb $-128, %cl
+ addsd %xmm9, %xmm0
+ movsd %xmm0, -24(%rsp)
+ movsd -24(%rsp), %xmm4
+ subsd %xmm4, %xmm14
+ addsd %xmm14, %xmm9
+ movsd %xmm9, -56(%rsp)
+ movsd -24(%rsp), %xmm9
+ movsd -56(%rsp), %xmm0
+ movsd %xmm13, -24(%rsp)
+ movsd -24(%rsp), %xmm15
+ subsd %xmm15, %xmm8
+ addsd %xmm8, %xmm2
+ movsd %xmm2, -56(%rsp)
+ movsd -24(%rsp), %xmm2
+ movsd -56(%rsp), %xmm4
+ addsd %xmm6, %xmm4
+ movaps %xmm2, %xmm6
+ addsd %xmm4, %xmm6
+ movsd %xmm6, -24(%rsp)
+ movsd -24(%rsp), %xmm8
+ movsd 1128+__ssinh_la_CoutTab(%rip), %xmm6
+ subsd %xmm8, %xmm2
+ addsd %xmm2, %xmm4
+ movsd %xmm4, -56(%rsp)
+ movsd -24(%rsp), %xmm1
+ mulsd %xmm1, %xmm6
+ movsd -56(%rsp), %xmm2
+ movsd %xmm6, -24(%rsp)
+ movaps %xmm1, %xmm6
+ movsd -24(%rsp), %xmm14
+ mulsd %xmm2, %xmm10
+ subsd %xmm1, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm8
+ subsd %xmm8, %xmm13
+ movsd %xmm13, -24(%rsp)
+ movaps %xmm11, %xmm13
+ movsd -24(%rsp), %xmm15
+ mulsd %xmm1, %xmm13
+ subsd %xmm15, %xmm6
+ mulsd %xmm3, %xmm1
+ mulsd %xmm2, %xmm3
+ movaps %xmm12, %xmm15
+ movaps %xmm13, %xmm4
+ mulsd %xmm9, %xmm15
+ mulsd %xmm0, %xmm12
+ addsd %xmm15, %xmm4
+ addsd %xmm0, %xmm12
+ movsd %xmm6, -56(%rsp)
+ addsd %xmm1, %xmm12
+ movsd -24(%rsp), %xmm8
+ addsd %xmm3, %xmm12
+ movsd -56(%rsp), %xmm6
+ movsd %xmm4, -24(%rsp)
+ movsd -24(%rsp), %xmm14
+ subsd %xmm14, %xmm13
+ addsd %xmm13, %xmm15
+ movsd %xmm15, -56(%rsp)
+ movaps %xmm7, %xmm15
+ mulsd %xmm8, %xmm15
+ mulsd %xmm5, %xmm8
+ mulsd %xmm6, %xmm5
+ mulsd %xmm6, %xmm7
+ movsd -24(%rsp), %xmm14
+ movaps %xmm14, %xmm13
+ movsd -56(%rsp), %xmm4
+ addsd %xmm15, %xmm13
+ addsd %xmm8, %xmm4
+ movsd %xmm13, -24(%rsp)
+ addsd %xmm5, %xmm4
+ movsd -24(%rsp), %xmm13
+ addsd %xmm7, %xmm4
+ subsd %xmm13, %xmm15
+ addsd %xmm4, %xmm12
+ addsd %xmm15, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movaps %xmm9, %xmm15
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm14
+ addsd %xmm13, %xmm15
+ addsd %xmm14, %xmm12
+ movsd %xmm15, -24(%rsp)
+ movsd -24(%rsp), %xmm15
+ subsd %xmm15, %xmm9
+ addsd %xmm9, %xmm13
+ movsd %xmm13, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm9
+ addsd %xmm9, %xmm12
+ addsd %xmm12, %xmm13
+ addsd %xmm13, %xmm10
+ movsd %xmm10, -32(%rsp)
+ movb -25(%rsp), %dil
+ andb $127, %dil
+ orb %cl, %dil
+ movb %dil, -25(%rsp)
+ movsd -32(%rsp), %xmm10
+ cvtsd2ss %xmm10, %xmm10
+ movss %xmm10, (%r9)
+ ret
+
+.LBL_2_8:
+ movaps %xmm0, %xmm2
+ mulsd %xmm0, %xmm2
+ movsd 1104+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ movb -1(%rsp), %dl
+ andb $-128, %dl
+ addsd 1096+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1088+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1080+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm1, %xmm2
+ mulsd %xmm0, %xmm2
+ addsd %xmm2, %xmm0
+ movsd %xmm0, -32(%rsp)
+ movb -25(%rsp), %cl
+ andb $127, %cl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movsd -32(%rsp), %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_9:
+ movsd 1112+__ssinh_la_CoutTab(%rip), %xmm1
+ lea __ssinh_la_CoutTab(%rip), %r8
+ mulsd %xmm0, %xmm1
+ movsd 1144+__ssinh_la_CoutTab(%rip), %xmm2
+ movsd 1152+__ssinh_la_CoutTab(%rip), %xmm3
+ movq 8+__ssinh_la_CoutTab(%rip), %rdx
+ movq %rdx, -16(%rsp)
+ addsd 1120+__ssinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -40(%rsp)
+ movsd -40(%rsp), %xmm4
+ movsd 1072+__ssinh_la_CoutTab(%rip), %xmm1
+ movl -40(%rsp), %edx
+ movl %edx, %esi
+ andl $63, %esi
+ subsd 1120+__ssinh_la_CoutTab(%rip), %xmm4
+ mulsd %xmm4, %xmm2
+ lea (%rsi,%rsi), %ecx
+ mulsd %xmm3, %xmm4
+ subsd %xmm2, %xmm0
+ movsd (%r8,%rcx,8), %xmm5
+ lea 1(%rsi,%rsi), %edi
+ shrl $6, %edx
+ subsd %xmm4, %xmm0
+ mulsd %xmm0, %xmm1
+ addl $1022, %edx
+ andl $2047, %edx
+ addsd 1064+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1056+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1048+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1040+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ mulsd %xmm0, %xmm1
+ addsd %xmm0, %xmm1
+ mulsd %xmm5, %xmm1
+ addsd (%r8,%rdi,8), %xmm1
+ addsd %xmm5, %xmm1
+ cmpl $2046, %edx
+ ja .LBL_2_11
+ movq 8+__ssinh_la_CoutTab(%rip), %rcx
+ shrq $48, %rcx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm1, %xmm0
+ movsd %xmm0, -32(%rsp)
+ jmp .LBL_2_12
+
+.LBL_2_11:
+ decl %edx
+ andl $2047, %edx
+ movzwl -10(%rsp), %ecx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm1, %xmm0
+ mulsd 1024+__ssinh_la_CoutTab(%rip), %xmm0
+ movsd %xmm0, -32(%rsp)
+
+.LBL_2_12:
+ movb -25(%rsp), %cl
+ movb -1(%rsp), %dl
+ andb $127, %cl
+ andb $-128, %dl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movsd -32(%rsp), %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_13:
+ movsd 1168+__ssinh_la_CoutTab(%rip), %xmm0
+ movl $3, %eax
+ mulsd %xmm2, %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_14:
+ movsd __ssinh_la_CoutTab(%rip), %xmm0
+ addsd 1160+__ssinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm2, %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_16:
+ movsd 1160+__ssinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm0, %xmm2
+ movsd %xmm2, -24(%rsp)
+ pxor %xmm2, %xmm2
+ cvtss2sd (%rdi), %xmm2
+ movsd -24(%rsp), %xmm1
+ movq 8+__ssinh_la_CoutTab(%rip), %rdx
+ addsd %xmm1, %xmm2
+ cvtsd2ss %xmm2, %xmm2
+ movq %rdx, -16(%rsp)
+ movss %xmm2, (%r9)
+ ret
+
+.LBL_2_17:
+ addss %xmm2, %xmm2
+ movss %xmm2, (%r9)
+ ret
+
+ cfi_endproc
+
+ .type __svml_ssinh_cout_rare_internal,@function
+ .size __svml_ssinh_cout_rare_internal,.-__svml_ssinh_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_ssinh_data_internal:
+ .long 1056964608
+ .long 1057148295
+ .long 1057336003
+ .long 1057527823
+ .long 1057723842
+ .long 1057924154
+ .long 1058128851
+ .long 1058338032
+ .long 1058551792
+ .long 1058770234
+ .long 1058993458
+ .long 1059221571
+ .long 1059454679
+ .long 1059692891
+ .long 1059936319
+ .long 1060185078
+ .long 1060439283
+ .long 1060699055
+ .long 1060964516
+ .long 1061235789
+ .long 1061513002
+ .long 1061796286
+ .long 1062085772
+ .long 1062381598
+ .long 1062683901
+ .long 1062992824
+ .long 1063308511
+ .long 1063631111
+ .long 1063960775
+ .long 1064297658
+ .long 1064641917
+ .long 1064993715
+ .long 0
+ .long 2999887785
+ .long 852465809
+ .long 3003046475
+ .long 2984291233
+ .long 3001644133
+ .long 854021668
+ .long 2997748242
+ .long 849550193
+ .long 2995541347
+ .long 851518274
+ .long 809701978
+ .long 2997656926
+ .long 2996185864
+ .long 2980965110
+ .long 3002882728
+ .long 844097402
+ .long 848217591
+ .long 2999013352
+ .long 2992006718
+ .long 831170615
+ .long 3002278818
+ .long 833158180
+ .long 3000769962
+ .long 2991891850
+ .long 2999994908
+ .long 2979965785
+ .long 2982419430
+ .long 2982221534
+ .long 2999469642
+ .long 833168438
+ .long 2987538264
+ .long 1056964608
+ .long 1056605107
+ .long 1056253309
+ .long 1055909050
+ .long 1055572167
+ .long 1055242503
+ .long 1054919903
+ .long 1054604216
+ .long 1054295293
+ .long 1053992990
+ .long 1053697164
+ .long 1053407678
+ .long 1053124394
+ .long 1052847181
+ .long 1052575908
+ .long 1052310447
+ .long 1052050675
+ .long 1051796470
+ .long 1051547711
+ .long 1051304283
+ .long 1051066071
+ .long 1050832963
+ .long 1050604850
+ .long 1050381626
+ .long 1050163184
+ .long 1049949424
+ .long 1049740243
+ .long 1049535546
+ .long 1049335234
+ .long 1049139215
+ .long 1048947395
+ .long 1048759687
+ .long 0
+ .long 2979149656
+ .long 824779830
+ .long 2991081034
+ .long 2973832926
+ .long 2974030822
+ .long 2971577177
+ .long 2991606300
+ .long 2983503242
+ .long 2992381354
+ .long 824769572
+ .long 2993890210
+ .long 822782007
+ .long 2983618110
+ .long 2990624744
+ .long 839828983
+ .long 835708794
+ .long 2994494120
+ .long 2972576502
+ .long 2987797256
+ .long 2989268318
+ .long 801313370
+ .long 843129666
+ .long 2987152739
+ .long 841161585
+ .long 2989359634
+ .long 845633060
+ .long 2993255525
+ .long 2975902625
+ .long 2994657867
+ .long 844077201
+ .long 2991499177
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .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 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1069066811
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .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 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .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 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .type __svml_ssinh_data_internal,@object
+ .size __svml_ssinh_data_internal,1920
+ .align 32
+
+__ssinh_la_CoutTab:
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 0
+ .long 1048019041
+ .long 1072704666
+ .long 1398474845
+ .long 3161559171
+ .long 3541402996
+ .long 1072716208
+ .long 2759177317
+ .long 1015903202
+ .long 410360776
+ .long 1072727877
+ .long 1269990655
+ .long 1013024446
+ .long 1828292879
+ .long 1072739672
+ .long 1255956747
+ .long 1016636974
+ .long 852742562
+ .long 1072751596
+ .long 667253587
+ .long 1010842135
+ .long 3490863953
+ .long 1072763649
+ .long 960797498
+ .long 3163997456
+ .long 2930322912
+ .long 1072775834
+ .long 2599499422
+ .long 3163762623
+ .long 1014845819
+ .long 1072788152
+ .long 3117910646
+ .long 3162607681
+ .long 3949972341
+ .long 1072800603
+ .long 2068408548
+ .long 1015962444
+ .long 828946858
+ .long 1072813191
+ .long 10642492
+ .long 1016988014
+ .long 2288159958
+ .long 1072825915
+ .long 2169144469
+ .long 1015924597
+ .long 1853186616
+ .long 1072838778
+ .long 3066496371
+ .long 1016705150
+ .long 1709341917
+ .long 1072851781
+ .long 2571168217
+ .long 1015201075
+ .long 4112506593
+ .long 1072864925
+ .long 2947355221
+ .long 1015419624
+ .long 2799960843
+ .long 1072878213
+ .long 1423655381
+ .long 1016070727
+ .long 171030293
+ .long 1072891646
+ .long 3526460132
+ .long 1015477354
+ .long 2992903935
+ .long 1072905224
+ .long 2218154406
+ .long 1016276769
+ .long 926591435
+ .long 1072918951
+ .long 3208833762
+ .long 3163962090
+ .long 887463927
+ .long 1072932827
+ .long 3596744163
+ .long 3161842742
+ .long 1276261410
+ .long 1072946854
+ .long 300981948
+ .long 1015732745
+ .long 569847338
+ .long 1072961034
+ .long 472945272
+ .long 3160339305
+ .long 1617004845
+ .long 1072975368
+ .long 82804944
+ .long 1011391354
+ .long 3049340112
+ .long 1072989858
+ .long 3062915824
+ .long 1014219171
+ .long 3577096743
+ .long 1073004506
+ .long 2951496418
+ .long 1014842263
+ .long 1990012071
+ .long 1073019314
+ .long 3529070563
+ .long 3163861769
+ .long 1453150082
+ .long 1073034283
+ .long 498154669
+ .long 3162536638
+ .long 917841882
+ .long 1073049415
+ .long 18715565
+ .long 1016707884
+ .long 3712504873
+ .long 1073064711
+ .long 88491949
+ .long 1016476236
+ .long 363667784
+ .long 1073080175
+ .long 813753950
+ .long 1016833785
+ .long 2956612997
+ .long 1073095806
+ .long 2118169751
+ .long 3163784129
+ .long 2186617381
+ .long 1073111608
+ .long 2270764084
+ .long 3164321289
+ .long 1719614413
+ .long 1073127582
+ .long 330458198
+ .long 3164331316
+ .long 1013258799
+ .long 1073143730
+ .long 1748797611
+ .long 3161177658
+ .long 3907805044
+ .long 1073160053
+ .long 2257091225
+ .long 3162598983
+ .long 1447192521
+ .long 1073176555
+ .long 1462857171
+ .long 3163563097
+ .long 1944781191
+ .long 1073193236
+ .long 3993278767
+ .long 3162772855
+ .long 919555682
+ .long 1073210099
+ .long 3121969534
+ .long 1013996802
+ .long 2571947539
+ .long 1073227145
+ .long 3558159064
+ .long 3164425245
+ .long 2604962541
+ .long 1073244377
+ .long 2614425274
+ .long 3164587768
+ .long 1110089947
+ .long 1073261797
+ .long 1451641639
+ .long 1016523249
+ .long 2568320822
+ .long 1073279406
+ .long 2732824428
+ .long 1015401491
+ .long 2966275557
+ .long 1073297207
+ .long 2176155324
+ .long 3160891335
+ .long 2682146384
+ .long 1073315202
+ .long 2082178513
+ .long 3164411995
+ .long 2191782032
+ .long 1073333393
+ .long 2960257726
+ .long 1014791238
+ .long 2069751141
+ .long 1073351782
+ .long 1562170675
+ .long 3163773257
+ .long 2990417245
+ .long 1073370371
+ .long 3683467745
+ .long 3164417902
+ .long 1434058175
+ .long 1073389163
+ .long 251133233
+ .long 1016134345
+ .long 2572866477
+ .long 1073408159
+ .long 878562433
+ .long 1016570317
+ .long 3092190715
+ .long 1073427362
+ .long 814012168
+ .long 3160571998
+ .long 4076559943
+ .long 1073446774
+ .long 2119478331
+ .long 3161806927
+ .long 2420883922
+ .long 1073466398
+ .long 2049810052
+ .long 1015168464
+ .long 3716502172
+ .long 1073486235
+ .long 2303740125
+ .long 1015091301
+ .long 777507147
+ .long 1073506289
+ .long 4282924205
+ .long 1016236109
+ .long 3706687593
+ .long 1073526560
+ .long 3521726939
+ .long 1014301643
+ .long 1242007932
+ .long 1073547053
+ .long 1132034716
+ .long 3164388407
+ .long 3707479175
+ .long 1073567768
+ .long 3613079303
+ .long 1015213314
+ .long 64696965
+ .long 1073588710
+ .long 1768797490
+ .long 1016865536
+ .long 863738719
+ .long 1073609879
+ .long 1326992220
+ .long 3163661773
+ .long 3884662774
+ .long 1073631278
+ .long 2158611599
+ .long 1015258761
+ .long 2728693978
+ .long 1073652911
+ .long 396109971
+ .long 3164511267
+ .long 3999357479
+ .long 1073674779
+ .long 2258941616
+ .long 1016973300
+ .long 1533953344
+ .long 1073696886
+ .long 769171851
+ .long 1016714209
+ .long 2174652632
+ .long 1073719233
+ .long 4087714590
+ .long 1015498835
+ .long 0
+ .long 1073741824
+ .long 0
+ .long 0
+ .long 0
+ .long 1071644672
+ .long 1431652600
+ .long 1069897045
+ .long 1431670732
+ .long 1067799893
+ .long 984555731
+ .long 1065423122
+ .long 472530941
+ .long 1062650218
+ .long 1431655765
+ .long 1069897045
+ .long 286331153
+ .long 1065423121
+ .long 436314138
+ .long 1059717536
+ .long 2773927732
+ .long 1053236707
+ .long 1697350398
+ .long 1079448903
+ .long 0
+ .long 1127743488
+ .long 33554432
+ .long 1101004800
+ .long 2684354560
+ .long 1079401119
+ .long 4277796864
+ .long 1065758274
+ .long 3164486458
+ .long 1025308570
+ .long 1
+ .long 1048576
+ .long 4294967295
+ .long 2146435071
+ .long 3671843104
+ .long 1067178892
+ .long 3875694624
+ .long 1077247184
+ .type __ssinh_la_CoutTab,@object
+ .size __ssinh_la_CoutTab,1192
+ .space 8, 0x00
+ .align 16
+
+.FLT_98:
+ .long 0x00000000,0x80000000,0x00000000,0x00000000
+ .type .FLT_98,@object
+ .size .FLT_98,16
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE2 version of vectorized sinhf, 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_sinhf _ZGVbN4v_sinhf_sse2
+#include "../svml_s_sinhf4_core.S"
new file mode 100644
@@ -0,0 +1,28 @@
+/* Multiple versions of vectorized sinhf, 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_sinhf
+#include "ifunc-mathvec-sse4_1.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVbN4v_sinhf, __GI__ZGVbN4v_sinhf,
+ __redirect__ZGVbN4v_sinhf)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,2238 @@
+/* Function sinhf 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:
+ *
+ * Compute sinh(x) as (exp(x)-exp(-x))/2,
+ * where exp is calculated as
+ * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r)
+ *
+ * Special cases:
+ *
+ * sinh(NaN) = quiet NaN, and raise invalid exception
+ * sinh(INF) = that INF
+ * sinh(x) = x for subnormals
+ * sinh(x) overflows for big x and returns MAXLOG+log(2)
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVbN4v_sinhf_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
+
+/*
+ * Implementation
+ * Abs argument
+ */
+ movups 1152+__svml_ssinh_data_internal(%rip), %xmm1
+ andps %xmm0, %xmm1
+ movaps %xmm1, %xmm2
+
+/*
+ * Load argument
+ * dM = x/log(2) + RShifter
+ */
+ movups 960+__svml_ssinh_data_internal(%rip), %xmm7
+ pxor %xmm0, %xmm2
+ mulps %xmm2, %xmm7
+
+/*
+ * Check for overflow\underflow
+ * MORE faster than GE?
+ */
+ movaps %xmm2, %xmm4
+ movups 1280+__svml_ssinh_data_internal(%rip), %xmm5
+ pcmpgtd 1408+__svml_ssinh_data_internal(%rip), %xmm4
+ addps %xmm5, %xmm7
+ movmskps %xmm4, %edx
+
+/*
+ * R
+ * sN = sM - RShifter
+ */
+ movaps %xmm7, %xmm6
+
+/*
+ * G1,G2 2^N,2^(-N)
+ * iM now is an EXP(2^N)
+ */
+ pslld $23, %xmm7
+
+/* sR = sX - sN*Log2_hi */
+ movups 1024+__svml_ssinh_data_internal(%rip), %xmm4
+ subps %xmm5, %xmm6
+ mulps %xmm6, %xmm4
+
+/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */
+ movups 1088+__svml_ssinh_data_internal(%rip), %xmm5
+ subps %xmm4, %xmm2
+ mulps %xmm6, %xmm5
+ movdqu 1856+__svml_ssinh_data_internal(%rip), %xmm3
+ subps %xmm5, %xmm2
+
+/* sR2 = sR^2 */
+ movaps %xmm2, %xmm5
+ movdqa %xmm3, %xmm4
+ mulps %xmm2, %xmm5
+ paddd %xmm7, %xmm4
+ movdqa %xmm3, %xmm6
+
+/* sG1 = 2^(N-1)+2^(-N-1) */
+ movdqa %xmm4, %xmm3
+ psubd %xmm7, %xmm6
+
+/*
+ * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) ....
+ * sSinh_r = (a3+r^2*a5)
+ */
+ movups 1728+__svml_ssinh_data_internal(%rip), %xmm7
+ addps %xmm6, %xmm3
+ mulps %xmm5, %xmm7
+
+/* sG2 = 2^(N-1)-2^(-N-1) */
+ subps %xmm6, %xmm4
+
+/*
+ * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2)
+ * sOut = (a4 +a6*sR2)
+ */
+ movups 1792+__svml_ssinh_data_internal(%rip), %xmm6
+ mulps %xmm5, %xmm6
+ addps 1600+__svml_ssinh_data_internal(%rip), %xmm7
+
+/* sSinh_r = r^2*(a3+r^2*a5) */
+ mulps %xmm5, %xmm7
+ addps 1664+__svml_ssinh_data_internal(%rip), %xmm6
+
+/* sOut = a2+sR2*(a4+a6*sR2) */
+ mulps %xmm5, %xmm6
+
+/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */
+ mulps %xmm2, %xmm7
+ addps 1536+__svml_ssinh_data_internal(%rip), %xmm6
+ addps %xmm7, %xmm2
+
+/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */
+ mulps %xmm6, %xmm5
+
+/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */
+ mulps %xmm2, %xmm3
+
+/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */
+ mulps %xmm4, %xmm5
+ addps %xmm3, %xmm5
+
+/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */
+ addps %xmm5, %xmm4
+
+/* Ret H */
+ orps %xmm4, %xmm1
+ testl %edx, %edx
+ jne .LBL_1_3
+
+.LBL_1_2:
+ movaps %xmm1, %xmm0
+ 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 %xmm0, 192(%rsp)
+ movups %xmm1, 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), %xmm1
+ 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_ssinh_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVbN4v_sinhf_sse4)
+
+ .align 16,0x90
+
+__svml_ssinh_cout_rare_internal:
+
+ cfi_startproc
+
+ movq %rsi, %r9
+ movzwl 2(%rdi), %edx
+ xorl %eax, %eax
+ andl $32640, %edx
+ movss (%rdi), %xmm2
+ cmpl $32640, %edx
+ je .LBL_2_17
+ cvtss2sd %xmm2, %xmm2
+ movsd %xmm2, -8(%rsp)
+ movzwl -2(%rsp), %edx
+ andl $32752, %edx
+ movsd %xmm2, -32(%rsp)
+ shrl $4, %edx
+ andb $127, -25(%rsp)
+ testl %edx, %edx
+ jle .LBL_2_16
+ cmpl $969, %edx
+ jle .LBL_2_14
+ movsd -32(%rsp), %xmm0
+ movsd 1136+__ssinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_13
+ movsd 1184+__ssinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_9
+ comisd 1176+__ssinh_la_CoutTab(%rip), %xmm0
+ jb .LBL_2_8
+ movsd 1112+__ssinh_la_CoutTab(%rip), %xmm3
+ lea __ssinh_la_CoutTab(%rip), %rcx
+ mulsd %xmm0, %xmm3
+ movsd 1144+__ssinh_la_CoutTab(%rip), %xmm10
+ movq 8+__ssinh_la_CoutTab(%rip), %r10
+ movq %r10, %rsi
+ shrq $48, %rsi
+ addsd 1120+__ssinh_la_CoutTab(%rip), %xmm3
+ movsd %xmm3, -40(%rsp)
+ andl $-32753, %esi
+ movsd -40(%rsp), %xmm13
+ movl -40(%rsp), %r8d
+ movl %r8d, %r11d
+ shrl $6, %r11d
+ andl $63, %r8d
+ movq %r10, -16(%rsp)
+ subsd 1120+__ssinh_la_CoutTab(%rip), %xmm13
+ mulsd %xmm13, %xmm10
+ lea 1023(%r11), %edi
+ xorps .FLT_100(%rip), %xmm13
+ addl $1022, %r11d
+ mulsd 1152+__ssinh_la_CoutTab(%rip), %xmm13
+ subsd %xmm10, %xmm0
+ movaps %xmm0, %xmm5
+ movaps %xmm0, %xmm11
+ andl $2047, %r11d
+ lea (%r8,%r8), %edx
+ negl %edi
+ lea 1(%r8,%r8), %r8d
+ movsd (%rcx,%rdx,8), %xmm8
+ negl %edx
+ shll $4, %r11d
+ addl $-4, %edi
+ orl %r11d, %esi
+ andl $2047, %edi
+ movw %si, -10(%rsp)
+ andl $-32753, %esi
+ shll $4, %edi
+ addsd %xmm13, %xmm5
+ movsd %xmm5, -24(%rsp)
+ orl %edi, %esi
+ movsd -24(%rsp), %xmm7
+ movsd 1128+__ssinh_la_CoutTab(%rip), %xmm5
+ subsd %xmm7, %xmm11
+ movsd %xmm11, -56(%rsp)
+ movsd -24(%rsp), %xmm4
+ movsd -56(%rsp), %xmm12
+ movsd (%rcx,%r8,8), %xmm6
+ addsd %xmm12, %xmm4
+ movsd %xmm4, -48(%rsp)
+ movsd -56(%rsp), %xmm9
+ movsd -16(%rsp), %xmm4
+ addsd %xmm9, %xmm13
+ mulsd %xmm4, %xmm8
+ mulsd %xmm4, %xmm6
+ movsd %xmm13, -56(%rsp)
+ movaps %xmm8, %xmm9
+ movsd -48(%rsp), %xmm15
+ movw %si, -10(%rsp)
+ lea 128(%rdx), %esi
+ movsd -16(%rsp), %xmm14
+ addl $129, %edx
+ subsd %xmm15, %xmm0
+ movaps %xmm8, %xmm15
+ movsd %xmm0, -48(%rsp)
+ movsd -56(%rsp), %xmm3
+ movsd -48(%rsp), %xmm0
+ addsd %xmm0, %xmm3
+ movsd %xmm3, -48(%rsp)
+ movsd -24(%rsp), %xmm10
+ mulsd %xmm10, %xmm5
+ movaps %xmm10, %xmm2
+ mulsd %xmm10, %xmm2
+ movsd -48(%rsp), %xmm3
+ movaps %xmm10, %xmm1
+ movsd %xmm5, -24(%rsp)
+ movsd -24(%rsp), %xmm7
+ subsd %xmm10, %xmm7
+ movsd %xmm7, -56(%rsp)
+ movsd -24(%rsp), %xmm12
+ movsd -56(%rsp), %xmm11
+ subsd %xmm11, %xmm12
+ movsd 1064+__ssinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm2, %xmm11
+ movsd %xmm12, -24(%rsp)
+ movsd 1072+__ssinh_la_CoutTab(%rip), %xmm12
+ mulsd %xmm2, %xmm12
+ addsd 1048+__ssinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm2, %xmm11
+ addsd 1056+__ssinh_la_CoutTab(%rip), %xmm12
+ mulsd %xmm2, %xmm12
+ mulsd %xmm10, %xmm11
+ addsd 1040+__ssinh_la_CoutTab(%rip), %xmm12
+ addsd %xmm11, %xmm10
+ mulsd %xmm2, %xmm12
+ movsd (%rcx,%rsi,8), %xmm2
+ mulsd %xmm14, %xmm2
+ movsd -24(%rsp), %xmm0
+ subsd %xmm2, %xmm9
+ subsd %xmm0, %xmm1
+ movsd %xmm1, -56(%rsp)
+ movsd -24(%rsp), %xmm7
+ movsd -56(%rsp), %xmm5
+ movsd %xmm9, -24(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd (%rcx,%rdx,8), %xmm1
+ subsd %xmm13, %xmm15
+ mulsd %xmm14, %xmm1
+ subsd %xmm2, %xmm15
+ movsd %xmm15, -56(%rsp)
+ movaps %xmm8, %xmm13
+ movsd -24(%rsp), %xmm14
+ addsd %xmm2, %xmm13
+ movsd -56(%rsp), %xmm9
+ movaps %xmm14, %xmm0
+ movb -1(%rsp), %cl
+ addsd %xmm6, %xmm9
+ addsd %xmm1, %xmm6
+ subsd %xmm1, %xmm9
+ andb $-128, %cl
+ addsd %xmm9, %xmm0
+ movsd %xmm0, -24(%rsp)
+ movsd -24(%rsp), %xmm4
+ subsd %xmm4, %xmm14
+ addsd %xmm14, %xmm9
+ movsd %xmm9, -56(%rsp)
+ movsd -24(%rsp), %xmm9
+ movsd -56(%rsp), %xmm0
+ movsd %xmm13, -24(%rsp)
+ movsd -24(%rsp), %xmm15
+ subsd %xmm15, %xmm8
+ addsd %xmm8, %xmm2
+ movsd %xmm2, -56(%rsp)
+ movsd -24(%rsp), %xmm2
+ movsd -56(%rsp), %xmm4
+ addsd %xmm6, %xmm4
+ movaps %xmm2, %xmm6
+ addsd %xmm4, %xmm6
+ movsd %xmm6, -24(%rsp)
+ movsd -24(%rsp), %xmm8
+ movsd 1128+__ssinh_la_CoutTab(%rip), %xmm6
+ subsd %xmm8, %xmm2
+ addsd %xmm2, %xmm4
+ movsd %xmm4, -56(%rsp)
+ movsd -24(%rsp), %xmm1
+ mulsd %xmm1, %xmm6
+ movsd -56(%rsp), %xmm2
+ movsd %xmm6, -24(%rsp)
+ movaps %xmm1, %xmm6
+ movsd -24(%rsp), %xmm14
+ mulsd %xmm2, %xmm10
+ subsd %xmm1, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm8
+ subsd %xmm8, %xmm13
+ movsd %xmm13, -24(%rsp)
+ movaps %xmm11, %xmm13
+ movsd -24(%rsp), %xmm15
+ mulsd %xmm1, %xmm13
+ subsd %xmm15, %xmm6
+ mulsd %xmm3, %xmm1
+ mulsd %xmm2, %xmm3
+ movaps %xmm12, %xmm15
+ movaps %xmm13, %xmm4
+ mulsd %xmm9, %xmm15
+ mulsd %xmm0, %xmm12
+ addsd %xmm15, %xmm4
+ addsd %xmm0, %xmm12
+ movsd %xmm6, -56(%rsp)
+ addsd %xmm1, %xmm12
+ movsd -24(%rsp), %xmm8
+ addsd %xmm3, %xmm12
+ movsd -56(%rsp), %xmm6
+ movsd %xmm4, -24(%rsp)
+ movsd -24(%rsp), %xmm14
+ subsd %xmm14, %xmm13
+ addsd %xmm13, %xmm15
+ movsd %xmm15, -56(%rsp)
+ movaps %xmm7, %xmm15
+ mulsd %xmm8, %xmm15
+ mulsd %xmm5, %xmm8
+ mulsd %xmm6, %xmm5
+ mulsd %xmm6, %xmm7
+ movsd -24(%rsp), %xmm14
+ movaps %xmm14, %xmm13
+ movsd -56(%rsp), %xmm4
+ addsd %xmm15, %xmm13
+ addsd %xmm8, %xmm4
+ movsd %xmm13, -24(%rsp)
+ addsd %xmm5, %xmm4
+ movsd -24(%rsp), %xmm13
+ addsd %xmm7, %xmm4
+ subsd %xmm13, %xmm15
+ addsd %xmm4, %xmm12
+ addsd %xmm15, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movaps %xmm9, %xmm15
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm14
+ addsd %xmm13, %xmm15
+ addsd %xmm14, %xmm12
+ movsd %xmm15, -24(%rsp)
+ movsd -24(%rsp), %xmm15
+ subsd %xmm15, %xmm9
+ addsd %xmm9, %xmm13
+ movsd %xmm13, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm9
+ addsd %xmm9, %xmm12
+ addsd %xmm12, %xmm13
+ addsd %xmm13, %xmm10
+ movsd %xmm10, -32(%rsp)
+ movb -25(%rsp), %dil
+ andb $127, %dil
+ orb %cl, %dil
+ movb %dil, -25(%rsp)
+ movsd -32(%rsp), %xmm10
+ cvtsd2ss %xmm10, %xmm10
+ movss %xmm10, (%r9)
+ ret
+
+.LBL_2_8:
+ movaps %xmm0, %xmm2
+ mulsd %xmm0, %xmm2
+ movsd 1104+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ movb -1(%rsp), %dl
+ andb $-128, %dl
+ addsd 1096+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1088+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1080+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm1, %xmm2
+ mulsd %xmm0, %xmm2
+ addsd %xmm2, %xmm0
+ movsd %xmm0, -32(%rsp)
+ movb -25(%rsp), %cl
+ andb $127, %cl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movsd -32(%rsp), %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_9:
+ movsd 1112+__ssinh_la_CoutTab(%rip), %xmm1
+ lea __ssinh_la_CoutTab(%rip), %r8
+ mulsd %xmm0, %xmm1
+ movsd 1144+__ssinh_la_CoutTab(%rip), %xmm2
+ movsd 1152+__ssinh_la_CoutTab(%rip), %xmm3
+ movq 8+__ssinh_la_CoutTab(%rip), %rdx
+ movq %rdx, -16(%rsp)
+ addsd 1120+__ssinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -40(%rsp)
+ movsd -40(%rsp), %xmm4
+ movsd 1072+__ssinh_la_CoutTab(%rip), %xmm1
+ movl -40(%rsp), %edx
+ movl %edx, %esi
+ andl $63, %esi
+ subsd 1120+__ssinh_la_CoutTab(%rip), %xmm4
+ mulsd %xmm4, %xmm2
+ lea (%rsi,%rsi), %ecx
+ mulsd %xmm3, %xmm4
+ subsd %xmm2, %xmm0
+ movsd (%r8,%rcx,8), %xmm5
+ lea 1(%rsi,%rsi), %edi
+ shrl $6, %edx
+ subsd %xmm4, %xmm0
+ mulsd %xmm0, %xmm1
+ addl $1022, %edx
+ andl $2047, %edx
+ addsd 1064+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1056+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1048+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1040+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ mulsd %xmm0, %xmm1
+ addsd %xmm0, %xmm1
+ mulsd %xmm5, %xmm1
+ addsd (%r8,%rdi,8), %xmm1
+ addsd %xmm5, %xmm1
+ cmpl $2046, %edx
+ ja .LBL_2_11
+ movq 8+__ssinh_la_CoutTab(%rip), %rcx
+ shrq $48, %rcx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm1, %xmm0
+ movsd %xmm0, -32(%rsp)
+ jmp .LBL_2_12
+
+.LBL_2_11:
+ decl %edx
+ andl $2047, %edx
+ movzwl -10(%rsp), %ecx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm1, %xmm0
+ mulsd 1024+__ssinh_la_CoutTab(%rip), %xmm0
+ movsd %xmm0, -32(%rsp)
+
+.LBL_2_12:
+ movb -25(%rsp), %cl
+ movb -1(%rsp), %dl
+ andb $127, %cl
+ andb $-128, %dl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movsd -32(%rsp), %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_13:
+ movsd 1168+__ssinh_la_CoutTab(%rip), %xmm0
+ movl $3, %eax
+ mulsd %xmm2, %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_14:
+ movsd __ssinh_la_CoutTab(%rip), %xmm0
+ addsd 1160+__ssinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm2, %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_16:
+ movsd 1160+__ssinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm0, %xmm2
+ movsd %xmm2, -24(%rsp)
+ pxor %xmm2, %xmm2
+ cvtss2sd (%rdi), %xmm2
+ movsd -24(%rsp), %xmm1
+ movq 8+__ssinh_la_CoutTab(%rip), %rdx
+ addsd %xmm1, %xmm2
+ cvtsd2ss %xmm2, %xmm2
+ movq %rdx, -16(%rsp)
+ movss %xmm2, (%r9)
+ ret
+
+.LBL_2_17:
+ addss %xmm2, %xmm2
+ movss %xmm2, (%r9)
+ ret
+
+ cfi_endproc
+
+ .type __svml_ssinh_cout_rare_internal,@function
+ .size __svml_ssinh_cout_rare_internal,.-__svml_ssinh_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_ssinh_data_internal:
+ .long 1056964608
+ .long 1057148295
+ .long 1057336003
+ .long 1057527823
+ .long 1057723842
+ .long 1057924154
+ .long 1058128851
+ .long 1058338032
+ .long 1058551792
+ .long 1058770234
+ .long 1058993458
+ .long 1059221571
+ .long 1059454679
+ .long 1059692891
+ .long 1059936319
+ .long 1060185078
+ .long 1060439283
+ .long 1060699055
+ .long 1060964516
+ .long 1061235789
+ .long 1061513002
+ .long 1061796286
+ .long 1062085772
+ .long 1062381598
+ .long 1062683901
+ .long 1062992824
+ .long 1063308511
+ .long 1063631111
+ .long 1063960775
+ .long 1064297658
+ .long 1064641917
+ .long 1064993715
+ .long 0
+ .long 2999887785
+ .long 852465809
+ .long 3003046475
+ .long 2984291233
+ .long 3001644133
+ .long 854021668
+ .long 2997748242
+ .long 849550193
+ .long 2995541347
+ .long 851518274
+ .long 809701978
+ .long 2997656926
+ .long 2996185864
+ .long 2980965110
+ .long 3002882728
+ .long 844097402
+ .long 848217591
+ .long 2999013352
+ .long 2992006718
+ .long 831170615
+ .long 3002278818
+ .long 833158180
+ .long 3000769962
+ .long 2991891850
+ .long 2999994908
+ .long 2979965785
+ .long 2982419430
+ .long 2982221534
+ .long 2999469642
+ .long 833168438
+ .long 2987538264
+ .long 1056964608
+ .long 1056605107
+ .long 1056253309
+ .long 1055909050
+ .long 1055572167
+ .long 1055242503
+ .long 1054919903
+ .long 1054604216
+ .long 1054295293
+ .long 1053992990
+ .long 1053697164
+ .long 1053407678
+ .long 1053124394
+ .long 1052847181
+ .long 1052575908
+ .long 1052310447
+ .long 1052050675
+ .long 1051796470
+ .long 1051547711
+ .long 1051304283
+ .long 1051066071
+ .long 1050832963
+ .long 1050604850
+ .long 1050381626
+ .long 1050163184
+ .long 1049949424
+ .long 1049740243
+ .long 1049535546
+ .long 1049335234
+ .long 1049139215
+ .long 1048947395
+ .long 1048759687
+ .long 0
+ .long 2979149656
+ .long 824779830
+ .long 2991081034
+ .long 2973832926
+ .long 2974030822
+ .long 2971577177
+ .long 2991606300
+ .long 2983503242
+ .long 2992381354
+ .long 824769572
+ .long 2993890210
+ .long 822782007
+ .long 2983618110
+ .long 2990624744
+ .long 839828983
+ .long 835708794
+ .long 2994494120
+ .long 2972576502
+ .long 2987797256
+ .long 2989268318
+ .long 801313370
+ .long 843129666
+ .long 2987152739
+ .long 841161585
+ .long 2989359634
+ .long 845633060
+ .long 2993255525
+ .long 2975902625
+ .long 2994657867
+ .long 844077201
+ .long 2991499177
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 31
+ .long 31
+ .long 31
+ .long 31
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 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 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 2147483648
+ .long 2147483648
+ .long 2147483648
+ .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 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 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 31
+ .long 31
+ .long 31
+ .long 31
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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_ssinh_data_internal,@object
+ .size __svml_ssinh_data_internal,1920
+ .align 32
+
+__ssinh_la_CoutTab:
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 0
+ .long 1048019041
+ .long 1072704666
+ .long 1398474845
+ .long 3161559171
+ .long 3541402996
+ .long 1072716208
+ .long 2759177317
+ .long 1015903202
+ .long 410360776
+ .long 1072727877
+ .long 1269990655
+ .long 1013024446
+ .long 1828292879
+ .long 1072739672
+ .long 1255956747
+ .long 1016636974
+ .long 852742562
+ .long 1072751596
+ .long 667253587
+ .long 1010842135
+ .long 3490863953
+ .long 1072763649
+ .long 960797498
+ .long 3163997456
+ .long 2930322912
+ .long 1072775834
+ .long 2599499422
+ .long 3163762623
+ .long 1014845819
+ .long 1072788152
+ .long 3117910646
+ .long 3162607681
+ .long 3949972341
+ .long 1072800603
+ .long 2068408548
+ .long 1015962444
+ .long 828946858
+ .long 1072813191
+ .long 10642492
+ .long 1016988014
+ .long 2288159958
+ .long 1072825915
+ .long 2169144469
+ .long 1015924597
+ .long 1853186616
+ .long 1072838778
+ .long 3066496371
+ .long 1016705150
+ .long 1709341917
+ .long 1072851781
+ .long 2571168217
+ .long 1015201075
+ .long 4112506593
+ .long 1072864925
+ .long 2947355221
+ .long 1015419624
+ .long 2799960843
+ .long 1072878213
+ .long 1423655381
+ .long 1016070727
+ .long 171030293
+ .long 1072891646
+ .long 3526460132
+ .long 1015477354
+ .long 2992903935
+ .long 1072905224
+ .long 2218154406
+ .long 1016276769
+ .long 926591435
+ .long 1072918951
+ .long 3208833762
+ .long 3163962090
+ .long 887463927
+ .long 1072932827
+ .long 3596744163
+ .long 3161842742
+ .long 1276261410
+ .long 1072946854
+ .long 300981948
+ .long 1015732745
+ .long 569847338
+ .long 1072961034
+ .long 472945272
+ .long 3160339305
+ .long 1617004845
+ .long 1072975368
+ .long 82804944
+ .long 1011391354
+ .long 3049340112
+ .long 1072989858
+ .long 3062915824
+ .long 1014219171
+ .long 3577096743
+ .long 1073004506
+ .long 2951496418
+ .long 1014842263
+ .long 1990012071
+ .long 1073019314
+ .long 3529070563
+ .long 3163861769
+ .long 1453150082
+ .long 1073034283
+ .long 498154669
+ .long 3162536638
+ .long 917841882
+ .long 1073049415
+ .long 18715565
+ .long 1016707884
+ .long 3712504873
+ .long 1073064711
+ .long 88491949
+ .long 1016476236
+ .long 363667784
+ .long 1073080175
+ .long 813753950
+ .long 1016833785
+ .long 2956612997
+ .long 1073095806
+ .long 2118169751
+ .long 3163784129
+ .long 2186617381
+ .long 1073111608
+ .long 2270764084
+ .long 3164321289
+ .long 1719614413
+ .long 1073127582
+ .long 330458198
+ .long 3164331316
+ .long 1013258799
+ .long 1073143730
+ .long 1748797611
+ .long 3161177658
+ .long 3907805044
+ .long 1073160053
+ .long 2257091225
+ .long 3162598983
+ .long 1447192521
+ .long 1073176555
+ .long 1462857171
+ .long 3163563097
+ .long 1944781191
+ .long 1073193236
+ .long 3993278767
+ .long 3162772855
+ .long 919555682
+ .long 1073210099
+ .long 3121969534
+ .long 1013996802
+ .long 2571947539
+ .long 1073227145
+ .long 3558159064
+ .long 3164425245
+ .long 2604962541
+ .long 1073244377
+ .long 2614425274
+ .long 3164587768
+ .long 1110089947
+ .long 1073261797
+ .long 1451641639
+ .long 1016523249
+ .long 2568320822
+ .long 1073279406
+ .long 2732824428
+ .long 1015401491
+ .long 2966275557
+ .long 1073297207
+ .long 2176155324
+ .long 3160891335
+ .long 2682146384
+ .long 1073315202
+ .long 2082178513
+ .long 3164411995
+ .long 2191782032
+ .long 1073333393
+ .long 2960257726
+ .long 1014791238
+ .long 2069751141
+ .long 1073351782
+ .long 1562170675
+ .long 3163773257
+ .long 2990417245
+ .long 1073370371
+ .long 3683467745
+ .long 3164417902
+ .long 1434058175
+ .long 1073389163
+ .long 251133233
+ .long 1016134345
+ .long 2572866477
+ .long 1073408159
+ .long 878562433
+ .long 1016570317
+ .long 3092190715
+ .long 1073427362
+ .long 814012168
+ .long 3160571998
+ .long 4076559943
+ .long 1073446774
+ .long 2119478331
+ .long 3161806927
+ .long 2420883922
+ .long 1073466398
+ .long 2049810052
+ .long 1015168464
+ .long 3716502172
+ .long 1073486235
+ .long 2303740125
+ .long 1015091301
+ .long 777507147
+ .long 1073506289
+ .long 4282924205
+ .long 1016236109
+ .long 3706687593
+ .long 1073526560
+ .long 3521726939
+ .long 1014301643
+ .long 1242007932
+ .long 1073547053
+ .long 1132034716
+ .long 3164388407
+ .long 3707479175
+ .long 1073567768
+ .long 3613079303
+ .long 1015213314
+ .long 64696965
+ .long 1073588710
+ .long 1768797490
+ .long 1016865536
+ .long 863738719
+ .long 1073609879
+ .long 1326992220
+ .long 3163661773
+ .long 3884662774
+ .long 1073631278
+ .long 2158611599
+ .long 1015258761
+ .long 2728693978
+ .long 1073652911
+ .long 396109971
+ .long 3164511267
+ .long 3999357479
+ .long 1073674779
+ .long 2258941616
+ .long 1016973300
+ .long 1533953344
+ .long 1073696886
+ .long 769171851
+ .long 1016714209
+ .long 2174652632
+ .long 1073719233
+ .long 4087714590
+ .long 1015498835
+ .long 0
+ .long 1073741824
+ .long 0
+ .long 0
+ .long 0
+ .long 1071644672
+ .long 1431652600
+ .long 1069897045
+ .long 1431670732
+ .long 1067799893
+ .long 984555731
+ .long 1065423122
+ .long 472530941
+ .long 1062650218
+ .long 1431655765
+ .long 1069897045
+ .long 286331153
+ .long 1065423121
+ .long 436314138
+ .long 1059717536
+ .long 2773927732
+ .long 1053236707
+ .long 1697350398
+ .long 1079448903
+ .long 0
+ .long 1127743488
+ .long 33554432
+ .long 1101004800
+ .long 2684354560
+ .long 1079401119
+ .long 4277796864
+ .long 1065758274
+ .long 3164486458
+ .long 1025308570
+ .long 1
+ .long 1048576
+ .long 4294967295
+ .long 2146435071
+ .long 3671843104
+ .long 1067178892
+ .long 3875694624
+ .long 1077247184
+ .type __ssinh_la_CoutTab,@object
+ .size __ssinh_la_CoutTab,1192
+ .space 8, 0x00
+ .align 16
+
+.FLT_100:
+ .long 0x00000000,0x80000000,0x00000000,0x00000000
+ .type .FLT_100,@object
+ .size .FLT_100,16
new file mode 100644
@@ -0,0 +1,20 @@
+/* SSE version of vectorized sinhf, 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_sinhf _ZGVdN8v_sinhf_sse_wrapper
+#include "../svml_s_sinhf8_core.S"
new file mode 100644
@@ -0,0 +1,28 @@
+/* Multiple versions of vectorized sinhf, 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_sinhf
+#include "ifunc-mathvec-avx2.h"
+
+libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ());
+
+#ifdef SHARED
+__hidden_ver1 (_ZGVdN8v_sinhf, __GI__ZGVdN8v_sinhf,
+ __redirect__ZGVdN8v_sinhf)
+ __attribute__ ((visibility ("hidden")));
+#endif
new file mode 100644
@@ -0,0 +1,1958 @@
+/* Function sinhf 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:
+ *
+ * Compute sinh(x) as (exp(x)-exp(-x))/2,
+ * where exp is calculated as
+ * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r)
+ *
+ * Special cases:
+ *
+ * sinh(NaN) = quiet NaN, and raise invalid exception
+ * sinh(INF) = that INF
+ * sinh(x) = x for subnormals
+ * sinh(x) overflows for big x and returns MAXLOG+log(2)
+ *
+ */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(_ZGVdN8v_sinhf_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
+ vmovups 1280+__svml_ssinh_data_internal(%rip), %ymm3
+
+/*
+ * Load argument
+ * dM = x/log(2) + RShifter
+ */
+ vmovups 960+__svml_ssinh_data_internal(%rip), %ymm5
+ vmovups %ymm8, 32(%rsp)
+ vmovups 1856+__svml_ssinh_data_internal(%rip), %ymm6
+ vmovups %ymm9, 96(%rsp)
+ vmovups %ymm11, 192(%rsp)
+ vmovups %ymm10, 160(%rsp)
+ vmovups %ymm12, 224(%rsp)
+ vmovups %ymm13, 256(%rsp)
+ vmovups %ymm15, 320(%rsp)
+ vmovups %ymm14, 288(%rsp)
+ vmovaps %ymm0, %ymm1
+
+/*
+ * Implementation
+ * Abs argument
+ */
+ vandps 1152+__svml_ssinh_data_internal(%rip), %ymm1, %ymm0
+ .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
+ vxorps %ymm1, %ymm0, %ymm8
+ vfmadd213ps %ymm3, %ymm8, %ymm5
+
+/*
+ * R
+ * sN = sM - RShifter
+ */
+ vsubps %ymm3, %ymm5, %ymm4
+
+/*
+ * G1,G2 2^N,2^(-N)
+ * iM now is an EXP(2^N)
+ */
+ vpslld $23, %ymm5, %ymm7
+
+/*
+ * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2)
+ * sOut = (a4 +a6*sR2)
+ */
+ vmovups 1792+__svml_ssinh_data_internal(%rip), %ymm5
+
+/*
+ * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) ....
+ * sSinh_r = (a3+r^2*a5)
+ */
+ vmovups 1728+__svml_ssinh_data_internal(%rip), %ymm3
+
+/*
+ * Check for overflow\underflow
+ * MORE faster than GE?
+ */
+ vpcmpgtd 1408+__svml_ssinh_data_internal(%rip), %ymm8, %ymm2
+
+/* sR = sX - sN*Log2_hi */
+ vfnmadd231ps 1024+__svml_ssinh_data_internal(%rip), %ymm4, %ymm8
+
+/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */
+ vfnmadd231ps 1088+__svml_ssinh_data_internal(%rip), %ymm4, %ymm8
+
+/* sR2 = sR^2 */
+ vmulps %ymm8, %ymm8, %ymm4
+ vfmadd213ps 1664+__svml_ssinh_data_internal(%rip), %ymm4, %ymm5
+ vfmadd213ps 1600+__svml_ssinh_data_internal(%rip), %ymm4, %ymm3
+
+/* sOut = a2+sR2*(a4+a6*sR2) */
+ vfmadd213ps 1536+__svml_ssinh_data_internal(%rip), %ymm4, %ymm5
+
+/* sSinh_r = r^2*(a3+r^2*a5) */
+ vmulps %ymm3, %ymm4, %ymm9
+ vmovmskps %ymm2, %edx
+ vpaddd %ymm7, %ymm6, %ymm2
+ vpsubd %ymm7, %ymm6, %ymm6
+
+/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */
+ vmulps %ymm5, %ymm4, %ymm7
+
+/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */
+ vfmadd213ps %ymm8, %ymm8, %ymm9
+
+/* sG2 = 2^(N-1)-2^(-N-1) */
+ vsubps %ymm6, %ymm2, %ymm11
+
+/* sG1 = 2^(N-1)+2^(-N-1) */
+ vaddps %ymm6, %ymm2, %ymm12
+
+/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */
+ vmulps %ymm7, %ymm11, %ymm10
+
+/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */
+ vfmadd213ps %ymm10, %ymm9, %ymm12
+
+/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */
+ vaddps %ymm12, %ymm11, %ymm13
+
+/* Ret H */
+ vorps %ymm13, %ymm0, %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:
+ vmovups %ymm1, 64(%rsp)
+ vmovups %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 $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), %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,4), %rdi
+ lea 128(%rsp,%r12,4), %rsi
+ call __svml_ssinh_cout_rare_internal
+ jmp .LBL_1_8
+
+END(_ZGVdN8v_sinhf_avx2)
+
+ .align 16,0x90
+
+__svml_ssinh_cout_rare_internal:
+
+ cfi_startproc
+
+ movq %rsi, %r9
+ movzwl 2(%rdi), %edx
+ xorl %eax, %eax
+ andl $32640, %edx
+ movss (%rdi), %xmm2
+ cmpl $32640, %edx
+ je .LBL_2_17
+ cvtss2sd %xmm2, %xmm2
+ movsd %xmm2, -8(%rsp)
+ movzwl -2(%rsp), %edx
+ andl $32752, %edx
+ movsd %xmm2, -32(%rsp)
+ shrl $4, %edx
+ andb $127, -25(%rsp)
+ testl %edx, %edx
+ jle .LBL_2_16
+ cmpl $969, %edx
+ jle .LBL_2_14
+ movsd -32(%rsp), %xmm0
+ movsd 1136+__ssinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_13
+ movsd 1184+__ssinh_la_CoutTab(%rip), %xmm1
+ comisd %xmm0, %xmm1
+ jbe .LBL_2_9
+ comisd 1176+__ssinh_la_CoutTab(%rip), %xmm0
+ jb .LBL_2_8
+ movsd 1112+__ssinh_la_CoutTab(%rip), %xmm3
+ lea __ssinh_la_CoutTab(%rip), %rcx
+ mulsd %xmm0, %xmm3
+ movsd 1144+__ssinh_la_CoutTab(%rip), %xmm10
+ movq 8+__ssinh_la_CoutTab(%rip), %r10
+ movq %r10, %rsi
+ shrq $48, %rsi
+ addsd 1120+__ssinh_la_CoutTab(%rip), %xmm3
+ movsd %xmm3, -40(%rsp)
+ andl $-32753, %esi
+ movsd -40(%rsp), %xmm13
+ movl -40(%rsp), %r8d
+ movl %r8d, %r11d
+ shrl $6, %r11d
+ andl $63, %r8d
+ movq %r10, -16(%rsp)
+ subsd 1120+__ssinh_la_CoutTab(%rip), %xmm13
+ mulsd %xmm13, %xmm10
+ lea 1023(%r11), %edi
+ xorps .FLT_100(%rip), %xmm13
+ addl $1022, %r11d
+ mulsd 1152+__ssinh_la_CoutTab(%rip), %xmm13
+ subsd %xmm10, %xmm0
+ movaps %xmm0, %xmm5
+ movaps %xmm0, %xmm11
+ andl $2047, %r11d
+ lea (%r8,%r8), %edx
+ negl %edi
+ lea 1(%r8,%r8), %r8d
+ movsd (%rcx,%rdx,8), %xmm8
+ negl %edx
+ shll $4, %r11d
+ addl $-4, %edi
+ orl %r11d, %esi
+ andl $2047, %edi
+ movw %si, -10(%rsp)
+ andl $-32753, %esi
+ shll $4, %edi
+ addsd %xmm13, %xmm5
+ movsd %xmm5, -24(%rsp)
+ orl %edi, %esi
+ movsd -24(%rsp), %xmm7
+ movsd 1128+__ssinh_la_CoutTab(%rip), %xmm5
+ subsd %xmm7, %xmm11
+ movsd %xmm11, -56(%rsp)
+ movsd -24(%rsp), %xmm4
+ movsd -56(%rsp), %xmm12
+ movsd (%rcx,%r8,8), %xmm6
+ addsd %xmm12, %xmm4
+ movsd %xmm4, -48(%rsp)
+ movsd -56(%rsp), %xmm9
+ movsd -16(%rsp), %xmm4
+ addsd %xmm9, %xmm13
+ mulsd %xmm4, %xmm8
+ mulsd %xmm4, %xmm6
+ movsd %xmm13, -56(%rsp)
+ movaps %xmm8, %xmm9
+ movsd -48(%rsp), %xmm15
+ movw %si, -10(%rsp)
+ lea 128(%rdx), %esi
+ movsd -16(%rsp), %xmm14
+ addl $129, %edx
+ subsd %xmm15, %xmm0
+ movaps %xmm8, %xmm15
+ movsd %xmm0, -48(%rsp)
+ movsd -56(%rsp), %xmm3
+ movsd -48(%rsp), %xmm0
+ addsd %xmm0, %xmm3
+ movsd %xmm3, -48(%rsp)
+ movsd -24(%rsp), %xmm10
+ mulsd %xmm10, %xmm5
+ movaps %xmm10, %xmm2
+ mulsd %xmm10, %xmm2
+ movsd -48(%rsp), %xmm3
+ movaps %xmm10, %xmm1
+ movsd %xmm5, -24(%rsp)
+ movsd -24(%rsp), %xmm7
+ subsd %xmm10, %xmm7
+ movsd %xmm7, -56(%rsp)
+ movsd -24(%rsp), %xmm12
+ movsd -56(%rsp), %xmm11
+ subsd %xmm11, %xmm12
+ movsd 1064+__ssinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm2, %xmm11
+ movsd %xmm12, -24(%rsp)
+ movsd 1072+__ssinh_la_CoutTab(%rip), %xmm12
+ mulsd %xmm2, %xmm12
+ addsd 1048+__ssinh_la_CoutTab(%rip), %xmm11
+ mulsd %xmm2, %xmm11
+ addsd 1056+__ssinh_la_CoutTab(%rip), %xmm12
+ mulsd %xmm2, %xmm12
+ mulsd %xmm10, %xmm11
+ addsd 1040+__ssinh_la_CoutTab(%rip), %xmm12
+ addsd %xmm11, %xmm10
+ mulsd %xmm2, %xmm12
+ movsd (%rcx,%rsi,8), %xmm2
+ mulsd %xmm14, %xmm2
+ movsd -24(%rsp), %xmm0
+ subsd %xmm2, %xmm9
+ subsd %xmm0, %xmm1
+ movsd %xmm1, -56(%rsp)
+ movsd -24(%rsp), %xmm7
+ movsd -56(%rsp), %xmm5
+ movsd %xmm9, -24(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd (%rcx,%rdx,8), %xmm1
+ subsd %xmm13, %xmm15
+ mulsd %xmm14, %xmm1
+ subsd %xmm2, %xmm15
+ movsd %xmm15, -56(%rsp)
+ movaps %xmm8, %xmm13
+ movsd -24(%rsp), %xmm14
+ addsd %xmm2, %xmm13
+ movsd -56(%rsp), %xmm9
+ movaps %xmm14, %xmm0
+ movb -1(%rsp), %cl
+ addsd %xmm6, %xmm9
+ addsd %xmm1, %xmm6
+ subsd %xmm1, %xmm9
+ andb $-128, %cl
+ addsd %xmm9, %xmm0
+ movsd %xmm0, -24(%rsp)
+ movsd -24(%rsp), %xmm4
+ subsd %xmm4, %xmm14
+ addsd %xmm14, %xmm9
+ movsd %xmm9, -56(%rsp)
+ movsd -24(%rsp), %xmm9
+ movsd -56(%rsp), %xmm0
+ movsd %xmm13, -24(%rsp)
+ movsd -24(%rsp), %xmm15
+ subsd %xmm15, %xmm8
+ addsd %xmm8, %xmm2
+ movsd %xmm2, -56(%rsp)
+ movsd -24(%rsp), %xmm2
+ movsd -56(%rsp), %xmm4
+ addsd %xmm6, %xmm4
+ movaps %xmm2, %xmm6
+ addsd %xmm4, %xmm6
+ movsd %xmm6, -24(%rsp)
+ movsd -24(%rsp), %xmm8
+ movsd 1128+__ssinh_la_CoutTab(%rip), %xmm6
+ subsd %xmm8, %xmm2
+ addsd %xmm2, %xmm4
+ movsd %xmm4, -56(%rsp)
+ movsd -24(%rsp), %xmm1
+ mulsd %xmm1, %xmm6
+ movsd -56(%rsp), %xmm2
+ movsd %xmm6, -24(%rsp)
+ movaps %xmm1, %xmm6
+ movsd -24(%rsp), %xmm14
+ mulsd %xmm2, %xmm10
+ subsd %xmm1, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm8
+ subsd %xmm8, %xmm13
+ movsd %xmm13, -24(%rsp)
+ movaps %xmm11, %xmm13
+ movsd -24(%rsp), %xmm15
+ mulsd %xmm1, %xmm13
+ subsd %xmm15, %xmm6
+ mulsd %xmm3, %xmm1
+ mulsd %xmm2, %xmm3
+ movaps %xmm12, %xmm15
+ movaps %xmm13, %xmm4
+ mulsd %xmm9, %xmm15
+ mulsd %xmm0, %xmm12
+ addsd %xmm15, %xmm4
+ addsd %xmm0, %xmm12
+ movsd %xmm6, -56(%rsp)
+ addsd %xmm1, %xmm12
+ movsd -24(%rsp), %xmm8
+ addsd %xmm3, %xmm12
+ movsd -56(%rsp), %xmm6
+ movsd %xmm4, -24(%rsp)
+ movsd -24(%rsp), %xmm14
+ subsd %xmm14, %xmm13
+ addsd %xmm13, %xmm15
+ movsd %xmm15, -56(%rsp)
+ movaps %xmm7, %xmm15
+ mulsd %xmm8, %xmm15
+ mulsd %xmm5, %xmm8
+ mulsd %xmm6, %xmm5
+ mulsd %xmm6, %xmm7
+ movsd -24(%rsp), %xmm14
+ movaps %xmm14, %xmm13
+ movsd -56(%rsp), %xmm4
+ addsd %xmm15, %xmm13
+ addsd %xmm8, %xmm4
+ movsd %xmm13, -24(%rsp)
+ addsd %xmm5, %xmm4
+ movsd -24(%rsp), %xmm13
+ addsd %xmm7, %xmm4
+ subsd %xmm13, %xmm15
+ addsd %xmm4, %xmm12
+ addsd %xmm15, %xmm14
+ movsd %xmm14, -56(%rsp)
+ movaps %xmm9, %xmm15
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm14
+ addsd %xmm13, %xmm15
+ addsd %xmm14, %xmm12
+ movsd %xmm15, -24(%rsp)
+ movsd -24(%rsp), %xmm15
+ subsd %xmm15, %xmm9
+ addsd %xmm9, %xmm13
+ movsd %xmm13, -56(%rsp)
+ movsd -24(%rsp), %xmm13
+ movsd -56(%rsp), %xmm9
+ addsd %xmm9, %xmm12
+ addsd %xmm12, %xmm13
+ addsd %xmm13, %xmm10
+ movsd %xmm10, -32(%rsp)
+ movb -25(%rsp), %dil
+ andb $127, %dil
+ orb %cl, %dil
+ movb %dil, -25(%rsp)
+ movsd -32(%rsp), %xmm10
+ cvtsd2ss %xmm10, %xmm10
+ movss %xmm10, (%r9)
+ ret
+
+.LBL_2_8:
+ movaps %xmm0, %xmm2
+ mulsd %xmm0, %xmm2
+ movsd 1104+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ movb -1(%rsp), %dl
+ andb $-128, %dl
+ addsd 1096+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1088+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm2, %xmm1
+ addsd 1080+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm1, %xmm2
+ mulsd %xmm0, %xmm2
+ addsd %xmm2, %xmm0
+ movsd %xmm0, -32(%rsp)
+ movb -25(%rsp), %cl
+ andb $127, %cl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movsd -32(%rsp), %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_9:
+ movsd 1112+__ssinh_la_CoutTab(%rip), %xmm1
+ lea __ssinh_la_CoutTab(%rip), %r8
+ mulsd %xmm0, %xmm1
+ movsd 1144+__ssinh_la_CoutTab(%rip), %xmm2
+ movsd 1152+__ssinh_la_CoutTab(%rip), %xmm3
+ movq 8+__ssinh_la_CoutTab(%rip), %rdx
+ movq %rdx, -16(%rsp)
+ addsd 1120+__ssinh_la_CoutTab(%rip), %xmm1
+ movsd %xmm1, -40(%rsp)
+ movsd -40(%rsp), %xmm4
+ movsd 1072+__ssinh_la_CoutTab(%rip), %xmm1
+ movl -40(%rsp), %edx
+ movl %edx, %esi
+ andl $63, %esi
+ subsd 1120+__ssinh_la_CoutTab(%rip), %xmm4
+ mulsd %xmm4, %xmm2
+ lea (%rsi,%rsi), %ecx
+ mulsd %xmm3, %xmm4
+ subsd %xmm2, %xmm0
+ movsd (%r8,%rcx,8), %xmm5
+ lea 1(%rsi,%rsi), %edi
+ shrl $6, %edx
+ subsd %xmm4, %xmm0
+ mulsd %xmm0, %xmm1
+ addl $1022, %edx
+ andl $2047, %edx
+ addsd 1064+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1056+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1048+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ addsd 1040+__ssinh_la_CoutTab(%rip), %xmm1
+ mulsd %xmm0, %xmm1
+ mulsd %xmm0, %xmm1
+ addsd %xmm0, %xmm1
+ mulsd %xmm5, %xmm1
+ addsd (%r8,%rdi,8), %xmm1
+ addsd %xmm5, %xmm1
+ cmpl $2046, %edx
+ ja .LBL_2_11
+ movq 8+__ssinh_la_CoutTab(%rip), %rcx
+ shrq $48, %rcx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm1, %xmm0
+ movsd %xmm0, -32(%rsp)
+ jmp .LBL_2_12
+
+.LBL_2_11:
+ decl %edx
+ andl $2047, %edx
+ movzwl -10(%rsp), %ecx
+ shll $4, %edx
+ andl $-32753, %ecx
+ orl %edx, %ecx
+ movw %cx, -10(%rsp)
+ movsd -16(%rsp), %xmm0
+ mulsd %xmm1, %xmm0
+ mulsd 1024+__ssinh_la_CoutTab(%rip), %xmm0
+ movsd %xmm0, -32(%rsp)
+
+.LBL_2_12:
+ movb -25(%rsp), %cl
+ movb -1(%rsp), %dl
+ andb $127, %cl
+ andb $-128, %dl
+ orb %dl, %cl
+ movb %cl, -25(%rsp)
+ movsd -32(%rsp), %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_13:
+ movsd 1168+__ssinh_la_CoutTab(%rip), %xmm0
+ movl $3, %eax
+ mulsd %xmm2, %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_14:
+ movsd __ssinh_la_CoutTab(%rip), %xmm0
+ addsd 1160+__ssinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm2, %xmm0
+ cvtsd2ss %xmm0, %xmm0
+ movss %xmm0, (%r9)
+ ret
+
+.LBL_2_16:
+ movsd 1160+__ssinh_la_CoutTab(%rip), %xmm0
+ mulsd %xmm0, %xmm2
+ movsd %xmm2, -24(%rsp)
+ pxor %xmm2, %xmm2
+ cvtss2sd (%rdi), %xmm2
+ movsd -24(%rsp), %xmm1
+ movq 8+__ssinh_la_CoutTab(%rip), %rdx
+ addsd %xmm1, %xmm2
+ cvtsd2ss %xmm2, %xmm2
+ movq %rdx, -16(%rsp)
+ movss %xmm2, (%r9)
+ ret
+
+.LBL_2_17:
+ addss %xmm2, %xmm2
+ movss %xmm2, (%r9)
+ ret
+
+ cfi_endproc
+
+ .type __svml_ssinh_cout_rare_internal,@function
+ .size __svml_ssinh_cout_rare_internal,.-__svml_ssinh_cout_rare_internal
+
+ .section .rodata, "a"
+ .align 64
+
+__svml_ssinh_data_internal:
+ .long 1056964608
+ .long 1057148295
+ .long 1057336003
+ .long 1057527823
+ .long 1057723842
+ .long 1057924154
+ .long 1058128851
+ .long 1058338032
+ .long 1058551792
+ .long 1058770234
+ .long 1058993458
+ .long 1059221571
+ .long 1059454679
+ .long 1059692891
+ .long 1059936319
+ .long 1060185078
+ .long 1060439283
+ .long 1060699055
+ .long 1060964516
+ .long 1061235789
+ .long 1061513002
+ .long 1061796286
+ .long 1062085772
+ .long 1062381598
+ .long 1062683901
+ .long 1062992824
+ .long 1063308511
+ .long 1063631111
+ .long 1063960775
+ .long 1064297658
+ .long 1064641917
+ .long 1064993715
+ .long 0
+ .long 2999887785
+ .long 852465809
+ .long 3003046475
+ .long 2984291233
+ .long 3001644133
+ .long 854021668
+ .long 2997748242
+ .long 849550193
+ .long 2995541347
+ .long 851518274
+ .long 809701978
+ .long 2997656926
+ .long 2996185864
+ .long 2980965110
+ .long 3002882728
+ .long 844097402
+ .long 848217591
+ .long 2999013352
+ .long 2992006718
+ .long 831170615
+ .long 3002278818
+ .long 833158180
+ .long 3000769962
+ .long 2991891850
+ .long 2999994908
+ .long 2979965785
+ .long 2982419430
+ .long 2982221534
+ .long 2999469642
+ .long 833168438
+ .long 2987538264
+ .long 1056964608
+ .long 1056605107
+ .long 1056253309
+ .long 1055909050
+ .long 1055572167
+ .long 1055242503
+ .long 1054919903
+ .long 1054604216
+ .long 1054295293
+ .long 1053992990
+ .long 1053697164
+ .long 1053407678
+ .long 1053124394
+ .long 1052847181
+ .long 1052575908
+ .long 1052310447
+ .long 1052050675
+ .long 1051796470
+ .long 1051547711
+ .long 1051304283
+ .long 1051066071
+ .long 1050832963
+ .long 1050604850
+ .long 1050381626
+ .long 1050163184
+ .long 1049949424
+ .long 1049740243
+ .long 1049535546
+ .long 1049335234
+ .long 1049139215
+ .long 1048947395
+ .long 1048759687
+ .long 0
+ .long 2979149656
+ .long 824779830
+ .long 2991081034
+ .long 2973832926
+ .long 2974030822
+ .long 2971577177
+ .long 2991606300
+ .long 2983503242
+ .long 2992381354
+ .long 824769572
+ .long 2993890210
+ .long 822782007
+ .long 2983618110
+ .long 2990624744
+ .long 839828983
+ .long 835708794
+ .long 2994494120
+ .long 2972576502
+ .long 2987797256
+ .long 2989268318
+ .long 801313370
+ .long 843129666
+ .long 2987152739
+ .long 841161585
+ .long 2989359634
+ .long 845633060
+ .long 2993255525
+ .long 2975902625
+ .long 2994657867
+ .long 844077201
+ .long 2991499177
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .long 1220542464
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .long 1220542465
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .long 1118743631
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .long 1056964676
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .long 1042983605
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 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 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .long 1060204544
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .long 939916788
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .long 2147483648
+ .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
+ .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 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .long 1262485504
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .long 31
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .long 1118743630
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .long 1042983511
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .long 1026206322
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .long 1007228001
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .long 985049251
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .long 1056964608
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .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_ssinh_data_internal,@object
+ .size __svml_ssinh_data_internal,1920
+ .align 32
+
+__ssinh_la_CoutTab:
+ .long 0
+ .long 1072693248
+ .long 0
+ .long 0
+ .long 1048019041
+ .long 1072704666
+ .long 1398474845
+ .long 3161559171
+ .long 3541402996
+ .long 1072716208
+ .long 2759177317
+ .long 1015903202
+ .long 410360776
+ .long 1072727877
+ .long 1269990655
+ .long 1013024446
+ .long 1828292879
+ .long 1072739672
+ .long 1255956747
+ .long 1016636974
+ .long 852742562
+ .long 1072751596
+ .long 667253587
+ .long 1010842135
+ .long 3490863953
+ .long 1072763649
+ .long 960797498
+ .long 3163997456
+ .long 2930322912
+ .long 1072775834
+ .long 2599499422
+ .long 3163762623
+ .long 1014845819
+ .long 1072788152
+ .long 3117910646
+ .long 3162607681
+ .long 3949972341
+ .long 1072800603
+ .long 2068408548
+ .long 1015962444
+ .long 828946858
+ .long 1072813191
+ .long 10642492
+ .long 1016988014
+ .long 2288159958
+ .long 1072825915
+ .long 2169144469
+ .long 1015924597
+ .long 1853186616
+ .long 1072838778
+ .long 3066496371
+ .long 1016705150
+ .long 1709341917
+ .long 1072851781
+ .long 2571168217
+ .long 1015201075
+ .long 4112506593
+ .long 1072864925
+ .long 2947355221
+ .long 1015419624
+ .long 2799960843
+ .long 1072878213
+ .long 1423655381
+ .long 1016070727
+ .long 171030293
+ .long 1072891646
+ .long 3526460132
+ .long 1015477354
+ .long 2992903935
+ .long 1072905224
+ .long 2218154406
+ .long 1016276769
+ .long 926591435
+ .long 1072918951
+ .long 3208833762
+ .long 3163962090
+ .long 887463927
+ .long 1072932827
+ .long 3596744163
+ .long 3161842742
+ .long 1276261410
+ .long 1072946854
+ .long 300981948
+ .long 1015732745
+ .long 569847338
+ .long 1072961034
+ .long 472945272
+ .long 3160339305
+ .long 1617004845
+ .long 1072975368
+ .long 82804944
+ .long 1011391354
+ .long 3049340112
+ .long 1072989858
+ .long 3062915824
+ .long 1014219171
+ .long 3577096743
+ .long 1073004506
+ .long 2951496418
+ .long 1014842263
+ .long 1990012071
+ .long 1073019314
+ .long 3529070563
+ .long 3163861769
+ .long 1453150082
+ .long 1073034283
+ .long 498154669
+ .long 3162536638
+ .long 917841882
+ .long 1073049415
+ .long 18715565
+ .long 1016707884
+ .long 3712504873
+ .long 1073064711
+ .long 88491949
+ .long 1016476236
+ .long 363667784
+ .long 1073080175
+ .long 813753950
+ .long 1016833785
+ .long 2956612997
+ .long 1073095806
+ .long 2118169751
+ .long 3163784129
+ .long 2186617381
+ .long 1073111608
+ .long 2270764084
+ .long 3164321289
+ .long 1719614413
+ .long 1073127582
+ .long 330458198
+ .long 3164331316
+ .long 1013258799
+ .long 1073143730
+ .long 1748797611
+ .long 3161177658
+ .long 3907805044
+ .long 1073160053
+ .long 2257091225
+ .long 3162598983
+ .long 1447192521
+ .long 1073176555
+ .long 1462857171
+ .long 3163563097
+ .long 1944781191
+ .long 1073193236
+ .long 3993278767
+ .long 3162772855
+ .long 919555682
+ .long 1073210099
+ .long 3121969534
+ .long 1013996802
+ .long 2571947539
+ .long 1073227145
+ .long 3558159064
+ .long 3164425245
+ .long 2604962541
+ .long 1073244377
+ .long 2614425274
+ .long 3164587768
+ .long 1110089947
+ .long 1073261797
+ .long 1451641639
+ .long 1016523249
+ .long 2568320822
+ .long 1073279406
+ .long 2732824428
+ .long 1015401491
+ .long 2966275557
+ .long 1073297207
+ .long 2176155324
+ .long 3160891335
+ .long 2682146384
+ .long 1073315202
+ .long 2082178513
+ .long 3164411995
+ .long 2191782032
+ .long 1073333393
+ .long 2960257726
+ .long 1014791238
+ .long 2069751141
+ .long 1073351782
+ .long 1562170675
+ .long 3163773257
+ .long 2990417245
+ .long 1073370371
+ .long 3683467745
+ .long 3164417902
+ .long 1434058175
+ .long 1073389163
+ .long 251133233
+ .long 1016134345
+ .long 2572866477
+ .long 1073408159
+ .long 878562433
+ .long 1016570317
+ .long 3092190715
+ .long 1073427362
+ .long 814012168
+ .long 3160571998
+ .long 4076559943
+ .long 1073446774
+ .long 2119478331
+ .long 3161806927
+ .long 2420883922
+ .long 1073466398
+ .long 2049810052
+ .long 1015168464
+ .long 3716502172
+ .long 1073486235
+ .long 2303740125
+ .long 1015091301
+ .long 777507147
+ .long 1073506289
+ .long 4282924205
+ .long 1016236109
+ .long 3706687593
+ .long 1073526560
+ .long 3521726939
+ .long 1014301643
+ .long 1242007932
+ .long 1073547053
+ .long 1132034716
+ .long 3164388407
+ .long 3707479175
+ .long 1073567768
+ .long 3613079303
+ .long 1015213314
+ .long 64696965
+ .long 1073588710
+ .long 1768797490
+ .long 1016865536
+ .long 863738719
+ .long 1073609879
+ .long 1326992220
+ .long 3163661773
+ .long 3884662774
+ .long 1073631278
+ .long 2158611599
+ .long 1015258761
+ .long 2728693978
+ .long 1073652911
+ .long 396109971
+ .long 3164511267
+ .long 3999357479
+ .long 1073674779
+ .long 2258941616
+ .long 1016973300
+ .long 1533953344
+ .long 1073696886
+ .long 769171851
+ .long 1016714209
+ .long 2174652632
+ .long 1073719233
+ .long 4087714590
+ .long 1015498835
+ .long 0
+ .long 1073741824
+ .long 0
+ .long 0
+ .long 0
+ .long 1071644672
+ .long 1431652600
+ .long 1069897045
+ .long 1431670732
+ .long 1067799893
+ .long 984555731
+ .long 1065423122
+ .long 472530941
+ .long 1062650218
+ .long 1431655765
+ .long 1069897045
+ .long 286331153
+ .long 1065423121
+ .long 436314138
+ .long 1059717536
+ .long 2773927732
+ .long 1053236707
+ .long 1697350398
+ .long 1079448903
+ .long 0
+ .long 1127743488
+ .long 33554432
+ .long 1101004800
+ .long 2684354560
+ .long 1079401119
+ .long 4277796864
+ .long 1065758274
+ .long 3164486458
+ .long 1025308570
+ .long 1
+ .long 1048576
+ .long 4294967295
+ .long 2146435071
+ .long 3671843104
+ .long 1067178892
+ .long 3875694624
+ .long 1077247184
+ .type __ssinh_la_CoutTab,@object
+ .size __ssinh_la_CoutTab,1192
+ .space 8, 0x00
+ .align 16
+
+.FLT_100:
+ .long 0x00000000,0x80000000,0x00000000,0x00000000
+ .type .FLT_100,@object
+ .size .FLT_100,16
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function sinh 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_sinh)
+WRAPPER_IMPL_SSE2 sinh
+END (_ZGVbN2v_sinh)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVbN2v_sinh)
+#endif
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function sinh 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_sinh)
+WRAPPER_IMPL_AVX _ZGVbN2v_sinh
+END (_ZGVdN4v_sinh)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVdN4v_sinh)
+#endif
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function sinh 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_sinh)
+WRAPPER_IMPL_AVX _ZGVbN2v_sinh
+END (_ZGVcN4v_sinh)
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function sinh 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_sinh)
+WRAPPER_IMPL_AVX512 _ZGVdN4v_sinh
+END (_ZGVeN8v_sinh)
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function sinhf 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_sinhf)
+WRAPPER_IMPL_AVX512 _ZGVdN8v_sinhf
+END (_ZGVeN16v_sinhf)
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function sinhf 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_sinhf)
+WRAPPER_IMPL_SSE2 sinhf
+END (_ZGVbN4v_sinhf)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVbN4v_sinhf)
+#endif
new file mode 100644
@@ -0,0 +1,29 @@
+/* Function sinhf 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_sinhf)
+WRAPPER_IMPL_AVX _ZGVbN4v_sinhf
+END (_ZGVdN8v_sinhf)
+
+#ifndef USE_MULTIARCH
+ libmvec_hidden_def (_ZGVdN8v_sinhf)
+#endif
new file mode 100644
@@ -0,0 +1,25 @@
+/* Function sinhf 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_sinhf)
+WRAPPER_IMPL_AVX _ZGVbN4v_sinhf
+END (_ZGVcN8v_sinhf)
new file mode 100644
@@ -0,0 +1 @@
+#include "test-double-libmvec-sinh.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-double-libmvec-sinh.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-double-libmvec-sinh.c"
new file mode 100644
@@ -0,0 +1,3 @@
+#define LIBMVEC_TYPE double
+#define LIBMVEC_FUNC sinh
+#include "test-vector-abi-arg1.h"
@@ -45,6 +45,7 @@ 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)
+VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVbN2v_sinh)
#define VEC_INT_TYPE __m128i
@@ -48,6 +48,7 @@ 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)
+VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVdN4v_sinh)
#ifndef __ILP32__
# define VEC_INT_TYPE __m256i
@@ -45,6 +45,7 @@ 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)
+VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVcN4v_sinh)
#define VEC_INT_TYPE __m128i
@@ -45,6 +45,7 @@ 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)
+VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVeN8v_sinh)
#ifndef __ILP32__
# define VEC_INT_TYPE __m512i
new file mode 100644
@@ -0,0 +1 @@
+#include "test-float-libmvec-sinhf.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-float-libmvec-sinhf.c"
new file mode 100644
@@ -0,0 +1 @@
+#include "test-float-libmvec-sinhf.c"
new file mode 100644
@@ -0,0 +1,3 @@
+#define LIBMVEC_TYPE float
+#define LIBMVEC_FUNC sinhf
+#include "test-vector-abi-arg1.h"
@@ -45,6 +45,7 @@ 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)
+VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVeN16v_sinhf)
#define VEC_INT_TYPE __m512i
@@ -45,6 +45,7 @@ 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)
+VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVbN4v_sinhf)
#define VEC_INT_TYPE __m128i
@@ -48,6 +48,7 @@ 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)
+VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVdN8v_sinhf)
/* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */
#undef VECTOR_WRAPPER_fFF
@@ -45,6 +45,7 @@ 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)
+VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVcN8v_sinhf)
#define VEC_INT_TYPE __m128i