Imported Upstream version 1.21.4 upstream/1.21.4
authorDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 15 Jul 2022 02:14:51 +0000 (11:14 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 15 Jul 2022 02:14:51 +0000 (11:14 +0900)
69 files changed:
PKG-INFO
doc/changelog/1.21.4-changelog.rst [new file with mode: 0644]
doc/release/upcoming_changes/20049.change.rst [deleted file]
doc/source/release.rst
doc/source/release/1.21.4-notes.rst [new file with mode: 0644]
numpy/__init__.pyi
numpy/_version.py
numpy/core/include/numpy/numpyconfig.h
numpy/core/src/common/simd/avx2/memory.h
numpy/core/src/common/simd/avx2/misc.h
numpy/core/src/common/simd/avx512/math.h
numpy/core/src/common/simd/avx512/memory.h
numpy/core/src/common/simd/avx512/misc.h
numpy/core/src/common/simd/intdiv.h
numpy/core/src/common/simd/simd.h
numpy/core/src/common/simd/sse/misc.h
numpy/core/src/multiarray/arraytypes.c.src
numpy/core/src/multiarray/item_selection.c
numpy/core/src/umath/svml/LICENSE [new file with mode: 0644]
numpy/core/src/umath/svml/README.md [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_acosh_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_acosh_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_asin_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_asin_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_asinh_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_asinh_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_atan2_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_atan2_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_atan_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_atan_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_atanh_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_atanh_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_cbrt_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_cbrt_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_cos_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_cos_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_cosh_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_cosh_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_exp2_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_exp2_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_exp_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_exp_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_expm1_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_expm1_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_log10_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_log10_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_log1p_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_log1p_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_log2_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_log2_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_log_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_log_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_pow_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_pow_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_sin_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_sin_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_sinh_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_sinh_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_tan_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_tan_s_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_tanh_d_la.s [new file with mode: 0644]
numpy/core/src/umath/svml/linux/avx512/svml_z0_tanh_s_la.s [new file with mode: 0644]
numpy/core/tests/test_numeric.py
numpy/core/tests/test_simd.py
numpy/distutils/mingw32ccompiler.py
numpy/typing/tests/data/reveal/arrayterator.py
pavement.py

index 9e8286d671f5d5f9d5d4d82622a441b4ff7f65b3..5e02e4ca5c735ad29cb372df83fa9360f4f264a3 100644 (file)
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: numpy
-Version: 1.21.3
+Version: 1.21.4
 Summary:  NumPy is the fundamental package for array computing with Python.
 Home-page: https://www.numpy.org
 Author: Travis E. Oliphant et al.
diff --git a/doc/changelog/1.21.4-changelog.rst b/doc/changelog/1.21.4-changelog.rst
new file mode 100644 (file)
index 0000000..ecc1d1d
--- /dev/null
@@ -0,0 +1,29 @@
+
+Contributors
+============
+
+A total of 7 people contributed to this release.  People with a "+" by their
+names contributed a patch for the first time.
+
+* Bas van Beek
+* Charles Harris
+* Isuru Fernando
+* Matthew Brett
+* Sayed Adel
+* Sebastian Berg
+* 傅立业(Chris Fu) +
+
+Pull requests merged
+====================
+
+A total of 9 pull requests were merged for this release.
+
+* `#20278 <https://github.com/numpy/numpy/pull/20278>`__: BUG: Fix shadowed reference of `dtype` in type stub
+* `#20293 <https://github.com/numpy/numpy/pull/20293>`__: BUG: Fix headers for universal2 builds
+* `#20294 <https://github.com/numpy/numpy/pull/20294>`__: BUG: ``VOID_nonzero`` could sometimes mutate alignment flag
+* `#20295 <https://github.com/numpy/numpy/pull/20295>`__: BUG: Do not use nonzero fastpath on unaligned arrays
+* `#20296 <https://github.com/numpy/numpy/pull/20296>`__: BUG: Distutils patch to allow for 2 as a minor version (!)
+* `#20297 <https://github.com/numpy/numpy/pull/20297>`__: BUG, SIMD: Fix 64-bit/8-bit integer division by a scalar
+* `#20298 <https://github.com/numpy/numpy/pull/20298>`__: BUG, SIMD: Workaround broadcasting SIMD 64-bit integers on MSVC...
+* `#20300 <https://github.com/numpy/numpy/pull/20300>`__: REL: Prepare for the NumPy 1.21.4 release.
+* `#20302 <https://github.com/numpy/numpy/pull/20302>`__: TST: Fix a `Arrayterator` typing test failure
diff --git a/doc/release/upcoming_changes/20049.change.rst b/doc/release/upcoming_changes/20049.change.rst
deleted file mode 100644 (file)
index e1f08b3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Corrected ``advance`` in ``PCG64DSXM`` and ``PCG64``
-----------------------------------------------------
-Fixed a bug in the ``advance`` method of ``PCG64DSXM`` and ``PCG64``. The bug only
-affects results when the step was larger than :math:`2^{64}` on platforms
-that do not support 128-bit integers(e.g., Windows and 32-bit Linux).
index bef6e8e4d6f74d26de4fdf0d7ab774595d3dfb55..2a13b25f2a3bd76ee28857aaded5b638f1ef8397 100644 (file)
@@ -5,6 +5,7 @@ Release Notes
 .. toctree::
     :maxdepth: 3
 
+    1.21.4 <release/1.21.4-notes>
     1.21.3 <release/1.21.3-notes>
     1.21.2 <release/1.21.2-notes>
     1.21.1 <release/1.21.1-notes>
diff --git a/doc/source/release/1.21.4-notes.rst b/doc/source/release/1.21.4-notes.rst
new file mode 100644 (file)
index 0000000..dd8abdb
--- /dev/null
@@ -0,0 +1,46 @@
+.. currentmodule:: numpy
+
+==========================
+NumPy 1.21.4 Release Notes
+==========================
+
+The NumPy 1.21.4 is a maintenance release that fixes a few bugs discovered
+after 1.21.3. The most important fix here is a fix for the NumPy header files
+to make them work for both x86_64 and M1 hardware when included in the Mac
+universal2 wheels. Previously, the header files only worked for M1 and this
+caused problems for folks building x86_64 extensions. This problem was not seen
+before Python 3.10 because there were thin wheels for x86_64 that had
+precedence. This release also provides thin x86_64 Mac wheels for Python 3.10.
+
+The Python versions supported in this release are 3.7-3.10. If you want to
+compile your own version using gcc-11, you will need to use gcc-11.2+ to avoid
+problems.
+
+Contributors
+============
+
+A total of 7 people contributed to this release.  People with a "+" by their
+names contributed a patch for the first time.
+
+* Bas van Beek
+* Charles Harris
+* Isuru Fernando
+* Matthew Brett
+* Sayed Adel
+* Sebastian Berg
+* 傅立业(Chris Fu) +
+
+Pull requests merged
+====================
+
+A total of 9 pull requests were merged for this release.
+
+* `#20278 <https://github.com/numpy/numpy/pull/20278>`__: BUG: Fix shadowed reference of `dtype` in type stub
+* `#20293 <https://github.com/numpy/numpy/pull/20293>`__: BUG: Fix headers for universal2 builds
+* `#20294 <https://github.com/numpy/numpy/pull/20294>`__: BUG: ``VOID_nonzero`` could sometimes mutate alignment flag
+* `#20295 <https://github.com/numpy/numpy/pull/20295>`__: BUG: Do not use nonzero fastpath on unaligned arrays
+* `#20296 <https://github.com/numpy/numpy/pull/20296>`__: BUG: Distutils patch to allow for 2 as a minor version (!)
+* `#20297 <https://github.com/numpy/numpy/pull/20297>`__: BUG, SIMD: Fix 64-bit/8-bit integer division by a scalar
+* `#20298 <https://github.com/numpy/numpy/pull/20298>`__: BUG, SIMD: Workaround broadcasting SIMD 64-bit integers on MSVC...
+* `#20300 <https://github.com/numpy/numpy/pull/20300>`__: REL: Prepare for the NumPy 1.21.4 release.
+* `#20302 <https://github.com/numpy/numpy/pull/20302>`__: TST: Fix a `Arrayterator` typing test failure
index dfec6af94b74ef42e94727c71e93bbf4c5033b1a..b97ea5316185e3abb3f803da80b80055d8b26390 100644 (file)
@@ -926,7 +926,7 @@ _DTypeScalar_co = TypeVar("_DTypeScalar_co", covariant=True, bound=generic)
 _ByteOrder = L["S", "<", ">", "=", "|", "L", "B", "N", "I"]
 
 class dtype(Generic[_DTypeScalar_co]):
-    names: Optional[Tuple[str, ...]]
+    names: Optional[Tuple[builtins.str, ...]]
     # Overload for subclass of generic
     @overload
     def __new__(
@@ -953,7 +953,7 @@ class dtype(Generic[_DTypeScalar_co]):
     @overload
     def __new__(cls, dtype: Type[complex], align: bool = ..., copy: bool = ...) -> dtype[complex_]: ...
     @overload
-    def __new__(cls, dtype: Type[str], align: bool = ..., copy: bool = ...) -> dtype[str_]: ...
+    def __new__(cls, dtype: Type[builtins.str], align: bool = ..., copy: bool = ...) -> dtype[str_]: ...
     @overload
     def __new__(cls, dtype: Type[bytes], align: bool = ..., copy: bool = ...) -> dtype[bytes_]: ...
 
@@ -1067,7 +1067,7 @@ class dtype(Generic[_DTypeScalar_co]):
     @overload
     def __new__(
         cls,
-        dtype: str,
+        dtype: builtins.str,
         align: bool = ...,
         copy: bool = ...,
     ) -> dtype[Any]: ...
@@ -1089,9 +1089,9 @@ class dtype(Generic[_DTypeScalar_co]):
     ) -> dtype[object_]: ...
 
     @overload
-    def __getitem__(self: dtype[void], key: List[str]) -> dtype[void]: ...
+    def __getitem__(self: dtype[void], key: List[builtins.str]) -> dtype[void]: ...
     @overload
-    def __getitem__(self: dtype[void], key: Union[str, int]) -> dtype[Any]: ...
+    def __getitem__(self: dtype[void], key: Union[builtins.str, int]) -> dtype[Any]: ...
 
     # NOTE: In the future 1-based multiplications will also yield `void` dtypes
     @overload
@@ -1114,15 +1114,15 @@ class dtype(Generic[_DTypeScalar_co]):
     @property
     def base(self: _DType) -> _DType: ...
     @property
-    def byteorder(self) -> str: ...
+    def byteorder(self) -> builtins.str: ...
     @property
-    def char(self) -> str: ...
+    def char(self) -> builtins.str: ...
     @property
-    def descr(self) -> List[Union[Tuple[str, str], Tuple[str, str, _Shape]]]: ...
+    def descr(self) -> List[Union[Tuple[builtins.str, builtins.str], Tuple[builtins.str, builtins.str, _Shape]]]: ...
     @property
     def fields(
         self,
-    ) -> Optional[Mapping[str, Union[Tuple[dtype[Any], int], Tuple[dtype[Any], int, Any]]]]: ...
+    ) -> Optional[Mapping[builtins.str, Union[Tuple[dtype[Any], int], Tuple[dtype[Any], int, Any]]]]: ...
     @property
     def flags(self) -> int: ...
     @property
@@ -1136,11 +1136,11 @@ class dtype(Generic[_DTypeScalar_co]):
     @property
     def itemsize(self) -> int: ...
     @property
-    def kind(self) -> str: ...
+    def kind(self) -> builtins.str: ...
     @property
-    def metadata(self) -> Optional[Mapping[str, Any]]: ...
+    def metadata(self) -> Optional[Mapping[builtins.str, Any]]: ...
     @property
-    def name(self) -> str: ...
+    def name(self) -> builtins.str: ...
     @property
     def names(self) -> Optional[Tuple[str, ...]]: ...
     @property
@@ -1152,8 +1152,6 @@ class dtype(Generic[_DTypeScalar_co]):
     @property
     def subdtype(self: _DType) -> Optional[Tuple[_DType, _Shape]]: ...
     def newbyteorder(self: _DType, __new_order: _ByteOrder = ...) -> _DType: ...
-    # Leave str and type for end to avoid having to use `builtins.str`
-    # everywhere. See https://github.com/python/mypy/issues/3775
     @property
     def str(self) -> builtins.str: ...
     @property
@@ -1659,6 +1657,9 @@ _ArrayComplex_co = NDArray[Union[bool_, integer[Any], floating[Any], complexfloa
 _ArrayNumber_co = NDArray[Union[bool_, number[Any]]]
 _ArrayTD64_co = NDArray[Union[bool_, integer[Any], timedelta64]]
 
+# Introduce an alias for `dtype` to avoid naming conflicts.
+_dtype = dtype
+
 class _SupportsItem(Protocol[_T_co]):
     def item(self, __args: Any) -> _T_co: ...
 
@@ -1680,13 +1681,13 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @property
     def real(
         self: NDArray[_SupportsReal[_ScalarType]],  # type: ignore[type-var]
-    ) -> ndarray[_ShapeType, dtype[_ScalarType]]: ...
+    ) -> ndarray[_ShapeType, _dtype[_ScalarType]]: ...
     @real.setter
     def real(self, value: ArrayLike) -> None: ...
     @property
     def imag(
         self: NDArray[_SupportsImag[_ScalarType]],  # type: ignore[type-var]
-    ) -> ndarray[_ShapeType, dtype[_ScalarType]]: ...
+    ) -> ndarray[_ShapeType, _dtype[_ScalarType]]: ...
     @imag.setter
     def imag(self, value: ArrayLike) -> None: ...
     def __new__(
@@ -1720,12 +1721,12 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     # Use the same output type as that of the underlying `generic`
     @overload
     def item(
-        self: ndarray[Any, dtype[_SupportsItem[_T]]],  # type: ignore[type-var]
+        self: ndarray[Any, _dtype[_SupportsItem[_T]]],  # type: ignore[type-var]
         *args: SupportsIndex,
     ) -> _T: ...
     @overload
     def item(
-        self: ndarray[Any, dtype[_SupportsItem[_T]]],  # type: ignore[type-var]
+        self: ndarray[Any, _dtype[_SupportsItem[_T]]],  # type: ignore[type-var]
         __args: Tuple[SupportsIndex, ...],
     ) -> _T: ...
 
@@ -1765,7 +1766,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
         axis: Optional[SupportsIndex] = ...,
         kind: _PartitionKind = ...,
         order: Union[None, str, Sequence[str]] = ...,
-    ) -> ndarray[Any, dtype[intp]]: ...
+    ) -> ndarray[Any, _dtype[intp]]: ...
 
     def diagonal(
         self,
@@ -1784,7 +1785,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     def dot(self, b: ArrayLike, out: _NdArraySubClass) -> _NdArraySubClass: ...
 
     # `nonzero()` is deprecated for 0d arrays/generics
-    def nonzero(self) -> Tuple[ndarray[Any, dtype[intp]], ...]: ...
+    def nonzero(self) -> Tuple[ndarray[Any, _dtype[intp]], ...]: ...
 
     def partition(
         self,
@@ -1816,7 +1817,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
         v: ArrayLike,
         side: _SortSide = ...,
         sorter: Optional[_ArrayLikeInt_co] = ...,
-    ) -> ndarray[Any, dtype[intp]]: ...
+    ) -> ndarray[Any, _dtype[intp]]: ...
 
     def setfield(
         self,
@@ -1853,7 +1854,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
 
     @overload
     def take(  # type: ignore[misc]
-        self: ndarray[Any, dtype[_ScalarType]],
+        self: ndarray[Any, _dtype[_ScalarType]],
         indices: _IntLike_co,
         axis: Optional[SupportsIndex] = ...,
         out: None = ...,
@@ -1950,19 +1951,19 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
 
     # Dispatch to the underlying `generic` via protocols
     def __int__(
-        self: ndarray[Any, dtype[SupportsInt]],  # type: ignore[type-var]
+        self: ndarray[Any, _dtype[SupportsInt]],  # type: ignore[type-var]
     ) -> int: ...
 
     def __float__(
-        self: ndarray[Any, dtype[SupportsFloat]],  # type: ignore[type-var]
+        self: ndarray[Any, _dtype[SupportsFloat]],  # type: ignore[type-var]
     ) -> float: ...
 
     def __complex__(
-        self: ndarray[Any, dtype[SupportsComplex]],  # type: ignore[type-var]
+        self: ndarray[Any, _dtype[SupportsComplex]],  # type: ignore[type-var]
     ) -> complex: ...
 
     def __index__(
-        self: ndarray[Any, dtype[SupportsIndex]],  # type: ignore[type-var]
+        self: ndarray[Any, _dtype[SupportsIndex]],  # type: ignore[type-var]
     ) -> int: ...
 
     def __len__(self) -> int: ...
@@ -2138,7 +2139,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @overload
     def __mod__(self: _ArrayFloat_co, other: _ArrayLikeFloat_co) -> NDArray[floating[Any]]: ...  # type: ignore[misc]
     @overload
-    def __mod__(self: _ArrayTD64_co, other: _NestedSequence[_SupportsArray[dtype[timedelta64]]]) -> NDArray[timedelta64]: ...
+    def __mod__(self: _ArrayTD64_co, other: _NestedSequence[_SupportsArray[_dtype[timedelta64]]]) -> NDArray[timedelta64]: ...
     @overload
     def __mod__(self: NDArray[object_], other: Any) -> Any: ...
     @overload
@@ -2160,7 +2161,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @overload
     def __rmod__(self: _ArrayFloat_co, other: _ArrayLikeFloat_co) -> NDArray[floating[Any]]: ...  # type: ignore[misc]
     @overload
-    def __rmod__(self: _ArrayTD64_co, other: _NestedSequence[_SupportsArray[dtype[timedelta64]]]) -> NDArray[timedelta64]: ...
+    def __rmod__(self: _ArrayTD64_co, other: _NestedSequence[_SupportsArray[_dtype[timedelta64]]]) -> NDArray[timedelta64]: ...
     @overload
     def __rmod__(self: NDArray[object_], other: Any) -> Any: ...
     @overload
@@ -2182,7 +2183,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @overload
     def __divmod__(self: _ArrayFloat_co, other: _ArrayLikeFloat_co) -> _2Tuple[NDArray[floating[Any]]]: ...  # type: ignore[misc]
     @overload
-    def __divmod__(self: _ArrayTD64_co, other: _NestedSequence[_SupportsArray[dtype[timedelta64]]]) -> Tuple[NDArray[int64], NDArray[timedelta64]]: ...
+    def __divmod__(self: _ArrayTD64_co, other: _NestedSequence[_SupportsArray[_dtype[timedelta64]]]) -> Tuple[NDArray[int64], NDArray[timedelta64]]: ...
     @overload
     def __divmod__(
         self: NDArray[Union[bool_, integer[Any], floating[Any], timedelta64]],
@@ -2200,7 +2201,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @overload
     def __rdivmod__(self: _ArrayFloat_co, other: _ArrayLikeFloat_co) -> _2Tuple[NDArray[floating[Any]]]: ...  # type: ignore[misc]
     @overload
-    def __rdivmod__(self: _ArrayTD64_co, other: _NestedSequence[_SupportsArray[dtype[timedelta64]]]) -> Tuple[NDArray[int64], NDArray[timedelta64]]: ...
+    def __rdivmod__(self: _ArrayTD64_co, other: _NestedSequence[_SupportsArray[_dtype[timedelta64]]]) -> Tuple[NDArray[int64], NDArray[timedelta64]]: ...
     @overload
     def __rdivmod__(
         self: NDArray[Union[bool_, integer[Any], floating[Any], timedelta64]],
@@ -2384,7 +2385,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @overload
     def __floordiv__(self: _ArrayComplex_co, other: _ArrayLikeComplex_co) -> NDArray[complexfloating[Any, Any]]: ...  # type: ignore[misc]
     @overload
-    def __floordiv__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[dtype[timedelta64]]]) -> NDArray[int64]: ...
+    def __floordiv__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[_dtype[timedelta64]]]) -> NDArray[int64]: ...
     @overload
     def __floordiv__(self: NDArray[timedelta64], other: _ArrayLikeBool_co) -> NoReturn: ...
     @overload
@@ -2412,7 +2413,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @overload
     def __rfloordiv__(self: _ArrayComplex_co, other: _ArrayLikeComplex_co) -> NDArray[complexfloating[Any, Any]]: ...  # type: ignore[misc]
     @overload
-    def __rfloordiv__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[dtype[timedelta64]]]) -> NDArray[int64]: ...
+    def __rfloordiv__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[_dtype[timedelta64]]]) -> NDArray[int64]: ...
     @overload
     def __rfloordiv__(self: NDArray[bool_], other: _ArrayLikeTD64_co) -> NoReturn: ...
     @overload
@@ -2480,7 +2481,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @overload
     def __truediv__(self: _ArrayComplex_co, other: _ArrayLikeComplex_co) -> NDArray[complexfloating[Any, Any]]: ...  # type: ignore[misc]
     @overload
-    def __truediv__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[dtype[timedelta64]]]) -> NDArray[float64]: ...
+    def __truediv__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[_dtype[timedelta64]]]) -> NDArray[float64]: ...
     @overload
     def __truediv__(self: NDArray[timedelta64], other: _ArrayLikeBool_co) -> NoReturn: ...
     @overload
@@ -2504,7 +2505,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @overload
     def __rtruediv__(self: _ArrayComplex_co, other: _ArrayLikeComplex_co) -> NDArray[complexfloating[Any, Any]]: ...  # type: ignore[misc]
     @overload
-    def __rtruediv__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[dtype[timedelta64]]]) -> NDArray[float64]: ...
+    def __rtruediv__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[_dtype[timedelta64]]]) -> NDArray[float64]: ...
     @overload
     def __rtruediv__(self: NDArray[bool_], other: _ArrayLikeTD64_co) -> NoReturn: ...
     @overload
@@ -2817,7 +2818,7 @@ class ndarray(_ArrayOrScalarCommon, Generic[_ShapeType, _DType_co]):
     @overload
     def __imod__(self: NDArray[floating[_NBit1]], other: _ArrayLikeFloat_co) -> NDArray[floating[_NBit1]]: ...
     @overload
-    def __imod__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[dtype[timedelta64]]]) -> NDArray[timedelta64]: ...
+    def __imod__(self: NDArray[timedelta64], other: _NestedSequence[_SupportsArray[_dtype[timedelta64]]]) -> NDArray[timedelta64]: ...
     @overload
     def __imod__(self: NDArray[object_], other: Any) -> NDArray[object_]: ...
     @overload
@@ -2904,7 +2905,7 @@ class generic(_ArrayOrScalarCommon):
     @abstractmethod
     def __init__(self, *args: Any, **kwargs: Any) -> None: ...
     @overload
-    def __array__(self: _ScalarType, __dtype: None = ...) -> ndarray[Any, dtype[_ScalarType]]: ...
+    def __array__(self: _ScalarType, __dtype: None = ...) -> ndarray[Any, _dtype[_ScalarType]]: ...
     @overload
     def __array__(self, __dtype: _DType) -> ndarray[Any, _DType]: ...
     @property
@@ -2919,7 +2920,7 @@ class generic(_ArrayOrScalarCommon):
     def strides(self) -> Tuple[()]: ...
     def byteswap(self: _ScalarType, inplace: L[False] = ...) -> _ScalarType: ...
     @property
-    def flat(self: _ScalarType) -> flatiter[ndarray[Any, dtype[_ScalarType]]]: ...
+    def flat(self: _ScalarType) -> flatiter[ndarray[Any, _dtype[_ScalarType]]]: ...
 
     @overload
     def astype(
@@ -2993,7 +2994,7 @@ class generic(_ArrayOrScalarCommon):
         axis: Optional[SupportsIndex] = ...,
         out: None = ...,
         mode: _ModeKind = ...,
-    ) -> ndarray[Any, dtype[_ScalarType]]: ...
+    ) -> ndarray[Any, _dtype[_ScalarType]]: ...
     @overload
     def take(
         self,
@@ -3007,26 +3008,26 @@ class generic(_ArrayOrScalarCommon):
         self: _ScalarType,
         repeats: _ArrayLikeInt_co,
         axis: Optional[SupportsIndex] = ...,
-    ) -> ndarray[Any, dtype[_ScalarType]]: ...
+    ) -> ndarray[Any, _dtype[_ScalarType]]: ...
 
     def flatten(
         self: _ScalarType,
         order: _OrderKACF = ...,
-    ) -> ndarray[Any, dtype[_ScalarType]]: ...
+    ) -> ndarray[Any, _dtype[_ScalarType]]: ...
 
     def ravel(
         self: _ScalarType,
         order: _OrderKACF = ...,
-    ) -> ndarray[Any, dtype[_ScalarType]]: ...
+    ) -> ndarray[Any, _dtype[_ScalarType]]: ...
 
     @overload
     def reshape(
         self: _ScalarType, __shape: _ShapeLike, *, order: _OrderACF = ...
-    ) -> ndarray[Any, dtype[_ScalarType]]: ...
+    ) -> ndarray[Any, _dtype[_ScalarType]]: ...
     @overload
     def reshape(
         self: _ScalarType, *shape: SupportsIndex, order: _OrderACF = ...
-    ) -> ndarray[Any, dtype[_ScalarType]]: ...
+    ) -> ndarray[Any, _dtype[_ScalarType]]: ...
 
     def squeeze(
         self: _ScalarType, axis: Union[L[0], Tuple[()]] = ...
@@ -3034,7 +3035,7 @@ class generic(_ArrayOrScalarCommon):
     def transpose(self: _ScalarType, __axes: Tuple[()] = ...) -> _ScalarType: ...
     # Keep `dtype` at the bottom to avoid name conflicts with `np.dtype`
     @property
-    def dtype(self: _ScalarType) -> dtype[_ScalarType]: ...
+    def dtype(self: _ScalarType) -> _dtype[_ScalarType]: ...
 
 class number(generic, Generic[_NBit1]):  # type: ignore
     @property
index 723d927dedec175bbdaa4f6a718f7abe7ab4e15b..3ffbf4d61e7b30bc9aea24f817054b6d8d2e4fb3 100644 (file)
@@ -8,11 +8,11 @@ import json
 
 version_json = '''
 {
- "date": "2021-10-19T18:45:47-0600",
+ "date": "2021-11-04T15:06:03-0600",
  "dirty": false,
  "error": null,
- "full-revisionid": "d4d0584ccb508cad69288b504e6c8b04aa0d5caf",
- "version": "1.21.3"
+ "full-revisionid": "c0b003e9c787ccab27f6fe57c154d7b881da5795",
+ "version": "1.21.4"
 }
 '''  # END VERSION_JSON
 
index a1b1de0ef14cbfef77679855a3167600858dab03..3909aa9c8776aae78c591ab5dc7f3da39332bcb7 100644 (file)
         #define NPY_SIZEOF_LONG         4
         #define NPY_SIZEOF_PY_INTPTR_T  4
     #endif
+
+    #undef NPY_SIZEOF_LONGDOUBLE
+    #undef NPY_SIZEOF_COMPLEX_LONGDOUBLE
+
+    #ifdef __x86_64
+        #define NPY_SIZEOF_LONGDOUBLE         16
+        #define NPY_SIZEOF_COMPLEX_LONGDOUBLE 32
+    #elif defined(__arm64__)
+        #define NPY_SIZEOF_LONGDOUBLE         8
+        #define NPY_SIZEOF_COMPLEX_LONGDOUBLE 16
+    #else
+        #error "unknown architecture"
+    #endif
 #endif
 
 /**
index e27bf15fec2efc1886192f7ec2508ae1a9df3101..5891a270aa182188a02f2fcfdd5ab0701b08a458 100644 (file)
@@ -87,7 +87,7 @@ NPY_FINLINE npyv_f32 npyv_loadn_f32(const float *ptr, npy_intp stride)
 #if 0 // slower
 NPY_FINLINE npyv_u64 npyv_loadn_u64(const npy_uint64 *ptr, npy_intp stride)
 {
-    const __m256i idx = _mm256_setr_epi64x(0, 1*stride, 2*stride, 3*stride);
+    const __m256i idx = npyv_set_s64(0, 1*stride, 2*stride, 3*stride);
     return _mm256_i64gather_epi64((const void*)ptr, idx, 8);
 }
 NPY_FINLINE npyv_s64 npyv_loadn_s64(const npy_int64 *ptr, npy_intp stride)
@@ -170,9 +170,9 @@ NPY_FINLINE npyv_s32 npyv_load_tillz_s32(const npy_int32 *ptr, npy_uintp nlane)
 NPY_FINLINE npyv_s64 npyv_load_till_s64(const npy_int64 *ptr, npy_uintp nlane, npy_int64 fill)
 {
     assert(nlane > 0);
-    const __m256i vfill = _mm256_set1_epi64x(fill);
-    const __m256i steps = _mm256_setr_epi64x(0, 1, 2, 3);
-    __m256i vnlane  = _mm256_set1_epi64x(nlane > 4 ? 4 : (int)nlane);
+    const __m256i vfill = npyv_setall_s64(fill);
+    const __m256i steps = npyv_set_s64(0, 1, 2, 3);
+    __m256i vnlane  = npyv_setall_s64(nlane > 4 ? 4 : (int)nlane);
     __m256i mask    = _mm256_cmpgt_epi64(vnlane, steps);
     __m256i payload = _mm256_maskload_epi64((const void*)ptr, mask);
     return _mm256_blendv_epi8(vfill, payload, mask);
@@ -181,8 +181,8 @@ NPY_FINLINE npyv_s64 npyv_load_till_s64(const npy_int64 *ptr, npy_uintp nlane, n
 NPY_FINLINE npyv_s64 npyv_load_tillz_s64(const npy_int64 *ptr, npy_uintp nlane)
 {
     assert(nlane > 0);
-    const __m256i steps = _mm256_setr_epi64x(0, 1, 2, 3);
-    __m256i vnlane  = _mm256_set1_epi64x(nlane > 4 ? 4 : (int)nlane);
+    const __m256i steps = npyv_set_s64(0, 1, 2, 3);
+    __m256i vnlane  = npyv_setall_s64(nlane > 4 ? 4 : (int)nlane);
     __m256i mask    = _mm256_cmpgt_epi64(vnlane, steps);
     return _mm256_maskload_epi64((const void*)ptr, mask);
 }
@@ -211,10 +211,10 @@ NPY_FINLINE npyv_s64
 npyv_loadn_till_s64(const npy_int64 *ptr, npy_intp stride, npy_uintp nlane, npy_int64 fill)
 {
     assert(nlane > 0);
-    const __m256i vfill = _mm256_set1_epi64x(fill);
-    const __m256i idx   = _mm256_setr_epi64x(0, 1*stride, 2*stride, 3*stride);
-    const __m256i steps = _mm256_setr_epi64x(0, 1, 2, 3);
-    __m256i vnlane  = _mm256_set1_epi64x(nlane > 4 ? 4 : (int)nlane);
+    const __m256i vfill = npyv_setall_s64(fill);
+    const __m256i idx   = npyv_set_s64(0, 1*stride, 2*stride, 3*stride);
+    const __m256i steps = npyv_set_s64(0, 1, 2, 3);
+    __m256i vnlane  = npyv_setall_s64(nlane > 4 ? 4 : (int)nlane);
     __m256i mask    = _mm256_cmpgt_epi64(vnlane, steps);
     return _mm256_mask_i64gather_epi64(vfill, (const void*)ptr, idx, mask, 8);
 }
@@ -238,8 +238,8 @@ NPY_FINLINE void npyv_store_till_s32(npy_int32 *ptr, npy_uintp nlane, npyv_s32 a
 NPY_FINLINE void npyv_store_till_s64(npy_int64 *ptr, npy_uintp nlane, npyv_s64 a)
 {
     assert(nlane > 0);
-    const __m256i steps = _mm256_setr_epi64x(0, 1, 2, 3);
-    __m256i vnlane = _mm256_set1_epi64x(nlane > 8 ? 8 : (int)nlane);
+    const __m256i steps = npyv_set_s64(0, 1, 2, 3);
+    __m256i vnlane = npyv_setall_s64(nlane > 8 ? 8 : (int)nlane);
     __m256i mask   = _mm256_cmpgt_epi64(vnlane, steps);
     _mm256_maskstore_epi64((void*)ptr, mask, a);
 }
index e96696dc92ba1a74f2ec3c8ece2c37c0b0860cb6..5e91e91b3d0f25518c941db848816b52f78aad02 100644 (file)
 #define npyv_setall_s16(VAL) _mm256_set1_epi16((short)VAL)
 #define npyv_setall_u32(VAL) _mm256_set1_epi32((int)VAL)
 #define npyv_setall_s32(VAL) _mm256_set1_epi32(VAL)
-#define npyv_setall_u64(VAL) _mm256_set1_epi64x(VAL)
-#define npyv_setall_s64(VAL) _mm256_set1_epi64x(VAL)
 #define npyv_setall_f32(VAL) _mm256_set1_ps(VAL)
 #define npyv_setall_f64(VAL) _mm256_set1_pd(VAL)
 
+NPY_FINLINE __m256i npyv__setr_epi64(npy_int64, npy_int64, npy_int64, npy_int64);
+NPY_FINLINE npyv_u64 npyv_setall_u64(npy_uint64 a)
+{
+    npy_int64 ai = (npy_int64)a;
+#if defined(_MSC_VER) && defined(_M_IX86) 
+    return npyv__setr_epi64(ai, ai, ai, ai);
+#else
+    return _mm256_set1_epi64x(ai);
+#endif
+}
+NPY_FINLINE npyv_s64 npyv_setall_s64(npy_int64 a)
+{
+#if defined(_MSC_VER) && defined(_M_IX86)
+    return npyv__setr_epi64(a, a, a, a);
+#else
+    return _mm256_set1_epi64x(a);
+#endif
+}
 /*
  * vector with specific values set to each lane and
  * set a specific value to all remained lanes
@@ -59,7 +75,14 @@ NPY_FINLINE __m256i npyv__setr_epi32(int i0, int i1, int i2, int i3, int i4, int
 }
 NPY_FINLINE __m256i npyv__setr_epi64(npy_int64 i0, npy_int64 i1, npy_int64 i2, npy_int64 i3)
 {
+#if defined(_MSC_VER) && defined(_M_IX86)
+    return _mm256_setr_epi32(
+        (int)i0, (int)(i0 >> 32), (int)i1, (int)(i1 >> 32),
+        (int)i2, (int)(i2 >> 32), (int)i3, (int)(i3 >> 32)
+    );
+#else
     return _mm256_setr_epi64x(i0, i1, i2, i3);
+#endif
 }
 
 NPY_FINLINE __m256 npyv__setr_ps(float i0, float i1, float i2, float i3, float i4, float i5,
index 0141396d06a3221c5458464cf88985a44c3f0264..0949b2b06fe7423a904202199bd60295ebfab502 100644 (file)
@@ -35,7 +35,7 @@ NPY_FINLINE npyv_f64 npyv_abs_f64(npyv_f64 a)
     return _mm512_range_pd(a, a, 8);
 #else
     return npyv_and_f64(
-        a, _mm512_castsi512_pd(_mm512_set1_epi64(0x7fffffffffffffffLL))
+        a, _mm512_castsi512_pd(npyv_setall_s64(0x7fffffffffffffffLL))
     );
 #endif
 }
index bffd6e9072466a668c59c3256bb0c1dcfe865bb4..47095bf72aa1de55203f129a0511e41c2f92d3aa 100644 (file)
@@ -110,7 +110,7 @@ NPY_FINLINE npyv_f32 npyv_loadn_f32(const float *ptr, npy_intp stride)
 //// 64
 NPY_FINLINE npyv_u64 npyv_loadn_u64(const npy_uint64 *ptr, npy_intp stride)
 {
-    const __m512i idx = _mm512_setr_epi64(
+    const __m512i idx = npyv_set_s64(
         0*stride, 1*stride, 2*stride, 3*stride,
         4*stride, 5*stride, 6*stride, 7*stride
     );
@@ -140,7 +140,7 @@ NPY_FINLINE void npyv_storen_f32(float *ptr, npy_intp stride, npyv_f32 a)
 //// 64
 NPY_FINLINE void npyv_storen_u64(npy_uint64 *ptr, npy_intp stride, npyv_u64 a)
 {
-    const __m512i idx = _mm512_setr_epi64(
+    const __m512i idx = npyv_set_s64(
         0*stride, 1*stride, 2*stride, 3*stride,
         4*stride, 5*stride, 6*stride, 7*stride
     );
@@ -173,7 +173,7 @@ NPY_FINLINE npyv_s32 npyv_load_tillz_s32(const npy_int32 *ptr, npy_uintp nlane)
 NPY_FINLINE npyv_s64 npyv_load_till_s64(const npy_int64 *ptr, npy_uintp nlane, npy_int64 fill)
 {
     assert(nlane > 0);
-    const __m512i vfill = _mm512_set1_epi64(fill);
+    const __m512i vfill = npyv_setall_s64(fill);
     const __mmask8 mask = nlane > 31 ? -1 : (1 << nlane) - 1;
     return _mm512_mask_loadu_epi64(vfill, mask, (const __m512i*)ptr);
 }
@@ -210,11 +210,11 @@ NPY_FINLINE npyv_s64
 npyv_loadn_till_s64(const npy_int64 *ptr, npy_intp stride, npy_uintp nlane, npy_int64 fill)
 {
     assert(nlane > 0);
-    const __m512i idx = _mm512_setr_epi64(
+    const __m512i idx = npyv_set_s64(
         0*stride, 1*stride, 2*stride, 3*stride,
         4*stride, 5*stride, 6*stride, 7*stride
     );
-    const __m512i vfill = _mm512_set1_epi64(fill);
+    const __m512i vfill = npyv_setall_s64(fill);
     const __mmask8 mask = nlane > 31 ? -1 : (1 << nlane) - 1;
     return _mm512_mask_i64gather_epi64(vfill, mask, idx, (const __m512i*)ptr, 8);
 }
@@ -258,7 +258,7 @@ NPY_FINLINE void npyv_storen_till_s32(npy_int32 *ptr, npy_intp stride, npy_uintp
 NPY_FINLINE void npyv_storen_till_s64(npy_int64 *ptr, npy_intp stride, npy_uintp nlane, npyv_s64 a)
 {
     assert(nlane > 0);
-    const __m512i idx = _mm512_setr_epi64(
+    const __m512i idx = npyv_set_s64(
         0*stride, 1*stride, 2*stride, 3*stride,
         4*stride, 5*stride, 6*stride, 7*stride
     );
index 4b6729b0521ebb746832b6afc2fb7bea211074f7..c3039ecfedcbd7490093343d0f44028213b9d040 100644 (file)
 #define npyv_setall_s16(VAL) _mm512_set1_epi16((short)VAL)
 #define npyv_setall_u32(VAL) _mm512_set1_epi32((int)VAL)
 #define npyv_setall_s32(VAL) _mm512_set1_epi32(VAL)
-#define npyv_setall_u64(VAL) _mm512_set1_epi64(VAL)
-#define npyv_setall_s64(VAL) _mm512_set1_epi64(VAL)
 #define npyv_setall_f32(VAL) _mm512_set1_ps(VAL)
 #define npyv_setall_f64(VAL) _mm512_set1_pd(VAL)
 
+NPY_FINLINE __m512i npyv__setr_epi64(
+    npy_int64, npy_int64, npy_int64, npy_int64,
+    npy_int64, npy_int64, npy_int64, npy_int64
+);
+NPY_FINLINE npyv_u64 npyv_setall_u64(npy_uint64 a)
+{
+    npy_int64 ai = (npy_int64)a;
+#if defined(_MSC_VER) && defined(_M_IX86) 
+    return npyv__setr_epi64(ai, ai, ai, ai, ai, ai, ai, ai);
+#else
+    return _mm512_set1_epi64(ai);
+#endif
+}
+NPY_FINLINE npyv_s64 npyv_setall_s64(npy_int64 a)
+{
+#if defined(_MSC_VER) && defined(_M_IX86)
+    return npyv__setr_epi64(a, a, a, a, a, a, a, a);
+#else
+    return _mm512_set1_epi64(a);
+#endif
+}
 /**
  * vector with specific values set to each lane and
  * set a specific value to all remained lanes
@@ -76,7 +95,16 @@ NPY_FINLINE __m512i npyv__setr_epi32(
 NPY_FINLINE __m512i npyv__setr_epi64(npy_int64 i0, npy_int64 i1, npy_int64 i2, npy_int64 i3,
                                      npy_int64 i4, npy_int64 i5, npy_int64 i6, npy_int64 i7)
 {
+#if defined(_MSC_VER) && defined(_M_IX86)
+    return _mm512_setr_epi32(
+        (int)i0, (int)(i0 >> 32), (int)i1, (int)(i1 >> 32),
+        (int)i2, (int)(i2 >> 32), (int)i3, (int)(i3 >> 32),
+        (int)i4, (int)(i4 >> 32), (int)i5, (int)(i5 >> 32),
+        (int)i6, (int)(i6 >> 32), (int)i7, (int)(i7 >> 32)
+    );
+#else
     return _mm512_setr_epi64(i0, i1, i2, i3, i4, i5, i6, i7);
+#endif
 }
 
 NPY_FINLINE __m512 npyv__setr_ps(
index f6ea9abf254e669110ebc078bfeb96de9599c28b..7df4abfd29e8257b375e21ffaeb8a856e9a1b3d0 100644 (file)
@@ -162,11 +162,12 @@ NPY_FINLINE npy_uint64 npyv__divh128_u64(npy_uint64 high, npy_uint64 divisor)
     npy_uint32 divisor_hi  = divisor >> 32;
     npy_uint32 divisor_lo  = divisor & 0xFFFFFFFF;
     // compute high quotient digit
-    npy_uint32 quotient_hi = (npy_uint32)(high / divisor_hi);
+    npy_uint64 quotient_hi = high / divisor_hi;
     npy_uint64 remainder   = high - divisor_hi * quotient_hi;
     npy_uint64 base32      = 1ULL << 32;
     while (quotient_hi >= base32 || quotient_hi*divisor_lo > base32*remainder) {
-        remainder += --divisor_hi;
+        --quotient_hi;
+        remainder += divisor_hi;
         if (remainder >= base32) {
             break;
         }
@@ -200,7 +201,7 @@ NPY_FINLINE npyv_u8x3 npyv_divisor_u8(npy_uint8 d)
     default:
         l   = npyv__bitscan_revnz_u32(d - 1) + 1;  // ceil(log2(d))
         l2  = (npy_uint8)(1 << l);                 // 2^l, overflow to 0 if l = 8
-        m   = ((l2 - d) << 8) / d + 1;             // multiplier
+        m   = ((npy_uint16)((l2 - d) << 8)) / d + 1; // multiplier
         sh1 = 1;  sh2 = l - 1;                     // shift counts
     }
     npyv_u8x3 divisor;
index a3e2b95de9bdb7f980ce67f52869c4b31b436229..08b2a7d000f6dfe6d09c93a55b6b896b15ad59c4 100644 (file)
@@ -27,6 +27,25 @@ typedef npy_int64  npyv_lanetype_s64;
 typedef float      npyv_lanetype_f32;
 typedef double     npyv_lanetype_f64;
 
+#if defined(_MSC_VER) && defined(_M_IX86)
+/*
+ * Avoid using any of the following intrinsics with MSVC 32-bit,
+ * even if they are apparently work on newer versions.
+ * They had bad impact on the generated instructions,
+ * sometimes the compiler deal with them without the respect
+ * of 32-bit mode which lead to crush due to execute 64-bit
+ * instructions and other times generate bad emulated instructions. 
+ */
+    #undef _mm512_set1_epi64
+    #undef _mm256_set1_epi64x
+    #undef _mm_set1_epi64x
+    #undef _mm512_setr_epi64x
+    #undef _mm256_setr_epi64x
+    #undef _mm_setr_epi64x
+    #undef _mm512_set_epi64x
+    #undef _mm256_set_epi64x
+    #undef _mm_set_epi64x
+#endif
 #if defined(NPY_HAVE_AVX512F) && !defined(NPY_SIMD_FORCE_256) && !defined(NPY_SIMD_FORCE_128)
     #include "avx512/avx512.h"
 #elif defined(NPY_HAVE_AVX2) && !defined(NPY_SIMD_FORCE_128)
index 1099c491d072077dcb569c3c6b0ec7ee715c2675..7d13fbf555c5d11b536596a2a64b91980cbf0f91 100644 (file)
 #define npyv_setall_s16(VAL) _mm_set1_epi16((short)(VAL))
 #define npyv_setall_u32(VAL) _mm_set1_epi32((int)(VAL))
 #define npyv_setall_s32(VAL) _mm_set1_epi32((int)(VAL))
-#define npyv_setall_u64(VAL) _mm_set1_epi64x((npy_int64)(VAL))
-#define npyv_setall_s64(VAL) _mm_set1_epi64x((npy_int64)(VAL))
 #define npyv_setall_f32 _mm_set1_ps
 #define npyv_setall_f64 _mm_set1_pd
 
+NPY_FINLINE __m128i npyv__setr_epi64(npy_int64 i0, npy_int64 i1);
+
+NPY_FINLINE npyv_u64 npyv_setall_u64(npy_uint64 a)
+{
+#if defined(_MSC_VER) && defined(_M_IX86)
+    return npyv__setr_epi64((npy_int64)a, (npy_int64)a);
+#else
+    return _mm_set1_epi64x((npy_int64)a);
+#endif
+}
+NPY_FINLINE npyv_s64 npyv_setall_s64(npy_int64 a)
+{
+#if defined(_MSC_VER) && defined(_M_IX86)
+    return npyv__setr_epi64(a, a);
+#else
+    return _mm_set1_epi64x((npy_int64)a);
+#endif
+}
+
 /**
  * vector with specific values set to each lane and
  * set a specific value to all remained lanes
@@ -53,7 +70,11 @@ NPY_FINLINE __m128i npyv__setr_epi32(int i0, int i1, int i2, int i3)
 }
 NPY_FINLINE __m128i npyv__setr_epi64(npy_int64 i0, npy_int64 i1)
 {
+#if defined(_MSC_VER) && defined(_M_IX86)
+    return _mm_setr_epi32((int)i0, (int)(i0 >> 32), (int)i1, (int)(i1 >> 32));
+#else
     return _mm_set_epi64x(i1, i0);
+#endif
 }
 NPY_FINLINE __m128 npyv__setr_ps(float i0, float i1, float i2, float i3)
 {
index b3ea7544d974607610a24bdaf6f78c38d7df4ba1..7f545d6cffb3ce0fa5ed6084400a1a206a2275e2 100644 (file)
@@ -2759,10 +2759,10 @@ VOID_nonzero (char *ip, PyArrayObject *ap)
             dummy_fields.descr = new;
             if ((new->alignment > 1) && !__ALIGNED(ip + offset,
                         new->alignment)) {
-                PyArray_CLEARFLAGS(ap, NPY_ARRAY_ALIGNED);
+                PyArray_CLEARFLAGS(dummy_arr, NPY_ARRAY_ALIGNED);
             }
             else {
-                PyArray_ENABLEFLAGS(ap, NPY_ARRAY_ALIGNED);
+                PyArray_ENABLEFLAGS(dummy_arr, NPY_ARRAY_ALIGNED);
             }
             if (new->f->nonzero(ip+offset, dummy_arr)) {
                 nonz = NPY_TRUE;
index 2b8ea9e79acec32b58af1ecc829dc2f871801eab..47d78f25592242ef774069a6534c03ffc6260079 100644 (file)
@@ -2390,19 +2390,14 @@ PyArray_CountNonzero(PyArrayObject *self)
     npy_intp *strideptr, *innersizeptr;
     NPY_BEGIN_THREADS_DEF;
 
-    // Special low-overhead version specific to the boolean/int types
     dtype = PyArray_DESCR(self);
-    switch(dtype->kind) {
-        case 'u':
-        case 'i':
-        case 'b':
-            if (dtype->elsize > 8) {
-                break;
-            }
-            return count_nonzero_int(
-                PyArray_NDIM(self), PyArray_BYTES(self), PyArray_DIMS(self),
-                PyArray_STRIDES(self), dtype->elsize
-            );
+    /* Special low-overhead version specific to the boolean/int types */
+    if (PyArray_ISALIGNED(self) && (
+            PyDataType_ISBOOL(dtype) || PyDataType_ISINTEGER(dtype))) {
+        return count_nonzero_int(
+            PyArray_NDIM(self), PyArray_BYTES(self), PyArray_DIMS(self),
+            PyArray_STRIDES(self), dtype->elsize
+        );
     }
 
     nonzero = PyArray_DESCR(self)->f->nonzero;
diff --git a/numpy/core/src/umath/svml/LICENSE b/numpy/core/src/umath/svml/LICENSE
new file mode 100644 (file)
index 0000000..4723d4e
--- /dev/null
@@ -0,0 +1,30 @@
+Copyright (c) 2005-2021, NumPy Developers.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+       notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+       copyright notice, this list of conditions and the following
+       disclaimer in the documentation and/or other materials provided
+       with the distribution.
+
+    * Neither the name of the NumPy Developers nor the names of any
+       contributors may be used to endorse or promote products derived
+       from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/numpy/core/src/umath/svml/README.md b/numpy/core/src/umath/svml/README.md
new file mode 100644 (file)
index 0000000..65ab981
--- /dev/null
@@ -0,0 +1,4 @@
+Short Vector Math Library (SVML)
+
+Provides vectorized implementations of commonly used math functions (currently
+supports only x86_64 AVX-512).
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_d_la.s
new file mode 100644 (file)
index 0000000..779b910
--- /dev/null
@@ -0,0 +1,2642 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_acos8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_acos8
+
+__svml_acos8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   __svml_dacos_data_internal(%rip), %zmm7
+        vmovups   64+__svml_dacos_data_internal(%rip), %zmm8
+
+/* S ~ 2*sqrt(Y) */
+        vmovups   128+__svml_dacos_data_internal(%rip), %zmm11
+        vmovups   384+__svml_dacos_data_internal(%rip), %zmm14
+        vmovups   448+__svml_dacos_data_internal(%rip), %zmm15
+        vmovups   512+__svml_dacos_data_internal(%rip), %zmm2
+        vmovups   576+__svml_dacos_data_internal(%rip), %zmm1
+        vmovups   256+__svml_dacos_data_internal(%rip), %zmm10
+        vmovaps   %zmm0, %zmm6
+
+/* x = -|arg| */
+        vorpd     %zmm6, %zmm7, %zmm5
+        vandpd    %zmm6, %zmm7, %zmm4
+
+/* Y = 0.5 + 0.5*(-x) */
+        vfmadd231pd {rn-sae}, %zmm5, %zmm8, %zmm8
+
+/* x^2 */
+        vmulpd    {rn-sae}, %zmm5, %zmm5, %zmm9
+        vrsqrt14pd %zmm8, %zmm12
+        vcmppd    $17, {sae}, %zmm11, %zmm8, %k2
+        vcmppd    $17, {sae}, %zmm10, %zmm5, %k0
+        vmovups   960+__svml_dacos_data_internal(%rip), %zmm10
+        vmovups   1088+__svml_dacos_data_internal(%rip), %zmm11
+        vminpd    {sae}, %zmm8, %zmm9, %zmm3
+        vmovups   832+__svml_dacos_data_internal(%rip), %zmm9
+        vxorpd    %zmm12, %zmm12, %zmm12{%k2}
+        vaddpd    {rn-sae}, %zmm8, %zmm8, %zmm0
+        vcmppd    $21, {sae}, %zmm8, %zmm3, %k1
+
+/* X<X^2 iff X<0 */
+        vcmppd    $17, {sae}, %zmm3, %zmm6, %k3
+        vmulpd    {rn-sae}, %zmm12, %zmm12, %zmm13
+        vmulpd    {rn-sae}, %zmm12, %zmm0, %zmm7
+        vmovups   896+__svml_dacos_data_internal(%rip), %zmm12
+
+/* polynomial */
+        vmovups   704+__svml_dacos_data_internal(%rip), %zmm8
+        vfmsub213pd {rn-sae}, %zmm14, %zmm13, %zmm0
+        vmovups   640+__svml_dacos_data_internal(%rip), %zmm13
+        vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm12
+        vmovups   1344+__svml_dacos_data_internal(%rip), %zmm9
+        vfmadd231pd {rn-sae}, %zmm0, %zmm15, %zmm2
+        vmovups   1216+__svml_dacos_data_internal(%rip), %zmm15
+        vmulpd    {rn-sae}, %zmm0, %zmm7, %zmm14
+        vfmadd213pd {rn-sae}, %zmm1, %zmm0, %zmm2
+        vmovups   768+__svml_dacos_data_internal(%rip), %zmm1
+        kmovw     %k1, %eax
+        kmovw     %k3, %ecx
+        kmovw     %k0, %edx
+        vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm2
+        vfmadd231pd {rn-sae}, %zmm3, %zmm8, %zmm1
+        vmovups   1280+__svml_dacos_data_internal(%rip), %zmm8
+        vmulpd    {rn-sae}, %zmm3, %zmm3, %zmm0
+        vfnmadd213pd {rn-sae}, %zmm7, %zmm14, %zmm2
+        vmovups   1024+__svml_dacos_data_internal(%rip), %zmm7
+        vfmadd231pd {rn-sae}, %zmm3, %zmm15, %zmm8
+        vfmadd213pd {rn-sae}, %zmm12, %zmm0, %zmm1
+        vblendmpd %zmm2, %zmm5, %zmm2{%k1}
+        vfmadd231pd {rn-sae}, %zmm3, %zmm10, %zmm7
+        vmovups   1152+__svml_dacos_data_internal(%rip), %zmm10
+        vfmadd231pd {rn-sae}, %zmm3, %zmm11, %zmm10
+        andl      %eax, %ecx
+        vmovups   1408+__svml_dacos_data_internal(%rip), %zmm11
+        kmovw     %ecx, %k2
+        vfmadd213pd {rn-sae}, %zmm10, %zmm0, %zmm7
+        vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm11
+        vmulpd    {rn-sae}, %zmm0, %zmm0, %zmm10
+        vfmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm1
+        vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm1
+        vfmadd213pd {rn-sae}, %zmm11, %zmm0, %zmm1
+        vmovups   1664+__svml_dacos_data_internal(%rip), %zmm0
+        vmulpd    {rn-sae}, %zmm3, %zmm1, %zmm1
+        vxorpd    %zmm4, %zmm2, %zmm3
+        vxorpd    %zmm0, %zmm0, %zmm0{%k1}
+        vfmadd213pd {rn-sae}, %zmm3, %zmm3, %zmm1
+        vorpd     1536+__svml_dacos_data_internal(%rip), %zmm0, %zmm0{%k2}
+        vaddpd    {rn-sae}, %zmm1, %zmm0, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm6, 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_dacos_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_acos8,@function
+       .size   __svml_acos8,.-__svml_acos8
+..LN__svml_acos8.0:
+
+.L_2__routine_start___svml_dacos_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dacos_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    6(%rdi), %edx
+        andl      $32752, %edx
+        movb      7(%rdi), %cl
+        movsd     (%rdi), %xmm1
+        cmpl      $32752, %edx
+        je        .LBL_2_20
+
+
+        movsd     %xmm1, -32(%rsp)
+        andb      $127, %cl
+        movb      %cl, -25(%rsp)
+        movsd     -32(%rsp), %xmm12
+        movsd     4168+_vmldACosHATab(%rip), %xmm0
+        comisd    %xmm12, %xmm0
+        jbe       .LBL_2_14
+
+
+        movsd     4176+_vmldACosHATab(%rip), %xmm1
+        comisd    %xmm12, %xmm1
+        jbe       .LBL_2_10
+
+
+        comisd    4128+_vmldACosHATab(%rip), %xmm12
+        jbe       .LBL_2_9
+
+
+        movsd     4104+_vmldACosHATab(%rip), %xmm6
+        movaps    %xmm12, %xmm8
+        mulsd     %xmm12, %xmm6
+        movaps    %xmm12, %xmm7
+        movsd     %xmm6, -40(%rsp)
+        movsd     -40(%rsp), %xmm13
+        movsd     4104+_vmldACosHATab(%rip), %xmm5
+        subsd     -32(%rsp), %xmm13
+        movsd     %xmm13, -48(%rsp)
+        movsd     -40(%rsp), %xmm15
+        movsd     -48(%rsp), %xmm14
+        subsd     %xmm14, %xmm15
+        movaps    %xmm12, %xmm14
+        movsd     %xmm15, -40(%rsp)
+        movsd     -40(%rsp), %xmm6
+        subsd     %xmm6, %xmm8
+        movsd     %xmm8, -48(%rsp)
+        movsd     -40(%rsp), %xmm9
+        movaps    %xmm9, %xmm4
+        addsd     %xmm9, %xmm7
+        mulsd     %xmm9, %xmm4
+        movsd     -48(%rsp), %xmm10
+        movaps    %xmm4, %xmm11
+        mulsd     %xmm10, %xmm7
+        mulsd     %xmm4, %xmm5
+        addsd     %xmm7, %xmm11
+        movsd     4312+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm5, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     4104+_vmldACosHATab(%rip), %xmm5
+        subsd     %xmm4, %xmm1
+        addsd     4304+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm1, -48(%rsp)
+        movsd     -40(%rsp), %xmm0
+        movsd     -48(%rsp), %xmm2
+        addsd     4296+_vmldACosHATab(%rip), %xmm8
+        subsd     %xmm2, %xmm0
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm0, -40(%rsp)
+        movsd     -40(%rsp), %xmm3
+        addsd     4288+_vmldACosHATab(%rip), %xmm8
+        subsd     %xmm3, %xmm4
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm4, -48(%rsp)
+        movsd     -40(%rsp), %xmm6
+        mulsd     %xmm6, %xmm9
+        addsd     4280+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm6, %xmm10
+        mulsd     %xmm11, %xmm8
+        mulsd     %xmm9, %xmm5
+        addsd     4272+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm11, %xmm8
+        movaps    %xmm9, %xmm0
+        movsd     -48(%rsp), %xmm13
+        movaps    %xmm6, %xmm4
+        movsd     %xmm5, -40(%rsp)
+        addsd     %xmm13, %xmm7
+        addsd     4264+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm7, %xmm14
+        mulsd     %xmm11, %xmm8
+        addsd     %xmm14, %xmm10
+        addsd     4256+_vmldACosHATab(%rip), %xmm8
+        movsd     -40(%rsp), %xmm1
+        mulsd     %xmm11, %xmm8
+        subsd     %xmm9, %xmm1
+        addsd     %xmm10, %xmm9
+        addsd     4248+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm9, %xmm7
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm1, -48(%rsp)
+        movsd     -40(%rsp), %xmm2
+        movsd     -48(%rsp), %xmm15
+        subsd     %xmm15, %xmm2
+        addsd     4240+_vmldACosHATab(%rip), %xmm8
+        movsd     %xmm2, -40(%rsp)
+        movsd     -40(%rsp), %xmm5
+        mulsd     %xmm11, %xmm8
+        subsd     %xmm5, %xmm0
+        movsd     %xmm0, -48(%rsp)
+        movsd     -40(%rsp), %xmm3
+        movsd     -48(%rsp), %xmm5
+        movaps    %xmm5, %xmm13
+        addsd     4232+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm3, %xmm4
+        addsd     %xmm10, %xmm13
+        mulsd     %xmm11, %xmm8
+        mulsd     %xmm13, %xmm6
+        addsd     4224+_vmldACosHATab(%rip), %xmm8
+        addsd     %xmm7, %xmm6
+        mulsd     %xmm11, %xmm8
+        movsd     4104+_vmldACosHATab(%rip), %xmm7
+        movaps    %xmm4, %xmm13
+        mulsd     %xmm4, %xmm7
+        addsd     4216+_vmldACosHATab(%rip), %xmm8
+        movsd     %xmm7, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     4200+_vmldACosHATab(%rip), %xmm11
+        subsd     %xmm4, %xmm1
+        mulsd     %xmm9, %xmm11
+        addsd     %xmm6, %xmm4
+        movsd     %xmm1, -48(%rsp)
+        movaps    %xmm12, %xmm9
+        movsd     -40(%rsp), %xmm0
+        movsd     -48(%rsp), %xmm2
+        movsd     4192+_vmldACosHATab(%rip), %xmm1
+        subsd     %xmm2, %xmm0
+        mulsd     %xmm1, %xmm3
+        mulsd     %xmm1, %xmm10
+        mulsd     %xmm4, %xmm8
+        addsd     %xmm3, %xmm9
+        mulsd     %xmm1, %xmm5
+        addsd     %xmm10, %xmm11
+        movsd     %xmm0, -40(%rsp)
+        addsd     %xmm11, %xmm8
+        movsd     -40(%rsp), %xmm7
+        addsd     %xmm5, %xmm8
+        subsd     %xmm7, %xmm13
+        movsd     %xmm13, -48(%rsp)
+        movsd     -40(%rsp), %xmm0
+        movsd     -48(%rsp), %xmm2
+        movsd     %xmm9, -40(%rsp)
+        addsd     %xmm2, %xmm6
+        movsd     -40(%rsp), %xmm10
+        movsd     %xmm3, -56(%rsp)
+        subsd     %xmm10, %xmm12
+        movsd     4208+_vmldACosHATab(%rip), %xmm4
+        addsd     %xmm12, %xmm3
+        mulsd     %xmm4, %xmm0
+        mulsd     %xmm4, %xmm6
+        movsd     %xmm3, -48(%rsp)
+        movsd     -40(%rsp), %xmm3
+        movaps    %xmm3, %xmm12
+        movsd     -48(%rsp), %xmm7
+        addsd     %xmm0, %xmm12
+        addsd     %xmm7, %xmm8
+        movsd     %xmm12, -40(%rsp)
+        movsd     -40(%rsp), %xmm12
+        subsd     %xmm12, %xmm3
+        addsd     %xmm3, %xmm0
+        movsd     %xmm0, -48(%rsp)
+        movsd     -40(%rsp), %xmm3
+        movsd     -48(%rsp), %xmm0
+        movsd     (%rdi), %xmm1
+        addsd     %xmm8, %xmm0
+        comisd    4184+_vmldACosHATab(%rip), %xmm1
+        addsd     %xmm0, %xmm6
+        jbe       .LBL_2_7
+
+
+        movsd     4136+_vmldACosHATab(%rip), %xmm2
+        movaps    %xmm2, %xmm0
+        subsd     %xmm3, %xmm0
+        movsd     %xmm0, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     4144+_vmldACosHATab(%rip), %xmm0
+        subsd     %xmm1, %xmm2
+        subsd     %xmm6, %xmm0
+        subsd     %xmm3, %xmm2
+        movsd     %xmm2, -48(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     -48(%rsp), %xmm3
+        addsd     %xmm3, %xmm0
+        jmp       .LBL_2_8
+
+.LBL_2_7:
+
+        movsd     4136+_vmldACosHATab(%rip), %xmm2
+        movaps    %xmm3, %xmm0
+        addsd     %xmm2, %xmm0
+        movsd     %xmm0, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        subsd     %xmm1, %xmm2
+        addsd     %xmm2, %xmm3
+        movsd     %xmm3, -48(%rsp)
+        movsd     4144+_vmldACosHATab(%rip), %xmm3
+        movsd     -40(%rsp), %xmm1
+        addsd     %xmm3, %xmm6
+        movsd     -48(%rsp), %xmm0
+        addsd     %xmm6, %xmm0
+
+.LBL_2_8:
+
+        addsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        movsd     4144+_vmldACosHATab(%rip), %xmm1
+        addsd     %xmm0, %xmm12
+        movsd     %xmm12, -40(%rsp)
+        movsd     -40(%rsp), %xmm0
+        mulsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -56(%rsp)
+        movb      -49(%rsp), %dl
+        movb      7(%rdi), %dil
+        andb      $127, %dl
+        andb      $-128, %dil
+        orb       %dil, %dl
+        movb      %dl, -49(%rsp)
+        subsd     -56(%rsp), %xmm1
+        addsd     4136+_vmldACosHATab(%rip), %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_10:
+
+        movaps    %xmm0, %xmm8
+        movzwl    4174+_vmldACosHATab(%rip), %r9d
+        pxor      %xmm13, %xmm13
+        andl      $-32753, %r9d
+        subsd     %xmm12, %xmm8
+        subsd     %xmm0, %xmm13
+        mulsd     %xmm8, %xmm1
+        movsd     %xmm1, -56(%rsp)
+        movzwl    -50(%rsp), %ecx
+        andl      $32752, %ecx
+        shrl      $4, %ecx
+        addl      $-1023, %ecx
+        movl      %ecx, %r8d
+        movl      %ecx, %edx
+        negl      %r8d
+        addl      $1023, %r8d
+        andl      $2047, %r8d
+        shll      $4, %r8d
+        movsd     %xmm0, -32(%rsp)
+        orl       %r8d, %r9d
+        movw      %r9w, -26(%rsp)
+        andl      $1, %edx
+        movsd     -32(%rsp), %xmm4
+        lea       _vmldACosHATab(%rip), %r8
+        mulsd     %xmm4, %xmm1
+        movl      %edx, %r10d
+        movaps    %xmm1, %xmm15
+        movsd     4112+_vmldACosHATab(%rip), %xmm6
+        addsd     %xmm1, %xmm15
+        jne       ..L54
+        movaps    %xmm1, %xmm15
+..L54:
+        mulsd     %xmm15, %xmm6
+        movaps    %xmm15, %xmm7
+        movaps    %xmm6, %xmm9
+        subl      %edx, %ecx
+        movsd     4120+_vmldACosHATab(%rip), %xmm11
+        subsd     %xmm15, %xmm9
+        addsd     %xmm1, %xmm11
+        movsd     %xmm9, -48(%rsp)
+        movsd     -48(%rsp), %xmm10
+        movsd     %xmm11, -24(%rsp)
+        subsd     %xmm10, %xmm6
+        movl      -24(%rsp), %r11d
+        movaps    %xmm6, %xmm14
+        shll      $8, %r10d
+        andl      $511, %r11d
+        addl      %r10d, %r11d
+        subsd     %xmm6, %xmm7
+        movsd     (%r8,%r11,8), %xmm5
+        addsd     %xmm7, %xmm14
+        mulsd     %xmm5, %xmm6
+        movaps    %xmm5, %xmm12
+        mulsd     %xmm5, %xmm12
+        mulsd     %xmm12, %xmm14
+        movsd     4512+_vmldACosHATab(%rip), %xmm4
+        addsd     %xmm13, %xmm14
+        mulsd     %xmm14, %xmm4
+        shrl      $1, %ecx
+        addsd     4504+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        addl      $1023, %ecx
+        andl      $2047, %ecx
+        addsd     4496+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        movzwl    4174+_vmldACosHATab(%rip), %r9d
+        shll      $4, %ecx
+        andl      $-32753, %r9d
+        movsd     %xmm0, -16(%rsp)
+        orl       %ecx, %r9d
+        movw      %r9w, -10(%rsp)
+        movsd     -16(%rsp), %xmm9
+        mulsd     %xmm9, %xmm6
+        addsd     4488+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        movsd     4104+_vmldACosHATab(%rip), %xmm3
+        mulsd     %xmm6, %xmm3
+        addsd     4480+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        movsd     %xmm3, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     4352+_vmldACosHATab(%rip), %xmm11
+        subsd     %xmm6, %xmm1
+        addsd     4472+_vmldACosHATab(%rip), %xmm4
+        addsd     4360+_vmldACosHATab(%rip), %xmm11
+        mulsd     %xmm14, %xmm4
+        mulsd     %xmm8, %xmm11
+        addsd     4464+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        mulsd     %xmm15, %xmm4
+        movsd     %xmm1, -48(%rsp)
+        addsd     %xmm4, %xmm7
+        mulsd     %xmm5, %xmm7
+        movsd     4456+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        mulsd     %xmm9, %xmm7
+        addsd     4448+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        movsd     -40(%rsp), %xmm2
+        movsd     -48(%rsp), %xmm0
+        movsd     4104+_vmldACosHATab(%rip), %xmm4
+        subsd     %xmm0, %xmm2
+        mulsd     %xmm8, %xmm4
+        addsd     4440+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        movaps    %xmm8, %xmm0
+        movsd     %xmm2, -40(%rsp)
+        movsd     -40(%rsp), %xmm14
+        movsd     4104+_vmldACosHATab(%rip), %xmm2
+        subsd     %xmm14, %xmm6
+        addsd     4432+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        movsd     %xmm6, -48(%rsp)
+        movsd     -40(%rsp), %xmm6
+        movsd     -48(%rsp), %xmm10
+        movsd     %xmm4, -40(%rsp)
+        addsd     %xmm10, %xmm7
+        addsd     4424+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        movsd     -40(%rsp), %xmm3
+        movsd     4336+_vmldACosHATab(%rip), %xmm12
+        subsd     %xmm8, %xmm3
+        addsd     4416+_vmldACosHATab(%rip), %xmm5
+        addsd     4344+_vmldACosHATab(%rip), %xmm12
+        mulsd     %xmm8, %xmm5
+        addsd     %xmm11, %xmm12
+        addsd     4408+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm12
+        mulsd     %xmm8, %xmm5
+        movsd     %xmm3, -48(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     -48(%rsp), %xmm15
+        movsd     4320+_vmldACosHATab(%rip), %xmm13
+        subsd     %xmm15, %xmm1
+        addsd     4400+_vmldACosHATab(%rip), %xmm5
+        addsd     4328+_vmldACosHATab(%rip), %xmm13
+        mulsd     %xmm8, %xmm5
+        addsd     %xmm12, %xmm13
+        addsd     4392+_vmldACosHATab(%rip), %xmm5
+        movsd     %xmm1, -40(%rsp)
+        mulsd     %xmm8, %xmm5
+        movsd     -40(%rsp), %xmm4
+        subsd     %xmm4, %xmm0
+        addsd     4384+_vmldACosHATab(%rip), %xmm5
+        movsd     %xmm0, -48(%rsp)
+        movsd     -40(%rsp), %xmm4
+        movaps    %xmm4, %xmm14
+        mulsd     %xmm4, %xmm14
+        mulsd     %xmm8, %xmm5
+        mulsd     %xmm14, %xmm2
+        addsd     4376+_vmldACosHATab(%rip), %xmm5
+        movsd     -48(%rsp), %xmm3
+        movsd     %xmm2, -40(%rsp)
+        movsd     -40(%rsp), %xmm9
+        mulsd     %xmm8, %xmm5
+        subsd     %xmm14, %xmm9
+        movsd     %xmm9, -48(%rsp)
+        movsd     -40(%rsp), %xmm11
+        movsd     -48(%rsp), %xmm10
+        movsd     4336+_vmldACosHATab(%rip), %xmm0
+        subsd     %xmm10, %xmm11
+        mulsd     %xmm4, %xmm0
+        addsd     4368+_vmldACosHATab(%rip), %xmm5
+        addsd     %xmm8, %xmm4
+        mulsd     %xmm8, %xmm5
+        mulsd     %xmm3, %xmm4
+        mulsd     %xmm8, %xmm5
+        movsd     %xmm11, -40(%rsp)
+        movaps    %xmm0, %xmm1
+        movsd     -40(%rsp), %xmm12
+        mulsd     %xmm8, %xmm5
+        subsd     %xmm12, %xmm14
+        movsd     %xmm14, -48(%rsp)
+        addsd     %xmm5, %xmm13
+        movsd     -40(%rsp), %xmm9
+        mulsd     4352+_vmldACosHATab(%rip), %xmm9
+        mulsd     %xmm13, %xmm7
+        addsd     %xmm9, %xmm1
+        movsd     -48(%rsp), %xmm2
+        movsd     %xmm1, -40(%rsp)
+        addsd     %xmm2, %xmm4
+        movsd     -40(%rsp), %xmm13
+        movsd     %xmm9, -24(%rsp)
+        subsd     %xmm13, %xmm0
+        mulsd     4352+_vmldACosHATab(%rip), %xmm4
+        addsd     %xmm0, %xmm9
+        movsd     %xmm9, -48(%rsp)
+        movsd     -40(%rsp), %xmm12
+        movsd     4320+_vmldACosHATab(%rip), %xmm10
+        movsd     -48(%rsp), %xmm1
+        addsd     %xmm12, %xmm10
+        movsd     %xmm10, -40(%rsp)
+        movsd     -40(%rsp), %xmm15
+        movsd     4320+_vmldACosHATab(%rip), %xmm11
+        movsd     4104+_vmldACosHATab(%rip), %xmm9
+        subsd     %xmm15, %xmm11
+        movsd     4336+_vmldACosHATab(%rip), %xmm2
+        addsd     %xmm11, %xmm12
+        mulsd     %xmm3, %xmm2
+        movsd     %xmm12, -48(%rsp)
+        movsd     -40(%rsp), %xmm15
+        mulsd     %xmm15, %xmm9
+        movsd     -48(%rsp), %xmm0
+        movsd     %xmm9, -40(%rsp)
+        movsd     -40(%rsp), %xmm10
+        movsd     4360+_vmldACosHATab(%rip), %xmm3
+        subsd     %xmm15, %xmm10
+        mulsd     %xmm8, %xmm3
+        movsd     %xmm10, -48(%rsp)
+        movsd     -40(%rsp), %xmm11
+        movsd     -48(%rsp), %xmm13
+        subsd     %xmm13, %xmm11
+        addsd     4344+_vmldACosHATab(%rip), %xmm3
+        movsd     %xmm11, -40(%rsp)
+        movsd     -40(%rsp), %xmm14
+        mulsd     %xmm8, %xmm3
+        subsd     %xmm14, %xmm15
+        movsd     %xmm15, -48(%rsp)
+        movsd     -40(%rsp), %xmm10
+        movsd     -48(%rsp), %xmm9
+        addsd     %xmm9, %xmm4
+        addsd     4328+_vmldACosHATab(%rip), %xmm3
+        addsd     %xmm2, %xmm4
+        addsd     %xmm5, %xmm3
+        addsd     %xmm1, %xmm4
+        addsd     %xmm0, %xmm4
+        addsd     %xmm3, %xmm4
+        mulsd     %xmm6, %xmm4
+        mulsd     %xmm10, %xmm6
+        addsd     %xmm7, %xmm4
+        movsd     (%rdi), %xmm7
+        comisd    4184+_vmldACosHATab(%rip), %xmm7
+        ja        .LBL_2_13
+
+
+        movsd     4152+_vmldACosHATab(%rip), %xmm2
+        movaps    %xmm2, %xmm0
+        movsd     4160+_vmldACosHATab(%rip), %xmm5
+        subsd     %xmm6, %xmm0
+        subsd     %xmm4, %xmm5
+        movsd     %xmm0, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     %xmm6, -56(%rsp)
+        subsd     %xmm1, %xmm2
+        subsd     %xmm6, %xmm2
+        movsd     %xmm2, -48(%rsp)
+        movsd     -40(%rsp), %xmm6
+        movsd     -48(%rsp), %xmm3
+        movaps    %xmm3, %xmm4
+        addsd     %xmm5, %xmm4
+
+.LBL_2_13:
+
+        addsd     %xmm4, %xmm6
+        movsd     %xmm6, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        ucomisd   %xmm0, %xmm1
+        jp        .LBL_2_15
+        je        .LBL_2_19
+
+.LBL_2_15:
+
+        xorps     .L_2il0floatpacket.197(%rip), %xmm0
+        ucomisd   %xmm0, %xmm1
+        jp        .LBL_2_16
+        je        .LBL_2_18
+
+.LBL_2_16:
+
+        movl      $1, %eax
+        pxor      %xmm1, %xmm1
+        pxor      %xmm0, %xmm0
+        divsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+
+.LBL_2_17:
+
+        ret
+
+.LBL_2_18:
+
+        movsd     4152+_vmldACosHATab(%rip), %xmm0
+        addsd     4160+_vmldACosHATab(%rip), %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_19:
+
+        movq      4184+_vmldACosHATab(%rip), %rdx
+        movq      %rdx, (%rsi)
+        ret
+
+.LBL_2_20:
+
+        divsd     %xmm1, %xmm1
+        movsd     %xmm1, (%rsi)
+        testl     $1048575, 4(%rdi)
+        jne       .LBL_2_17
+
+
+        cmpl      $0, (%rdi)
+        sete      %al
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dacos_cout_rare_internal,@function
+       .size   __svml_dacos_cout_rare_internal,.-__svml_dacos_cout_rare_internal
+..LN__svml_dacos_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dacos_data_internal:
+       .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   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   856972295
+       .long   1017226790
+       .long   856972295
+       .long   1017226790
+       .long   856972295
+       .long   1017226790
+       .long   856972295
+       .long   1017226790
+       .long   856972295
+       .long   1017226790
+       .long   856972295
+       .long   1017226790
+       .long   856972295
+       .long   1017226790
+       .long   856972295
+       .long   1017226790
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .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   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   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   0
+       .long   2146435072
+       .long   0
+       .long   4293918720
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3220176896
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2147483648
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .type   __svml_dacos_data_internal,@object
+       .size   __svml_dacos_data_internal,2496
+       .align 32
+_vmldACosHATab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072689152
+       .long   0
+       .long   1072685056
+       .long   0
+       .long   1072680960
+       .long   0
+       .long   1072676864
+       .long   0
+       .long   1072672768
+       .long   0
+       .long   1072668672
+       .long   0
+       .long   1072665600
+       .long   0
+       .long   1072661504
+       .long   0
+       .long   1072657408
+       .long   0
+       .long   1072653312
+       .long   0
+       .long   1072649216
+       .long   0
+       .long   1072646144
+       .long   0
+       .long   1072642048
+       .long   0
+       .long   1072637952
+       .long   0
+       .long   1072634880
+       .long   0
+       .long   1072630784
+       .long   0
+       .long   1072626688
+       .long   0
+       .long   1072623616
+       .long   0
+       .long   1072619520
+       .long   0
+       .long   1072615424
+       .long   0
+       .long   1072612352
+       .long   0
+       .long   1072608256
+       .long   0
+       .long   1072605184
+       .long   0
+       .long   1072601088
+       .long   0
+       .long   1072598016
+       .long   0
+       .long   1072593920
+       .long   0
+       .long   1072590848
+       .long   0
+       .long   1072586752
+       .long   0
+       .long   1072583680
+       .long   0
+       .long   1072580608
+       .long   0
+       .long   1072576512
+       .long   0
+       .long   1072573440
+       .long   0
+       .long   1072570368
+       .long   0
+       .long   1072566272
+       .long   0
+       .long   1072563200
+       .long   0
+       .long   1072560128
+       .long   0
+       .long   1072556032
+       .long   0
+       .long   1072552960
+       .long   0
+       .long   1072549888
+       .long   0
+       .long   1072546816
+       .long   0
+       .long   1072542720
+       .long   0
+       .long   1072539648
+       .long   0
+       .long   1072536576
+       .long   0
+       .long   1072533504
+       .long   0
+       .long   1072530432
+       .long   0
+       .long   1072527360
+       .long   0
+       .long   1072523264
+       .long   0
+       .long   1072520192
+       .long   0
+       .long   1072517120
+       .long   0
+       .long   1072514048
+       .long   0
+       .long   1072510976
+       .long   0
+       .long   1072507904
+       .long   0
+       .long   1072504832
+       .long   0
+       .long   1072501760
+       .long   0
+       .long   1072498688
+       .long   0
+       .long   1072495616
+       .long   0
+       .long   1072492544
+       .long   0
+       .long   1072489472
+       .long   0
+       .long   1072486400
+       .long   0
+       .long   1072483328
+       .long   0
+       .long   1072480256
+       .long   0
+       .long   1072478208
+       .long   0
+       .long   1072475136
+       .long   0
+       .long   1072472064
+       .long   0
+       .long   1072468992
+       .long   0
+       .long   1072465920
+       .long   0
+       .long   1072462848
+       .long   0
+       .long   1072459776
+       .long   0
+       .long   1072457728
+       .long   0
+       .long   1072454656
+       .long   0
+       .long   1072451584
+       .long   0
+       .long   1072448512
+       .long   0
+       .long   1072446464
+       .long   0
+       .long   1072443392
+       .long   0
+       .long   1072440320
+       .long   0
+       .long   1072437248
+       .long   0
+       .long   1072435200
+       .long   0
+       .long   1072432128
+       .long   0
+       .long   1072429056
+       .long   0
+       .long   1072427008
+       .long   0
+       .long   1072423936
+       .long   0
+       .long   1072420864
+       .long   0
+       .long   1072418816
+       .long   0
+       .long   1072415744
+       .long   0
+       .long   1072412672
+       .long   0
+       .long   1072410624
+       .long   0
+       .long   1072407552
+       .long   0
+       .long   1072405504
+       .long   0
+       .long   1072402432
+       .long   0
+       .long   1072400384
+       .long   0
+       .long   1072397312
+       .long   0
+       .long   1072395264
+       .long   0
+       .long   1072392192
+       .long   0
+       .long   1072390144
+       .long   0
+       .long   1072387072
+       .long   0
+       .long   1072385024
+       .long   0
+       .long   1072381952
+       .long   0
+       .long   1072379904
+       .long   0
+       .long   1072376832
+       .long   0
+       .long   1072374784
+       .long   0
+       .long   1072371712
+       .long   0
+       .long   1072369664
+       .long   0
+       .long   1072366592
+       .long   0
+       .long   1072364544
+       .long   0
+       .long   1072362496
+       .long   0
+       .long   1072359424
+       .long   0
+       .long   1072357376
+       .long   0
+       .long   1072355328
+       .long   0
+       .long   1072352256
+       .long   0
+       .long   1072350208
+       .long   0
+       .long   1072347136
+       .long   0
+       .long   1072345088
+       .long   0
+       .long   1072343040
+       .long   0
+       .long   1072340992
+       .long   0
+       .long   1072337920
+       .long   0
+       .long   1072335872
+       .long   0
+       .long   1072333824
+       .long   0
+       .long   1072330752
+       .long   0
+       .long   1072328704
+       .long   0
+       .long   1072326656
+       .long   0
+       .long   1072324608
+       .long   0
+       .long   1072321536
+       .long   0
+       .long   1072319488
+       .long   0
+       .long   1072317440
+       .long   0
+       .long   1072315392
+       .long   0
+       .long   1072313344
+       .long   0
+       .long   1072310272
+       .long   0
+       .long   1072308224
+       .long   0
+       .long   1072306176
+       .long   0
+       .long   1072304128
+       .long   0
+       .long   1072302080
+       .long   0
+       .long   1072300032
+       .long   0
+       .long   1072296960
+       .long   0
+       .long   1072294912
+       .long   0
+       .long   1072292864
+       .long   0
+       .long   1072290816
+       .long   0
+       .long   1072288768
+       .long   0
+       .long   1072286720
+       .long   0
+       .long   1072284672
+       .long   0
+       .long   1072282624
+       .long   0
+       .long   1072280576
+       .long   0
+       .long   1072278528
+       .long   0
+       .long   1072275456
+       .long   0
+       .long   1072273408
+       .long   0
+       .long   1072271360
+       .long   0
+       .long   1072269312
+       .long   0
+       .long   1072267264
+       .long   0
+       .long   1072265216
+       .long   0
+       .long   1072263168
+       .long   0
+       .long   1072261120
+       .long   0
+       .long   1072259072
+       .long   0
+       .long   1072257024
+       .long   0
+       .long   1072254976
+       .long   0
+       .long   1072252928
+       .long   0
+       .long   1072250880
+       .long   0
+       .long   1072248832
+       .long   0
+       .long   1072246784
+       .long   0
+       .long   1072244736
+       .long   0
+       .long   1072243712
+       .long   0
+       .long   1072241664
+       .long   0
+       .long   1072239616
+       .long   0
+       .long   1072237568
+       .long   0
+       .long   1072235520
+       .long   0
+       .long   1072233472
+       .long   0
+       .long   1072231424
+       .long   0
+       .long   1072229376
+       .long   0
+       .long   1072227328
+       .long   0
+       .long   1072225280
+       .long   0
+       .long   1072223232
+       .long   0
+       .long   1072222208
+       .long   0
+       .long   1072220160
+       .long   0
+       .long   1072218112
+       .long   0
+       .long   1072216064
+       .long   0
+       .long   1072214016
+       .long   0
+       .long   1072211968
+       .long   0
+       .long   1072210944
+       .long   0
+       .long   1072208896
+       .long   0
+       .long   1072206848
+       .long   0
+       .long   1072204800
+       .long   0
+       .long   1072202752
+       .long   0
+       .long   1072201728
+       .long   0
+       .long   1072199680
+       .long   0
+       .long   1072197632
+       .long   0
+       .long   1072195584
+       .long   0
+       .long   1072193536
+       .long   0
+       .long   1072192512
+       .long   0
+       .long   1072190464
+       .long   0
+       .long   1072188416
+       .long   0
+       .long   1072186368
+       .long   0
+       .long   1072185344
+       .long   0
+       .long   1072183296
+       .long   0
+       .long   1072181248
+       .long   0
+       .long   1072179200
+       .long   0
+       .long   1072178176
+       .long   0
+       .long   1072176128
+       .long   0
+       .long   1072174080
+       .long   0
+       .long   1072173056
+       .long   0
+       .long   1072171008
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072167936
+       .long   0
+       .long   1072165888
+       .long   0
+       .long   1072163840
+       .long   0
+       .long   1072161792
+       .long   0
+       .long   1072160768
+       .long   0
+       .long   1072158720
+       .long   0
+       .long   1072157696
+       .long   0
+       .long   1072155648
+       .long   0
+       .long   1072153600
+       .long   0
+       .long   1072152576
+       .long   0
+       .long   1072150528
+       .long   0
+       .long   1072148480
+       .long   0
+       .long   1072147456
+       .long   0
+       .long   1072145408
+       .long   0
+       .long   1072143360
+       .long   0
+       .long   1072142336
+       .long   0
+       .long   1072140288
+       .long   0
+       .long   1072139264
+       .long   0
+       .long   1072137216
+       .long   0
+       .long   1072135168
+       .long   0
+       .long   1072134144
+       .long   0
+       .long   1072132096
+       .long   0
+       .long   1072131072
+       .long   0
+       .long   1072129024
+       .long   0
+       .long   1072128000
+       .long   0
+       .long   1072125952
+       .long   0
+       .long   1072124928
+       .long   0
+       .long   1072122880
+       .long   0
+       .long   1072120832
+       .long   0
+       .long   1072119808
+       .long   0
+       .long   1072117760
+       .long   0
+       .long   1072116736
+       .long   0
+       .long   1072114688
+       .long   0
+       .long   1072113664
+       .long   0
+       .long   1072111616
+       .long   0
+       .long   1072110592
+       .long   0
+       .long   1072108544
+       .long   0
+       .long   1072107520
+       .long   0
+       .long   1072105472
+       .long   0
+       .long   1072104448
+       .long   0
+       .long   1072102400
+       .long   0
+       .long   1072101376
+       .long   0
+       .long   1072099328
+       .long   0
+       .long   1072098304
+       .long   0
+       .long   1072096256
+       .long   0
+       .long   1072095232
+       .long   0
+       .long   1072094208
+       .long   0
+       .long   1072092160
+       .long   0
+       .long   1072091136
+       .long   0
+       .long   1072089088
+       .long   0
+       .long   1072088064
+       .long   0
+       .long   1072086016
+       .long   0
+       .long   1072084992
+       .long   0
+       .long   1072082944
+       .long   0
+       .long   1072081920
+       .long   0
+       .long   1072080896
+       .long   0
+       .long   1072078848
+       .long   0
+       .long   1072075776
+       .long   0
+       .long   1072073728
+       .long   0
+       .long   1072070656
+       .long   0
+       .long   1072067584
+       .long   0
+       .long   1072064512
+       .long   0
+       .long   1072061440
+       .long   0
+       .long   1072059392
+       .long   0
+       .long   1072056320
+       .long   0
+       .long   1072053248
+       .long   0
+       .long   1072051200
+       .long   0
+       .long   1072048128
+       .long   0
+       .long   1072045056
+       .long   0
+       .long   1072043008
+       .long   0
+       .long   1072039936
+       .long   0
+       .long   1072037888
+       .long   0
+       .long   1072034816
+       .long   0
+       .long   1072031744
+       .long   0
+       .long   1072029696
+       .long   0
+       .long   1072026624
+       .long   0
+       .long   1072024576
+       .long   0
+       .long   1072021504
+       .long   0
+       .long   1072019456
+       .long   0
+       .long   1072016384
+       .long   0
+       .long   1072014336
+       .long   0
+       .long   1072011264
+       .long   0
+       .long   1072009216
+       .long   0
+       .long   1072006144
+       .long   0
+       .long   1072004096
+       .long   0
+       .long   1072002048
+       .long   0
+       .long   1071998976
+       .long   0
+       .long   1071996928
+       .long   0
+       .long   1071993856
+       .long   0
+       .long   1071991808
+       .long   0
+       .long   1071989760
+       .long   0
+       .long   1071986688
+       .long   0
+       .long   1071984640
+       .long   0
+       .long   1071982592
+       .long   0
+       .long   1071979520
+       .long   0
+       .long   1071977472
+       .long   0
+       .long   1071975424
+       .long   0
+       .long   1071972352
+       .long   0
+       .long   1071970304
+       .long   0
+       .long   1071968256
+       .long   0
+       .long   1071966208
+       .long   0
+       .long   1071964160
+       .long   0
+       .long   1071961088
+       .long   0
+       .long   1071959040
+       .long   0
+       .long   1071956992
+       .long   0
+       .long   1071954944
+       .long   0
+       .long   1071952896
+       .long   0
+       .long   1071949824
+       .long   0
+       .long   1071947776
+       .long   0
+       .long   1071945728
+       .long   0
+       .long   1071943680
+       .long   0
+       .long   1071941632
+       .long   0
+       .long   1071939584
+       .long   0
+       .long   1071937536
+       .long   0
+       .long   1071935488
+       .long   0
+       .long   1071933440
+       .long   0
+       .long   1071930368
+       .long   0
+       .long   1071928320
+       .long   0
+       .long   1071926272
+       .long   0
+       .long   1071924224
+       .long   0
+       .long   1071922176
+       .long   0
+       .long   1071920128
+       .long   0
+       .long   1071918080
+       .long   0
+       .long   1071916032
+       .long   0
+       .long   1071913984
+       .long   0
+       .long   1071911936
+       .long   0
+       .long   1071909888
+       .long   0
+       .long   1071907840
+       .long   0
+       .long   1071905792
+       .long   0
+       .long   1071903744
+       .long   0
+       .long   1071901696
+       .long   0
+       .long   1071900672
+       .long   0
+       .long   1071898624
+       .long   0
+       .long   1071896576
+       .long   0
+       .long   1071894528
+       .long   0
+       .long   1071892480
+       .long   0
+       .long   1071890432
+       .long   0
+       .long   1071888384
+       .long   0
+       .long   1071886336
+       .long   0
+       .long   1071884288
+       .long   0
+       .long   1071883264
+       .long   0
+       .long   1071881216
+       .long   0
+       .long   1071879168
+       .long   0
+       .long   1071877120
+       .long   0
+       .long   1071875072
+       .long   0
+       .long   1071873024
+       .long   0
+       .long   1071872000
+       .long   0
+       .long   1071869952
+       .long   0
+       .long   1071867904
+       .long   0
+       .long   1071865856
+       .long   0
+       .long   1071864832
+       .long   0
+       .long   1071862784
+       .long   0
+       .long   1071860736
+       .long   0
+       .long   1071858688
+       .long   0
+       .long   1071856640
+       .long   0
+       .long   1071855616
+       .long   0
+       .long   1071853568
+       .long   0
+       .long   1071851520
+       .long   0
+       .long   1071850496
+       .long   0
+       .long   1071848448
+       .long   0
+       .long   1071846400
+       .long   0
+       .long   1071844352
+       .long   0
+       .long   1071843328
+       .long   0
+       .long   1071841280
+       .long   0
+       .long   1071839232
+       .long   0
+       .long   1071838208
+       .long   0
+       .long   1071836160
+       .long   0
+       .long   1071834112
+       .long   0
+       .long   1071833088
+       .long   0
+       .long   1071831040
+       .long   0
+       .long   1071830016
+       .long   0
+       .long   1071827968
+       .long   0
+       .long   1071825920
+       .long   0
+       .long   1071824896
+       .long   0
+       .long   1071822848
+       .long   0
+       .long   1071821824
+       .long   0
+       .long   1071819776
+       .long   0
+       .long   1071817728
+       .long   0
+       .long   1071816704
+       .long   0
+       .long   1071814656
+       .long   0
+       .long   1071813632
+       .long   0
+       .long   1071811584
+       .long   0
+       .long   1071810560
+       .long   0
+       .long   1071808512
+       .long   0
+       .long   1071806464
+       .long   0
+       .long   1071805440
+       .long   0
+       .long   1071803392
+       .long   0
+       .long   1071802368
+       .long   0
+       .long   1071800320
+       .long   0
+       .long   1071799296
+       .long   0
+       .long   1071797248
+       .long   0
+       .long   1071796224
+       .long   0
+       .long   1071794176
+       .long   0
+       .long   1071793152
+       .long   0
+       .long   1071791104
+       .long   0
+       .long   1071790080
+       .long   0
+       .long   1071788032
+       .long   0
+       .long   1071787008
+       .long   0
+       .long   1071784960
+       .long   0
+       .long   1071783936
+       .long   0
+       .long   1071782912
+       .long   0
+       .long   1071780864
+       .long   0
+       .long   1071779840
+       .long   0
+       .long   1071777792
+       .long   0
+       .long   1071776768
+       .long   0
+       .long   1071774720
+       .long   0
+       .long   1071773696
+       .long   0
+       .long   1071772672
+       .long   0
+       .long   1071770624
+       .long   0
+       .long   1071769600
+       .long   0
+       .long   1071767552
+       .long   0
+       .long   1071766528
+       .long   0
+       .long   1071765504
+       .long   0
+       .long   1071763456
+       .long   0
+       .long   1071762432
+       .long   0
+       .long   1071760384
+       .long   0
+       .long   1071759360
+       .long   0
+       .long   1071758336
+       .long   0
+       .long   1071756288
+       .long   0
+       .long   1071755264
+       .long   0
+       .long   1071754240
+       .long   0
+       .long   1071752192
+       .long   0
+       .long   1071751168
+       .long   0
+       .long   1071750144
+       .long   0
+       .long   1071748096
+       .long   0
+       .long   1071747072
+       .long   0
+       .long   1071746048
+       .long   0
+       .long   1071744000
+       .long   0
+       .long   1071742976
+       .long   0
+       .long   1071741952
+       .long   0
+       .long   1071739904
+       .long   0
+       .long   1071738880
+       .long   0
+       .long   1071737856
+       .long   0
+       .long   1071736832
+       .long   0
+       .long   1071734784
+       .long   0
+       .long   1071733760
+       .long   0
+       .long   1071732736
+       .long   0
+       .long   1071730688
+       .long   0
+       .long   1071729664
+       .long   0
+       .long   1071728640
+       .long   0
+       .long   1071727616
+       .long   0
+       .long   1071725568
+       .long   0
+       .long   1071724544
+       .long   0
+       .long   1071723520
+       .long   0
+       .long   1071722496
+       .long   0
+       .long   1071720448
+       .long   0
+       .long   1071719424
+       .long   0
+       .long   1071718400
+       .long   0
+       .long   1071717376
+       .long   0
+       .long   1071715328
+       .long   0
+       .long   1071714304
+       .long   0
+       .long   1071713280
+       .long   0
+       .long   1071712256
+       .long   0
+       .long   1071711232
+       .long   0
+       .long   1071709184
+       .long   0
+       .long   1071708160
+       .long   0
+       .long   1071707136
+       .long   0
+       .long   1071706112
+       .long   0
+       .long   1071705088
+       .long   0
+       .long   1071704064
+       .long   0
+       .long   1071702016
+       .long   0
+       .long   1071700992
+       .long   0
+       .long   1071699968
+       .long   0
+       .long   1071698944
+       .long   0
+       .long   1071697920
+       .long   0
+       .long   1071696896
+       .long   0
+       .long   1071694848
+       .long   0
+       .long   1071693824
+       .long   0
+       .long   1071692800
+       .long   0
+       .long   1071691776
+       .long   0
+       .long   1071690752
+       .long   0
+       .long   1071689728
+       .long   0
+       .long   1071688704
+       .long   0
+       .long   1071686656
+       .long   0
+       .long   1071685632
+       .long   0
+       .long   1071684608
+       .long   0
+       .long   1071683584
+       .long   0
+       .long   1071682560
+       .long   0
+       .long   1071681536
+       .long   0
+       .long   1071680512
+       .long   0
+       .long   1071679488
+       .long   0
+       .long   1071677440
+       .long   0
+       .long   1071676416
+       .long   0
+       .long   1071675392
+       .long   0
+       .long   1071674368
+       .long   0
+       .long   1071673344
+       .long   0
+       .long   1071672320
+       .long   0
+       .long   1071671296
+       .long   0
+       .long   1071670272
+       .long   0
+       .long   1071669248
+       .long   0
+       .long   1071668224
+       .long   0
+       .long   1071667200
+       .long   0
+       .long   1071666176
+       .long   0
+       .long   1071665152
+       .long   0
+       .long   1071663104
+       .long   0
+       .long   1071662080
+       .long   0
+       .long   1071661056
+       .long   0
+       .long   1071660032
+       .long   0
+       .long   1071659008
+       .long   0
+       .long   1071657984
+       .long   0
+       .long   1071656960
+       .long   0
+       .long   1071655936
+       .long   0
+       .long   1071654912
+       .long   0
+       .long   1071653888
+       .long   0
+       .long   1071652864
+       .long   0
+       .long   1071651840
+       .long   0
+       .long   1071650816
+       .long   0
+       .long   1071649792
+       .long   0
+       .long   1071648768
+       .long   0
+       .long   1071647744
+       .long   0
+       .long   1071646720
+       .long   0
+       .long   1071645696
+       .long   0
+       .long   1071644672
+       .long   0
+       .long   1101004800
+       .long   1073741824
+       .long   1095761920
+       .long   256
+       .long   1118830592
+       .long   0
+       .long   1017118720
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   1413754136
+       .long   1074340347
+       .long   856972295
+       .long   1017226790
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1071644672
+       .long   0
+       .long   0
+       .long   1476395008
+       .long   1069897045
+       .long   1768958041
+       .long   3189069141
+       .long   805306368
+       .long   1068708659
+       .long   3580333578
+       .long   1040816593
+       .long   3067382784
+       .long   1067899757
+       .long   3397590151
+       .long   1067392113
+       .long   2939529726
+       .long   1066854585
+       .long   1423429166
+       .long   1066517752
+       .long   1775218934
+       .long   1066178574
+       .long   1185392460
+       .long   1065859647
+       .long   289998670
+       .long   1065577550
+       .long   3179807072
+       .long   1065648121
+       .long   3781007284
+       .long   1061576176
+       .long   2482106687
+       .long   1067019199
+       .long   763519713
+       .long   3214591591
+       .long   3695107454
+       .long   1067530646
+       .long   0
+       .long   1073741824
+       .long   1124791109
+       .long   1006764147
+       .long   1476395008
+       .long   1069897045
+       .long   1953913876
+       .long   3189069141
+       .long   805306368
+       .long   1067660083
+       .long   165110192
+       .long   1039768033
+       .long   3067304082
+       .long   1065802605
+       .long   3404727379
+       .long   1064246385
+       .long   2737480376
+       .long   1062660281
+       .long   933797922
+       .long   1061274873
+       .long   1475716730
+       .long   1059887095
+       .long   1511619763
+       .long   1058519827
+       .long   556024211
+       .long   1057187555
+       .long   3482101045
+       .long   1056217350
+       .long   1174622859
+       .long   1050762633
+       .long   899668651
+       .long   1055506366
+       .long   1081094694
+       .long   3202035365
+       .long   2559814773
+       .long   1053906576
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   3218341888
+       .long   0
+       .long   1070694400
+       .long   0
+       .long   3218046976
+       .long   0
+       .long   1070391296
+       .long   0
+       .long   3217739776
+       .type   _vmldACosHATab,@object
+       .size   _vmldACosHATab,4520
+       .space 88, 0x00         
+       .align 16
+.L_2il0floatpacket.197:
+       .long   0x00000000,0x80000000,0x00000000,0x00000000
+       .type   .L_2il0floatpacket.197,@object
+       .size   .L_2il0floatpacket.197,16
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_acos_s_la.s
new file mode 100644 (file)
index 0000000..b6ecb7e
--- /dev/null
@@ -0,0 +1,2292 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_acosf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_acosf16
+
+__svml_acosf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   __svml_sacos_data_internal(%rip), %zmm5
+        vmovups   64+__svml_sacos_data_internal(%rip), %zmm6
+
+/* SQ ~ 2*sqrt(Y) */
+        vmovups   192+__svml_sacos_data_internal(%rip), %zmm9
+        vmovups   256+__svml_sacos_data_internal(%rip), %zmm8
+        vmovups   448+__svml_sacos_data_internal(%rip), %zmm12
+        vmovups   512+__svml_sacos_data_internal(%rip), %zmm13
+        vmovaps   %zmm0, %zmm4
+
+/* x = -|arg| */
+        vorps     %zmm4, %zmm5, %zmm3
+        vandps    %zmm4, %zmm5, %zmm2
+        vmovups   576+__svml_sacos_data_internal(%rip), %zmm0
+
+/* Y = 0.5 + 0.5*(-x) */
+        vfmadd231ps {rn-sae}, %zmm3, %zmm6, %zmm6
+
+/* x^2 */
+        vmulps    {rn-sae}, %zmm3, %zmm3, %zmm7
+        vrsqrt14ps %zmm6, %zmm10
+        vcmpps    $17, {sae}, %zmm9, %zmm6, %k2
+        vcmpps    $22, {sae}, %zmm3, %zmm8, %k0
+        vmovups   832+__svml_sacos_data_internal(%rip), %zmm9
+        vminps    {sae}, %zmm6, %zmm7, %zmm1
+        vmovups   768+__svml_sacos_data_internal(%rip), %zmm7
+        vxorps    %zmm10, %zmm10, %zmm10{%k2}
+        vaddps    {rn-sae}, %zmm6, %zmm6, %zmm14
+        vmulps    {rn-sae}, %zmm1, %zmm1, %zmm8
+        vmulps    {rn-sae}, %zmm10, %zmm10, %zmm11
+        vmulps    {rn-sae}, %zmm10, %zmm14, %zmm5
+        vcmpps    $21, {sae}, %zmm6, %zmm1, %k1
+
+/* X<X^2 iff X<0 */
+        vcmpps    $17, {sae}, %zmm1, %zmm4, %k3
+
+/* polynomial */
+        vmovups   640+__svml_sacos_data_internal(%rip), %zmm6
+        vfmsub213ps {rn-sae}, %zmm12, %zmm11, %zmm14
+        vmovups   704+__svml_sacos_data_internal(%rip), %zmm11
+        vfmadd231ps {rn-sae}, %zmm1, %zmm7, %zmm9
+        vmovups   896+__svml_sacos_data_internal(%rip), %zmm10
+        vmovups   960+__svml_sacos_data_internal(%rip), %zmm12
+        vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm0
+        vfmadd231ps {rn-sae}, %zmm1, %zmm6, %zmm11
+        vmulps    {rn-sae}, %zmm14, %zmm5, %zmm15
+        vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm11
+        vxorps    %zmm12, %zmm12, %zmm12{%k1}
+        vfnmadd213ps {rn-sae}, %zmm5, %zmm15, %zmm0
+        vfmadd213ps {rn-sae}, %zmm10, %zmm1, %zmm11
+        kmovw     %k1, %eax
+        kmovw     %k3, %ecx
+        kmovw     %k0, %edx
+        vmulps    {rn-sae}, %zmm1, %zmm11, %zmm13
+        vblendmps %zmm0, %zmm3, %zmm0{%k1}
+        vxorps    %zmm2, %zmm0, %zmm1
+        andl      %eax, %ecx
+        kmovw     %ecx, %k2
+        vfmadd213ps {rn-sae}, %zmm1, %zmm1, %zmm13
+        vorps     1088+__svml_sacos_data_internal(%rip), %zmm12, %zmm12{%k2}
+        vaddps    {rn-sae}, %zmm13, %zmm12, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm4, 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_sacos_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_acosf16,@function
+       .size   __svml_acosf16,.-__svml_acosf16
+..LN__svml_acosf16.0:
+
+.L_2__routine_start___svml_sacos_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_sacos_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    2(%rdi), %edx
+        andl      $32640, %edx
+        movss     (%rdi), %xmm1
+        cmpl      $32640, %edx
+        je        .LBL_2_20
+
+
+        cvtss2sd  %xmm1, %xmm1
+        movsd     %xmm1, -32(%rsp)
+        andb      $127, -25(%rsp)
+        movsd     -32(%rsp), %xmm12
+        movsd     4168+_vmldACosHATab(%rip), %xmm0
+        comisd    %xmm12, %xmm0
+        jbe       .LBL_2_14
+
+
+        movsd     4176+_vmldACosHATab(%rip), %xmm1
+        comisd    %xmm12, %xmm1
+        jbe       .LBL_2_10
+
+
+        comisd    4128+_vmldACosHATab(%rip), %xmm12
+        jbe       .LBL_2_9
+
+
+        movsd     4104+_vmldACosHATab(%rip), %xmm6
+        movaps    %xmm12, %xmm8
+        mulsd     %xmm12, %xmm6
+        movaps    %xmm12, %xmm7
+        movsd     %xmm6, -40(%rsp)
+        movsd     -40(%rsp), %xmm13
+        movsd     4104+_vmldACosHATab(%rip), %xmm5
+        subsd     -32(%rsp), %xmm13
+        movsd     %xmm13, -48(%rsp)
+        movsd     -40(%rsp), %xmm15
+        movsd     -48(%rsp), %xmm14
+        subsd     %xmm14, %xmm15
+        movaps    %xmm12, %xmm14
+        movsd     %xmm15, -40(%rsp)
+        movsd     -40(%rsp), %xmm6
+        subsd     %xmm6, %xmm8
+        movsd     %xmm8, -48(%rsp)
+        movsd     -40(%rsp), %xmm9
+        movaps    %xmm9, %xmm4
+        addsd     %xmm9, %xmm7
+        mulsd     %xmm9, %xmm4
+        movsd     -48(%rsp), %xmm10
+        movaps    %xmm4, %xmm11
+        mulsd     %xmm10, %xmm7
+        mulsd     %xmm4, %xmm5
+        addsd     %xmm7, %xmm11
+        movsd     4312+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm5, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     4104+_vmldACosHATab(%rip), %xmm5
+        subsd     %xmm4, %xmm1
+        addsd     4304+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm1, -48(%rsp)
+        movsd     -40(%rsp), %xmm0
+        movsd     -48(%rsp), %xmm2
+        addsd     4296+_vmldACosHATab(%rip), %xmm8
+        subsd     %xmm2, %xmm0
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm0, -40(%rsp)
+        movsd     -40(%rsp), %xmm3
+        addsd     4288+_vmldACosHATab(%rip), %xmm8
+        subsd     %xmm3, %xmm4
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm4, -48(%rsp)
+        movsd     -40(%rsp), %xmm6
+        mulsd     %xmm6, %xmm9
+        addsd     4280+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm6, %xmm10
+        mulsd     %xmm11, %xmm8
+        mulsd     %xmm9, %xmm5
+        addsd     4272+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm11, %xmm8
+        movaps    %xmm9, %xmm0
+        movsd     -48(%rsp), %xmm13
+        movaps    %xmm6, %xmm4
+        movsd     %xmm5, -40(%rsp)
+        addsd     %xmm13, %xmm7
+        addsd     4264+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm7, %xmm14
+        mulsd     %xmm11, %xmm8
+        addsd     %xmm14, %xmm10
+        addsd     4256+_vmldACosHATab(%rip), %xmm8
+        movsd     -40(%rsp), %xmm1
+        mulsd     %xmm11, %xmm8
+        subsd     %xmm9, %xmm1
+        addsd     %xmm10, %xmm9
+        addsd     4248+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm9, %xmm7
+        mulsd     %xmm11, %xmm8
+        movsd     %xmm1, -48(%rsp)
+        movsd     -40(%rsp), %xmm2
+        movsd     -48(%rsp), %xmm15
+        subsd     %xmm15, %xmm2
+        addsd     4240+_vmldACosHATab(%rip), %xmm8
+        movsd     %xmm2, -40(%rsp)
+        movsd     -40(%rsp), %xmm5
+        mulsd     %xmm11, %xmm8
+        subsd     %xmm5, %xmm0
+        movsd     %xmm0, -48(%rsp)
+        movsd     -40(%rsp), %xmm3
+        movsd     -48(%rsp), %xmm5
+        movaps    %xmm5, %xmm13
+        addsd     4232+_vmldACosHATab(%rip), %xmm8
+        mulsd     %xmm3, %xmm4
+        addsd     %xmm10, %xmm13
+        mulsd     %xmm11, %xmm8
+        mulsd     %xmm13, %xmm6
+        addsd     4224+_vmldACosHATab(%rip), %xmm8
+        addsd     %xmm7, %xmm6
+        mulsd     %xmm11, %xmm8
+        movsd     4104+_vmldACosHATab(%rip), %xmm7
+        movaps    %xmm4, %xmm13
+        mulsd     %xmm4, %xmm7
+        addsd     4216+_vmldACosHATab(%rip), %xmm8
+        movsd     %xmm7, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     4200+_vmldACosHATab(%rip), %xmm11
+        subsd     %xmm4, %xmm1
+        mulsd     %xmm9, %xmm11
+        addsd     %xmm6, %xmm4
+        movsd     %xmm1, -48(%rsp)
+        movaps    %xmm12, %xmm9
+        movsd     -40(%rsp), %xmm0
+        movsd     -48(%rsp), %xmm2
+        movsd     4192+_vmldACosHATab(%rip), %xmm1
+        subsd     %xmm2, %xmm0
+        mulsd     %xmm1, %xmm3
+        mulsd     %xmm1, %xmm10
+        mulsd     %xmm4, %xmm8
+        addsd     %xmm3, %xmm9
+        mulsd     %xmm1, %xmm5
+        addsd     %xmm10, %xmm11
+        movsd     %xmm0, -40(%rsp)
+        pxor      %xmm1, %xmm1
+        movsd     -40(%rsp), %xmm7
+        addsd     %xmm11, %xmm8
+        subsd     %xmm7, %xmm13
+        addsd     %xmm5, %xmm8
+        movsd     %xmm13, -48(%rsp)
+        movsd     -40(%rsp), %xmm0
+        movsd     -48(%rsp), %xmm2
+        movsd     %xmm9, -40(%rsp)
+        addsd     %xmm2, %xmm6
+        movsd     -40(%rsp), %xmm10
+        movsd     %xmm3, -56(%rsp)
+        subsd     %xmm10, %xmm12
+        movsd     4208+_vmldACosHATab(%rip), %xmm4
+        addsd     %xmm12, %xmm3
+        mulsd     %xmm4, %xmm0
+        mulsd     %xmm4, %xmm6
+        movsd     %xmm3, -48(%rsp)
+        movsd     -40(%rsp), %xmm3
+        movaps    %xmm3, %xmm12
+        movsd     -48(%rsp), %xmm7
+        addsd     %xmm0, %xmm12
+        addsd     %xmm7, %xmm8
+        movsd     %xmm12, -40(%rsp)
+        movsd     -40(%rsp), %xmm12
+        subsd     %xmm12, %xmm3
+        addsd     %xmm3, %xmm0
+        movsd     %xmm0, -48(%rsp)
+        movsd     -40(%rsp), %xmm3
+        movsd     -48(%rsp), %xmm0
+        cvtss2sd  (%rdi), %xmm1
+        addsd     %xmm8, %xmm0
+        comisd    4184+_vmldACosHATab(%rip), %xmm1
+        addsd     %xmm0, %xmm6
+        jbe       .LBL_2_7
+
+
+        movsd     4136+_vmldACosHATab(%rip), %xmm2
+        movaps    %xmm2, %xmm0
+        subsd     %xmm3, %xmm0
+        movsd     %xmm0, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     4144+_vmldACosHATab(%rip), %xmm0
+        subsd     %xmm1, %xmm2
+        subsd     %xmm6, %xmm0
+        subsd     %xmm3, %xmm2
+        movsd     %xmm2, -48(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     -48(%rsp), %xmm3
+        addsd     %xmm3, %xmm0
+        jmp       .LBL_2_8
+
+.LBL_2_7:
+
+        movsd     4136+_vmldACosHATab(%rip), %xmm2
+        movaps    %xmm3, %xmm0
+        addsd     %xmm2, %xmm0
+        movsd     %xmm0, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        subsd     %xmm1, %xmm2
+        addsd     %xmm2, %xmm3
+        movsd     %xmm3, -48(%rsp)
+        movsd     4144+_vmldACosHATab(%rip), %xmm3
+        movsd     -40(%rsp), %xmm1
+        addsd     %xmm3, %xmm6
+        movsd     -48(%rsp), %xmm0
+        addsd     %xmm6, %xmm0
+
+.LBL_2_8:
+
+        addsd     %xmm0, %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        movsd     4144+_vmldACosHATab(%rip), %xmm1
+        addsd     %xmm0, %xmm12
+        movsd     %xmm12, -40(%rsp)
+        movsd     -40(%rsp), %xmm0
+        mulsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -56(%rsp)
+        movb      -49(%rsp), %dl
+        movb      3(%rdi), %dil
+        andb      $127, %dl
+        andb      $-128, %dil
+        orb       %dil, %dl
+        movb      %dl, -49(%rsp)
+        subsd     -56(%rsp), %xmm1
+        addsd     4136+_vmldACosHATab(%rip), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+
+.LBL_2_10:
+
+        movaps    %xmm0, %xmm8
+        movzwl    4174+_vmldACosHATab(%rip), %r9d
+        pxor      %xmm13, %xmm13
+        andl      $-32753, %r9d
+        subsd     %xmm12, %xmm8
+        subsd     %xmm0, %xmm13
+        mulsd     %xmm8, %xmm1
+        movsd     %xmm1, -56(%rsp)
+        movzwl    -50(%rsp), %ecx
+        andl      $32752, %ecx
+        shrl      $4, %ecx
+        addl      $-1023, %ecx
+        movl      %ecx, %r8d
+        movl      %ecx, %edx
+        negl      %r8d
+        addl      $1023, %r8d
+        andl      $2047, %r8d
+        shll      $4, %r8d
+        movsd     %xmm0, -32(%rsp)
+        orl       %r8d, %r9d
+        movw      %r9w, -26(%rsp)
+        andl      $1, %edx
+        movsd     -32(%rsp), %xmm4
+        lea       _vmldACosHATab(%rip), %r8
+        mulsd     %xmm4, %xmm1
+        movl      %edx, %r10d
+        movaps    %xmm1, %xmm15
+        movsd     4112+_vmldACosHATab(%rip), %xmm6
+        addsd     %xmm1, %xmm15
+        jne       ..L54
+        movaps    %xmm1, %xmm15
+..L54:
+        mulsd     %xmm15, %xmm6
+        movaps    %xmm15, %xmm7
+        movaps    %xmm6, %xmm9
+        subl      %edx, %ecx
+        movsd     4120+_vmldACosHATab(%rip), %xmm11
+        subsd     %xmm15, %xmm9
+        addsd     %xmm1, %xmm11
+        movsd     %xmm9, -48(%rsp)
+        movsd     -48(%rsp), %xmm10
+        movsd     %xmm11, -24(%rsp)
+        subsd     %xmm10, %xmm6
+        movl      -24(%rsp), %r11d
+        movaps    %xmm6, %xmm14
+        shll      $8, %r10d
+        andl      $511, %r11d
+        addl      %r10d, %r11d
+        subsd     %xmm6, %xmm7
+        movsd     (%r8,%r11,8), %xmm5
+        addsd     %xmm7, %xmm14
+        mulsd     %xmm5, %xmm6
+        movaps    %xmm5, %xmm12
+        mulsd     %xmm5, %xmm12
+        mulsd     %xmm12, %xmm14
+        movsd     4512+_vmldACosHATab(%rip), %xmm4
+        addsd     %xmm13, %xmm14
+        mulsd     %xmm14, %xmm4
+        shrl      $1, %ecx
+        addsd     4504+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        addl      $1023, %ecx
+        andl      $2047, %ecx
+        addsd     4496+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        movzwl    4174+_vmldACosHATab(%rip), %r9d
+        shll      $4, %ecx
+        andl      $-32753, %r9d
+        movsd     %xmm0, -16(%rsp)
+        orl       %ecx, %r9d
+        movw      %r9w, -10(%rsp)
+        movsd     -16(%rsp), %xmm9
+        mulsd     %xmm9, %xmm6
+        addsd     4488+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        movsd     4104+_vmldACosHATab(%rip), %xmm3
+        mulsd     %xmm6, %xmm3
+        addsd     4480+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        movsd     %xmm3, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     4352+_vmldACosHATab(%rip), %xmm11
+        subsd     %xmm6, %xmm1
+        addsd     4472+_vmldACosHATab(%rip), %xmm4
+        addsd     4360+_vmldACosHATab(%rip), %xmm11
+        mulsd     %xmm14, %xmm4
+        mulsd     %xmm8, %xmm11
+        addsd     4464+_vmldACosHATab(%rip), %xmm4
+        mulsd     %xmm14, %xmm4
+        mulsd     %xmm15, %xmm4
+        movsd     %xmm1, -48(%rsp)
+        addsd     %xmm4, %xmm7
+        mulsd     %xmm5, %xmm7
+        movsd     4456+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        mulsd     %xmm9, %xmm7
+        addsd     4448+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        movsd     -40(%rsp), %xmm2
+        movsd     -48(%rsp), %xmm0
+        movsd     4104+_vmldACosHATab(%rip), %xmm4
+        subsd     %xmm0, %xmm2
+        mulsd     %xmm8, %xmm4
+        addsd     4440+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        movaps    %xmm8, %xmm0
+        movsd     %xmm2, -40(%rsp)
+        movsd     -40(%rsp), %xmm14
+        movsd     4104+_vmldACosHATab(%rip), %xmm2
+        subsd     %xmm14, %xmm6
+        addsd     4432+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        movsd     %xmm6, -48(%rsp)
+        movsd     -40(%rsp), %xmm6
+        movsd     -48(%rsp), %xmm10
+        movsd     %xmm4, -40(%rsp)
+        addsd     %xmm10, %xmm7
+        addsd     4424+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm5
+        movsd     -40(%rsp), %xmm3
+        movsd     4336+_vmldACosHATab(%rip), %xmm12
+        subsd     %xmm8, %xmm3
+        addsd     4416+_vmldACosHATab(%rip), %xmm5
+        addsd     4344+_vmldACosHATab(%rip), %xmm12
+        mulsd     %xmm8, %xmm5
+        addsd     %xmm11, %xmm12
+        addsd     4408+_vmldACosHATab(%rip), %xmm5
+        mulsd     %xmm8, %xmm12
+        mulsd     %xmm8, %xmm5
+        movsd     %xmm3, -48(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     -48(%rsp), %xmm15
+        movsd     4320+_vmldACosHATab(%rip), %xmm13
+        subsd     %xmm15, %xmm1
+        addsd     4400+_vmldACosHATab(%rip), %xmm5
+        addsd     4328+_vmldACosHATab(%rip), %xmm13
+        mulsd     %xmm8, %xmm5
+        addsd     %xmm12, %xmm13
+        addsd     4392+_vmldACosHATab(%rip), %xmm5
+        movsd     %xmm1, -40(%rsp)
+        mulsd     %xmm8, %xmm5
+        movsd     -40(%rsp), %xmm4
+        subsd     %xmm4, %xmm0
+        addsd     4384+_vmldACosHATab(%rip), %xmm5
+        movsd     %xmm0, -48(%rsp)
+        movsd     -40(%rsp), %xmm4
+        movaps    %xmm4, %xmm14
+        mulsd     %xmm4, %xmm14
+        mulsd     %xmm8, %xmm5
+        mulsd     %xmm14, %xmm2
+        addsd     4376+_vmldACosHATab(%rip), %xmm5
+        movsd     -48(%rsp), %xmm3
+        movsd     %xmm2, -40(%rsp)
+        movsd     -40(%rsp), %xmm9
+        mulsd     %xmm8, %xmm5
+        subsd     %xmm14, %xmm9
+        movsd     %xmm9, -48(%rsp)
+        movsd     -40(%rsp), %xmm11
+        movsd     -48(%rsp), %xmm10
+        movsd     4336+_vmldACosHATab(%rip), %xmm0
+        subsd     %xmm10, %xmm11
+        mulsd     %xmm4, %xmm0
+        addsd     4368+_vmldACosHATab(%rip), %xmm5
+        addsd     %xmm8, %xmm4
+        mulsd     %xmm8, %xmm5
+        mulsd     %xmm3, %xmm4
+        mulsd     %xmm8, %xmm5
+        movsd     %xmm11, -40(%rsp)
+        movaps    %xmm0, %xmm1
+        movsd     -40(%rsp), %xmm12
+        mulsd     %xmm8, %xmm5
+        subsd     %xmm12, %xmm14
+        movsd     %xmm14, -48(%rsp)
+        addsd     %xmm5, %xmm13
+        movsd     -40(%rsp), %xmm9
+        mulsd     4352+_vmldACosHATab(%rip), %xmm9
+        mulsd     %xmm13, %xmm7
+        addsd     %xmm9, %xmm1
+        movsd     -48(%rsp), %xmm2
+        movsd     %xmm1, -40(%rsp)
+        addsd     %xmm2, %xmm4
+        movsd     -40(%rsp), %xmm13
+        movsd     %xmm9, -24(%rsp)
+        subsd     %xmm13, %xmm0
+        mulsd     4352+_vmldACosHATab(%rip), %xmm4
+        addsd     %xmm0, %xmm9
+        movsd     %xmm9, -48(%rsp)
+        movsd     -40(%rsp), %xmm12
+        movsd     4320+_vmldACosHATab(%rip), %xmm10
+        movsd     -48(%rsp), %xmm1
+        addsd     %xmm12, %xmm10
+        movsd     %xmm10, -40(%rsp)
+        movsd     -40(%rsp), %xmm15
+        movsd     4320+_vmldACosHATab(%rip), %xmm11
+        movsd     4104+_vmldACosHATab(%rip), %xmm9
+        subsd     %xmm15, %xmm11
+        movsd     4336+_vmldACosHATab(%rip), %xmm2
+        addsd     %xmm11, %xmm12
+        mulsd     %xmm3, %xmm2
+        movsd     %xmm12, -48(%rsp)
+        movsd     -40(%rsp), %xmm15
+        mulsd     %xmm15, %xmm9
+        movsd     -48(%rsp), %xmm0
+        movsd     %xmm9, -40(%rsp)
+        movsd     -40(%rsp), %xmm10
+        movsd     4360+_vmldACosHATab(%rip), %xmm3
+        subsd     %xmm15, %xmm10
+        mulsd     %xmm8, %xmm3
+        movsd     %xmm10, -48(%rsp)
+        movsd     -40(%rsp), %xmm11
+        movsd     -48(%rsp), %xmm13
+        subsd     %xmm13, %xmm11
+        addsd     4344+_vmldACosHATab(%rip), %xmm3
+        movsd     %xmm11, -40(%rsp)
+        movsd     -40(%rsp), %xmm14
+        mulsd     %xmm8, %xmm3
+        subsd     %xmm14, %xmm15
+        movsd     %xmm15, -48(%rsp)
+        movsd     -40(%rsp), %xmm10
+        movsd     -48(%rsp), %xmm9
+        addsd     %xmm9, %xmm4
+        addsd     4328+_vmldACosHATab(%rip), %xmm3
+        addsd     %xmm2, %xmm4
+        addsd     %xmm5, %xmm3
+        addsd     %xmm1, %xmm4
+        addsd     %xmm0, %xmm4
+        addsd     %xmm3, %xmm4
+        mulsd     %xmm6, %xmm4
+        mulsd     %xmm10, %xmm6
+        addsd     %xmm7, %xmm4
+        pxor      %xmm7, %xmm7
+        cvtss2sd  (%rdi), %xmm7
+        comisd    4184+_vmldACosHATab(%rip), %xmm7
+        ja        .LBL_2_13
+
+
+        movsd     4152+_vmldACosHATab(%rip), %xmm2
+        movaps    %xmm2, %xmm0
+        movsd     4160+_vmldACosHATab(%rip), %xmm5
+        subsd     %xmm6, %xmm0
+        subsd     %xmm4, %xmm5
+        movsd     %xmm0, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        movsd     %xmm6, -56(%rsp)
+        subsd     %xmm1, %xmm2
+        subsd     %xmm6, %xmm2
+        movsd     %xmm2, -48(%rsp)
+        movsd     -40(%rsp), %xmm6
+        movsd     -48(%rsp), %xmm3
+        movaps    %xmm3, %xmm4
+        addsd     %xmm5, %xmm4
+
+.LBL_2_13:
+
+        addsd     %xmm4, %xmm6
+        cvtsd2ss  %xmm6, %xmm6
+        movss     %xmm6, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        ucomisd   %xmm0, %xmm1
+        jp        .LBL_2_15
+        je        .LBL_2_19
+
+.LBL_2_15:
+
+        xorps     .L_2il0floatpacket.199(%rip), %xmm0
+        ucomisd   %xmm0, %xmm1
+        jp        .LBL_2_16
+        je        .LBL_2_18
+
+.LBL_2_16:
+
+        movl      $1, %eax
+        pxor      %xmm1, %xmm1
+        pxor      %xmm0, %xmm0
+        divss     %xmm0, %xmm1
+        movss     %xmm1, (%rsi)
+
+
+        ret
+
+.LBL_2_18:
+
+        movsd     4152+_vmldACosHATab(%rip), %xmm0
+        addsd     4160+_vmldACosHATab(%rip), %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_19:
+
+        movsd     4184+_vmldACosHATab(%rip), %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_20:
+
+        divss     %xmm1, %xmm1
+        testl     $8388607, (%rdi)
+        movss     %xmm1, (%rsi)
+        sete      %al
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sacos_cout_rare_internal,@function
+       .size   __svml_sacos_cout_rare_internal,.-__svml_sacos_cout_rare_internal
+..LN__svml_sacos_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_sacos_data_internal:
+       .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   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   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .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   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   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .type   __svml_sacos_data_internal,@object
+       .size   __svml_sacos_data_internal,1600
+       .align 32
+_vmldACosHATab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072689152
+       .long   0
+       .long   1072685056
+       .long   0
+       .long   1072680960
+       .long   0
+       .long   1072676864
+       .long   0
+       .long   1072672768
+       .long   0
+       .long   1072668672
+       .long   0
+       .long   1072665600
+       .long   0
+       .long   1072661504
+       .long   0
+       .long   1072657408
+       .long   0
+       .long   1072653312
+       .long   0
+       .long   1072649216
+       .long   0
+       .long   1072646144
+       .long   0
+       .long   1072642048
+       .long   0
+       .long   1072637952
+       .long   0
+       .long   1072634880
+       .long   0
+       .long   1072630784
+       .long   0
+       .long   1072626688
+       .long   0
+       .long   1072623616
+       .long   0
+       .long   1072619520
+       .long   0
+       .long   1072615424
+       .long   0
+       .long   1072612352
+       .long   0
+       .long   1072608256
+       .long   0
+       .long   1072605184
+       .long   0
+       .long   1072601088
+       .long   0
+       .long   1072598016
+       .long   0
+       .long   1072593920
+       .long   0
+       .long   1072590848
+       .long   0
+       .long   1072586752
+       .long   0
+       .long   1072583680
+       .long   0
+       .long   1072580608
+       .long   0
+       .long   1072576512
+       .long   0
+       .long   1072573440
+       .long   0
+       .long   1072570368
+       .long   0
+       .long   1072566272
+       .long   0
+       .long   1072563200
+       .long   0
+       .long   1072560128
+       .long   0
+       .long   1072556032
+       .long   0
+       .long   1072552960
+       .long   0
+       .long   1072549888
+       .long   0
+       .long   1072546816
+       .long   0
+       .long   1072542720
+       .long   0
+       .long   1072539648
+       .long   0
+       .long   1072536576
+       .long   0
+       .long   1072533504
+       .long   0
+       .long   1072530432
+       .long   0
+       .long   1072527360
+       .long   0
+       .long   1072523264
+       .long   0
+       .long   1072520192
+       .long   0
+       .long   1072517120
+       .long   0
+       .long   1072514048
+       .long   0
+       .long   1072510976
+       .long   0
+       .long   1072507904
+       .long   0
+       .long   1072504832
+       .long   0
+       .long   1072501760
+       .long   0
+       .long   1072498688
+       .long   0
+       .long   1072495616
+       .long   0
+       .long   1072492544
+       .long   0
+       .long   1072489472
+       .long   0
+       .long   1072486400
+       .long   0
+       .long   1072483328
+       .long   0
+       .long   1072480256
+       .long   0
+       .long   1072478208
+       .long   0
+       .long   1072475136
+       .long   0
+       .long   1072472064
+       .long   0
+       .long   1072468992
+       .long   0
+       .long   1072465920
+       .long   0
+       .long   1072462848
+       .long   0
+       .long   1072459776
+       .long   0
+       .long   1072457728
+       .long   0
+       .long   1072454656
+       .long   0
+       .long   1072451584
+       .long   0
+       .long   1072448512
+       .long   0
+       .long   1072446464
+       .long   0
+       .long   1072443392
+       .long   0
+       .long   1072440320
+       .long   0
+       .long   1072437248
+       .long   0
+       .long   1072435200
+       .long   0
+       .long   1072432128
+       .long   0
+       .long   1072429056
+       .long   0
+       .long   1072427008
+       .long   0
+       .long   1072423936
+       .long   0
+       .long   1072420864
+       .long   0
+       .long   1072418816
+       .long   0
+       .long   1072415744
+       .long   0
+       .long   1072412672
+       .long   0
+       .long   1072410624
+       .long   0
+       .long   1072407552
+       .long   0
+       .long   1072405504
+       .long   0
+       .long   1072402432
+       .long   0
+       .long   1072400384
+       .long   0
+       .long   1072397312
+       .long   0
+       .long   1072395264
+       .long   0
+       .long   1072392192
+       .long   0
+       .long   1072390144
+       .long   0
+       .long   1072387072
+       .long   0
+       .long   1072385024
+       .long   0
+       .long   1072381952
+       .long   0
+       .long   1072379904
+       .long   0
+       .long   1072376832
+       .long   0
+       .long   1072374784
+       .long   0
+       .long   1072371712
+       .long   0
+       .long   1072369664
+       .long   0
+       .long   1072366592
+       .long   0
+       .long   1072364544
+       .long   0
+       .long   1072362496
+       .long   0
+       .long   1072359424
+       .long   0
+       .long   1072357376
+       .long   0
+       .long   1072355328
+       .long   0
+       .long   1072352256
+       .long   0
+       .long   1072350208
+       .long   0
+       .long   1072347136
+       .long   0
+       .long   1072345088
+       .long   0
+       .long   1072343040
+       .long   0
+       .long   1072340992
+       .long   0
+       .long   1072337920
+       .long   0
+       .long   1072335872
+       .long   0
+       .long   1072333824
+       .long   0
+       .long   1072330752
+       .long   0
+       .long   1072328704
+       .long   0
+       .long   1072326656
+       .long   0
+       .long   1072324608
+       .long   0
+       .long   1072321536
+       .long   0
+       .long   1072319488
+       .long   0
+       .long   1072317440
+       .long   0
+       .long   1072315392
+       .long   0
+       .long   1072313344
+       .long   0
+       .long   1072310272
+       .long   0
+       .long   1072308224
+       .long   0
+       .long   1072306176
+       .long   0
+       .long   1072304128
+       .long   0
+       .long   1072302080
+       .long   0
+       .long   1072300032
+       .long   0
+       .long   1072296960
+       .long   0
+       .long   1072294912
+       .long   0
+       .long   1072292864
+       .long   0
+       .long   1072290816
+       .long   0
+       .long   1072288768
+       .long   0
+       .long   1072286720
+       .long   0
+       .long   1072284672
+       .long   0
+       .long   1072282624
+       .long   0
+       .long   1072280576
+       .long   0
+       .long   1072278528
+       .long   0
+       .long   1072275456
+       .long   0
+       .long   1072273408
+       .long   0
+       .long   1072271360
+       .long   0
+       .long   1072269312
+       .long   0
+       .long   1072267264
+       .long   0
+       .long   1072265216
+       .long   0
+       .long   1072263168
+       .long   0
+       .long   1072261120
+       .long   0
+       .long   1072259072
+       .long   0
+       .long   1072257024
+       .long   0
+       .long   1072254976
+       .long   0
+       .long   1072252928
+       .long   0
+       .long   1072250880
+       .long   0
+       .long   1072248832
+       .long   0
+       .long   1072246784
+       .long   0
+       .long   1072244736
+       .long   0
+       .long   1072243712
+       .long   0
+       .long   1072241664
+       .long   0
+       .long   1072239616
+       .long   0
+       .long   1072237568
+       .long   0
+       .long   1072235520
+       .long   0
+       .long   1072233472
+       .long   0
+       .long   1072231424
+       .long   0
+       .long   1072229376
+       .long   0
+       .long   1072227328
+       .long   0
+       .long   1072225280
+       .long   0
+       .long   1072223232
+       .long   0
+       .long   1072222208
+       .long   0
+       .long   1072220160
+       .long   0
+       .long   1072218112
+       .long   0
+       .long   1072216064
+       .long   0
+       .long   1072214016
+       .long   0
+       .long   1072211968
+       .long   0
+       .long   1072210944
+       .long   0
+       .long   1072208896
+       .long   0
+       .long   1072206848
+       .long   0
+       .long   1072204800
+       .long   0
+       .long   1072202752
+       .long   0
+       .long   1072201728
+       .long   0
+       .long   1072199680
+       .long   0
+       .long   1072197632
+       .long   0
+       .long   1072195584
+       .long   0
+       .long   1072193536
+       .long   0
+       .long   1072192512
+       .long   0
+       .long   1072190464
+       .long   0
+       .long   1072188416
+       .long   0
+       .long   1072186368
+       .long   0
+       .long   1072185344
+       .long   0
+       .long   1072183296
+       .long   0
+       .long   1072181248
+       .long   0
+       .long   1072179200
+       .long   0
+       .long   1072178176
+       .long   0
+       .long   1072176128
+       .long   0
+       .long   1072174080
+       .long   0
+       .long   1072173056
+       .long   0
+       .long   1072171008
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072167936
+       .long   0
+       .long   1072165888
+       .long   0
+       .long   1072163840
+       .long   0
+       .long   1072161792
+       .long   0
+       .long   1072160768
+       .long   0
+       .long   1072158720
+       .long   0
+       .long   1072157696
+       .long   0
+       .long   1072155648
+       .long   0
+       .long   1072153600
+       .long   0
+       .long   1072152576
+       .long   0
+       .long   1072150528
+       .long   0
+       .long   1072148480
+       .long   0
+       .long   1072147456
+       .long   0
+       .long   1072145408
+       .long   0
+       .long   1072143360
+       .long   0
+       .long   1072142336
+       .long   0
+       .long   1072140288
+       .long   0
+       .long   1072139264
+       .long   0
+       .long   1072137216
+       .long   0
+       .long   1072135168
+       .long   0
+       .long   1072134144
+       .long   0
+       .long   1072132096
+       .long   0
+       .long   1072131072
+       .long   0
+       .long   1072129024
+       .long   0
+       .long   1072128000
+       .long   0
+       .long   1072125952
+       .long   0
+       .long   1072124928
+       .long   0
+       .long   1072122880
+       .long   0
+       .long   1072120832
+       .long   0
+       .long   1072119808
+       .long   0
+       .long   1072117760
+       .long   0
+       .long   1072116736
+       .long   0
+       .long   1072114688
+       .long   0
+       .long   1072113664
+       .long   0
+       .long   1072111616
+       .long   0
+       .long   1072110592
+       .long   0
+       .long   1072108544
+       .long   0
+       .long   1072107520
+       .long   0
+       .long   1072105472
+       .long   0
+       .long   1072104448
+       .long   0
+       .long   1072102400
+       .long   0
+       .long   1072101376
+       .long   0
+       .long   1072099328
+       .long   0
+       .long   1072098304
+       .long   0
+       .long   1072096256
+       .long   0
+       .long   1072095232
+       .long   0
+       .long   1072094208
+       .long   0
+       .long   1072092160
+       .long   0
+       .long   1072091136
+       .long   0
+       .long   1072089088
+       .long   0
+       .long   1072088064
+       .long   0
+       .long   1072086016
+       .long   0
+       .long   1072084992
+       .long   0
+       .long   1072082944
+       .long   0
+       .long   1072081920
+       .long   0
+       .long   1072080896
+       .long   0
+       .long   1072078848
+       .long   0
+       .long   1072075776
+       .long   0
+       .long   1072073728
+       .long   0
+       .long   1072070656
+       .long   0
+       .long   1072067584
+       .long   0
+       .long   1072064512
+       .long   0
+       .long   1072061440
+       .long   0
+       .long   1072059392
+       .long   0
+       .long   1072056320
+       .long   0
+       .long   1072053248
+       .long   0
+       .long   1072051200
+       .long   0
+       .long   1072048128
+       .long   0
+       .long   1072045056
+       .long   0
+       .long   1072043008
+       .long   0
+       .long   1072039936
+       .long   0
+       .long   1072037888
+       .long   0
+       .long   1072034816
+       .long   0
+       .long   1072031744
+       .long   0
+       .long   1072029696
+       .long   0
+       .long   1072026624
+       .long   0
+       .long   1072024576
+       .long   0
+       .long   1072021504
+       .long   0
+       .long   1072019456
+       .long   0
+       .long   1072016384
+       .long   0
+       .long   1072014336
+       .long   0
+       .long   1072011264
+       .long   0
+       .long   1072009216
+       .long   0
+       .long   1072006144
+       .long   0
+       .long   1072004096
+       .long   0
+       .long   1072002048
+       .long   0
+       .long   1071998976
+       .long   0
+       .long   1071996928
+       .long   0
+       .long   1071993856
+       .long   0
+       .long   1071991808
+       .long   0
+       .long   1071989760
+       .long   0
+       .long   1071986688
+       .long   0
+       .long   1071984640
+       .long   0
+       .long   1071982592
+       .long   0
+       .long   1071979520
+       .long   0
+       .long   1071977472
+       .long   0
+       .long   1071975424
+       .long   0
+       .long   1071972352
+       .long   0
+       .long   1071970304
+       .long   0
+       .long   1071968256
+       .long   0
+       .long   1071966208
+       .long   0
+       .long   1071964160
+       .long   0
+       .long   1071961088
+       .long   0
+       .long   1071959040
+       .long   0
+       .long   1071956992
+       .long   0
+       .long   1071954944
+       .long   0
+       .long   1071952896
+       .long   0
+       .long   1071949824
+       .long   0
+       .long   1071947776
+       .long   0
+       .long   1071945728
+       .long   0
+       .long   1071943680
+       .long   0
+       .long   1071941632
+       .long   0
+       .long   1071939584
+       .long   0
+       .long   1071937536
+       .long   0
+       .long   1071935488
+       .long   0
+       .long   1071933440
+       .long   0
+       .long   1071930368
+       .long   0
+       .long   1071928320
+       .long   0
+       .long   1071926272
+       .long   0
+       .long   1071924224
+       .long   0
+       .long   1071922176
+       .long   0
+       .long   1071920128
+       .long   0
+       .long   1071918080
+       .long   0
+       .long   1071916032
+       .long   0
+       .long   1071913984
+       .long   0
+       .long   1071911936
+       .long   0
+       .long   1071909888
+       .long   0
+       .long   1071907840
+       .long   0
+       .long   1071905792
+       .long   0
+       .long   1071903744
+       .long   0
+       .long   1071901696
+       .long   0
+       .long   1071900672
+       .long   0
+       .long   1071898624
+       .long   0
+       .long   1071896576
+       .long   0
+       .long   1071894528
+       .long   0
+       .long   1071892480
+       .long   0
+       .long   1071890432
+       .long   0
+       .long   1071888384
+       .long   0
+       .long   1071886336
+       .long   0
+       .long   1071884288
+       .long   0
+       .long   1071883264
+       .long   0
+       .long   1071881216
+       .long   0
+       .long   1071879168
+       .long   0
+       .long   1071877120
+       .long   0
+       .long   1071875072
+       .long   0
+       .long   1071873024
+       .long   0
+       .long   1071872000
+       .long   0
+       .long   1071869952
+       .long   0
+       .long   1071867904
+       .long   0
+       .long   1071865856
+       .long   0
+       .long   1071864832
+       .long   0
+       .long   1071862784
+       .long   0
+       .long   1071860736
+       .long   0
+       .long   1071858688
+       .long   0
+       .long   1071856640
+       .long   0
+       .long   1071855616
+       .long   0
+       .long   1071853568
+       .long   0
+       .long   1071851520
+       .long   0
+       .long   1071850496
+       .long   0
+       .long   1071848448
+       .long   0
+       .long   1071846400
+       .long   0
+       .long   1071844352
+       .long   0
+       .long   1071843328
+       .long   0
+       .long   1071841280
+       .long   0
+       .long   1071839232
+       .long   0
+       .long   1071838208
+       .long   0
+       .long   1071836160
+       .long   0
+       .long   1071834112
+       .long   0
+       .long   1071833088
+       .long   0
+       .long   1071831040
+       .long   0
+       .long   1071830016
+       .long   0
+       .long   1071827968
+       .long   0
+       .long   1071825920
+       .long   0
+       .long   1071824896
+       .long   0
+       .long   1071822848
+       .long   0
+       .long   1071821824
+       .long   0
+       .long   1071819776
+       .long   0
+       .long   1071817728
+       .long   0
+       .long   1071816704
+       .long   0
+       .long   1071814656
+       .long   0
+       .long   1071813632
+       .long   0
+       .long   1071811584
+       .long   0
+       .long   1071810560
+       .long   0
+       .long   1071808512
+       .long   0
+       .long   1071806464
+       .long   0
+       .long   1071805440
+       .long   0
+       .long   1071803392
+       .long   0
+       .long   1071802368
+       .long   0
+       .long   1071800320
+       .long   0
+       .long   1071799296
+       .long   0
+       .long   1071797248
+       .long   0
+       .long   1071796224
+       .long   0
+       .long   1071794176
+       .long   0
+       .long   1071793152
+       .long   0
+       .long   1071791104
+       .long   0
+       .long   1071790080
+       .long   0
+       .long   1071788032
+       .long   0
+       .long   1071787008
+       .long   0
+       .long   1071784960
+       .long   0
+       .long   1071783936
+       .long   0
+       .long   1071782912
+       .long   0
+       .long   1071780864
+       .long   0
+       .long   1071779840
+       .long   0
+       .long   1071777792
+       .long   0
+       .long   1071776768
+       .long   0
+       .long   1071774720
+       .long   0
+       .long   1071773696
+       .long   0
+       .long   1071772672
+       .long   0
+       .long   1071770624
+       .long   0
+       .long   1071769600
+       .long   0
+       .long   1071767552
+       .long   0
+       .long   1071766528
+       .long   0
+       .long   1071765504
+       .long   0
+       .long   1071763456
+       .long   0
+       .long   1071762432
+       .long   0
+       .long   1071760384
+       .long   0
+       .long   1071759360
+       .long   0
+       .long   1071758336
+       .long   0
+       .long   1071756288
+       .long   0
+       .long   1071755264
+       .long   0
+       .long   1071754240
+       .long   0
+       .long   1071752192
+       .long   0
+       .long   1071751168
+       .long   0
+       .long   1071750144
+       .long   0
+       .long   1071748096
+       .long   0
+       .long   1071747072
+       .long   0
+       .long   1071746048
+       .long   0
+       .long   1071744000
+       .long   0
+       .long   1071742976
+       .long   0
+       .long   1071741952
+       .long   0
+       .long   1071739904
+       .long   0
+       .long   1071738880
+       .long   0
+       .long   1071737856
+       .long   0
+       .long   1071736832
+       .long   0
+       .long   1071734784
+       .long   0
+       .long   1071733760
+       .long   0
+       .long   1071732736
+       .long   0
+       .long   1071730688
+       .long   0
+       .long   1071729664
+       .long   0
+       .long   1071728640
+       .long   0
+       .long   1071727616
+       .long   0
+       .long   1071725568
+       .long   0
+       .long   1071724544
+       .long   0
+       .long   1071723520
+       .long   0
+       .long   1071722496
+       .long   0
+       .long   1071720448
+       .long   0
+       .long   1071719424
+       .long   0
+       .long   1071718400
+       .long   0
+       .long   1071717376
+       .long   0
+       .long   1071715328
+       .long   0
+       .long   1071714304
+       .long   0
+       .long   1071713280
+       .long   0
+       .long   1071712256
+       .long   0
+       .long   1071711232
+       .long   0
+       .long   1071709184
+       .long   0
+       .long   1071708160
+       .long   0
+       .long   1071707136
+       .long   0
+       .long   1071706112
+       .long   0
+       .long   1071705088
+       .long   0
+       .long   1071704064
+       .long   0
+       .long   1071702016
+       .long   0
+       .long   1071700992
+       .long   0
+       .long   1071699968
+       .long   0
+       .long   1071698944
+       .long   0
+       .long   1071697920
+       .long   0
+       .long   1071696896
+       .long   0
+       .long   1071694848
+       .long   0
+       .long   1071693824
+       .long   0
+       .long   1071692800
+       .long   0
+       .long   1071691776
+       .long   0
+       .long   1071690752
+       .long   0
+       .long   1071689728
+       .long   0
+       .long   1071688704
+       .long   0
+       .long   1071686656
+       .long   0
+       .long   1071685632
+       .long   0
+       .long   1071684608
+       .long   0
+       .long   1071683584
+       .long   0
+       .long   1071682560
+       .long   0
+       .long   1071681536
+       .long   0
+       .long   1071680512
+       .long   0
+       .long   1071679488
+       .long   0
+       .long   1071677440
+       .long   0
+       .long   1071676416
+       .long   0
+       .long   1071675392
+       .long   0
+       .long   1071674368
+       .long   0
+       .long   1071673344
+       .long   0
+       .long   1071672320
+       .long   0
+       .long   1071671296
+       .long   0
+       .long   1071670272
+       .long   0
+       .long   1071669248
+       .long   0
+       .long   1071668224
+       .long   0
+       .long   1071667200
+       .long   0
+       .long   1071666176
+       .long   0
+       .long   1071665152
+       .long   0
+       .long   1071663104
+       .long   0
+       .long   1071662080
+       .long   0
+       .long   1071661056
+       .long   0
+       .long   1071660032
+       .long   0
+       .long   1071659008
+       .long   0
+       .long   1071657984
+       .long   0
+       .long   1071656960
+       .long   0
+       .long   1071655936
+       .long   0
+       .long   1071654912
+       .long   0
+       .long   1071653888
+       .long   0
+       .long   1071652864
+       .long   0
+       .long   1071651840
+       .long   0
+       .long   1071650816
+       .long   0
+       .long   1071649792
+       .long   0
+       .long   1071648768
+       .long   0
+       .long   1071647744
+       .long   0
+       .long   1071646720
+       .long   0
+       .long   1071645696
+       .long   0
+       .long   1071644672
+       .long   0
+       .long   1101004800
+       .long   1073741824
+       .long   1095761920
+       .long   256
+       .long   1118830592
+       .long   0
+       .long   1017118720
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   1413754136
+       .long   1074340347
+       .long   856972295
+       .long   1017226790
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1071644672
+       .long   0
+       .long   0
+       .long   1476395008
+       .long   1069897045
+       .long   1768958041
+       .long   3189069141
+       .long   805306368
+       .long   1068708659
+       .long   3580333578
+       .long   1040816593
+       .long   3067382784
+       .long   1067899757
+       .long   3397590151
+       .long   1067392113
+       .long   2939529726
+       .long   1066854585
+       .long   1423429166
+       .long   1066517752
+       .long   1775218934
+       .long   1066178574
+       .long   1185392460
+       .long   1065859647
+       .long   289998670
+       .long   1065577550
+       .long   3179807072
+       .long   1065648121
+       .long   3781007284
+       .long   1061576176
+       .long   2482106687
+       .long   1067019199
+       .long   763519713
+       .long   3214591591
+       .long   3695107454
+       .long   1067530646
+       .long   0
+       .long   1073741824
+       .long   1124791109
+       .long   1006764147
+       .long   1476395008
+       .long   1069897045
+       .long   1953913876
+       .long   3189069141
+       .long   805306368
+       .long   1067660083
+       .long   165110192
+       .long   1039768033
+       .long   3067304082
+       .long   1065802605
+       .long   3404727379
+       .long   1064246385
+       .long   2737480376
+       .long   1062660281
+       .long   933797922
+       .long   1061274873
+       .long   1475716730
+       .long   1059887095
+       .long   1511619763
+       .long   1058519827
+       .long   556024211
+       .long   1057187555
+       .long   3482101045
+       .long   1056217350
+       .long   1174622859
+       .long   1050762633
+       .long   899668651
+       .long   1055506366
+       .long   1081094694
+       .long   3202035365
+       .long   2559814773
+       .long   1053906576
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   3218341888
+       .long   0
+       .long   1070694400
+       .long   0
+       .long   3218046976
+       .long   0
+       .long   1070391296
+       .long   0
+       .long   3217739776
+       .type   _vmldACosHATab,@object
+       .size   _vmldACosHATab,4520
+       .space 88, 0x00         
+       .align 16
+.L_2il0floatpacket.199:
+       .long   0x00000000,0x80000000,0x00000000,0x00000000
+       .type   .L_2il0floatpacket.199,@object
+       .size   .L_2il0floatpacket.199,16
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_acosh_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_acosh_d_la.s
new file mode 100644 (file)
index 0000000..bbcd5e5
--- /dev/null
@@ -0,0 +1,891 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *
+ *  *   Compute log(x+sqrt(x*x-1)) using RSQRT14/RSQRT28 for starting the
+ *  *   square root approximation, and small table lookups for log (mapping to
+ *  *   AVX3 permute instructions).
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_acosh8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_acosh8
+
+__svml_acosh8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   256+__svml_dacosh_data_internal_avx512(%rip), %zmm5
+
+/* polynomial computation for small inputs */
+        vmovups   576+__svml_dacosh_data_internal_avx512(%rip), %zmm13
+        vmovups   640+__svml_dacosh_data_internal_avx512(%rip), %zmm14
+
+/*
+ * sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s
+ * poly_s = c1+c2*Eh+c3*Eh^2
+ */
+        vmovups   704+__svml_dacosh_data_internal_avx512(%rip), %zmm1
+        vmovups   832+__svml_dacosh_data_internal_avx512(%rip), %zmm2
+        vmovups   896+__svml_dacosh_data_internal_avx512(%rip), %zmm6
+
+/* very large inputs ? */
+        vmovups   448+__svml_dacosh_data_internal_avx512(%rip), %zmm15
+
+/* out of range inputs? */
+        vmovups   512+__svml_dacosh_data_internal_avx512(%rip), %zmm3
+
+/* not a very small input ? */
+        vmovups   384+__svml_dacosh_data_internal_avx512(%rip), %zmm10
+        vmovaps   %zmm0, %zmm12
+
+/* x^2 - 1 */
+        vmovaps   %zmm5, %zmm11
+        vfmsub231pd {rn-sae}, %zmm12, %zmm12, %zmm11
+        vcmppd    $21, {sae}, %zmm15, %zmm12, %k2
+        vcmppd    $22, {sae}, %zmm3, %zmm12, %k0
+        vcmppd    $18, {sae}, %zmm5, %zmm12, %k1
+        vrsqrt14pd %zmm11, %zmm4
+        vcmppd    $21, {sae}, %zmm10, %zmm11, %k3
+        vfmadd231pd {rn-sae}, %zmm11, %zmm13, %zmm14
+        vmovups   768+__svml_dacosh_data_internal_avx512(%rip), %zmm13
+
+/* Sh ~sqrt(-1+x^2) */
+        vmulpd    {rn-sae}, %zmm4, %zmm11, %zmm9
+        vmulpd    {rn-sae}, %zmm11, %zmm14, %zmm8
+
+/* Sh+x */
+        vaddpd    {rn-sae}, %zmm12, %zmm9, %zmm15
+        kmovw     %k0, %edx
+        kmovw     %k1, %eax
+
+/* Shh */
+        vsubpd    {rn-sae}, %zmm12, %zmm15, %zmm14
+
+/* (Yh*R0)_low */
+        vmovaps   %zmm11, %zmm0
+        orl       %eax, %edx
+
+/* rel. error term: Eh=1-Sh*R0 */
+        vmovaps   %zmm5, %zmm7
+        vfmsub213pd {rn-sae}, %zmm9, %zmm4, %zmm0
+        vfnmadd231pd {rn-sae}, %zmm9, %zmm4, %zmm7
+
+/* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */
+        vfnmadd231pd {rn-sae}, %zmm0, %zmm4, %zmm7
+
+/* Shl */
+        vsubpd    {rn-sae}, %zmm14, %zmm9, %zmm4
+        vmovups   1472+__svml_dacosh_data_internal_avx512(%rip), %zmm14
+        vfmadd231pd {rn-sae}, %zmm7, %zmm1, %zmm13
+        vfmadd213pd {rn-sae}, %zmm2, %zmm7, %zmm13
+        vfmadd213pd {rn-sae}, %zmm6, %zmm7, %zmm13
+
+/* Sh*Eh */
+        vmulpd    {rn-sae}, %zmm7, %zmm9, %zmm7
+
+/* Sl + Sh*Eh*poly_s */
+        vfmadd213pd {rn-sae}, %zmm0, %zmm13, %zmm7
+
+/* polynomials */
+        vmovups   1344+__svml_dacosh_data_internal_avx512(%rip), %zmm13
+
+/* polynomial computation for small inputs */
+        vaddpd    {rn-sae}, %zmm7, %zmm9, %zmm0
+
+/* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */
+        vaddpd    {rn-sae}, %zmm7, %zmm15, %zmm6
+        vfmadd231pd {rn-sae}, %zmm0, %zmm8, %zmm0
+
+/* fixup for very large inputs */
+        vmovups   1216+__svml_dacosh_data_internal_avx512(%rip), %zmm8
+
+/* Sl_high */
+        vsubpd    {rn-sae}, %zmm15, %zmm6, %zmm9
+        vmovups   1536+__svml_dacosh_data_internal_avx512(%rip), %zmm15
+        vmulpd    {rn-sae}, %zmm8, %zmm12, %zmm6{%k2}
+
+/* Sl_l */
+        vsubpd    {rn-sae}, %zmm9, %zmm7, %zmm3
+        vrcp14pd  %zmm6, %zmm1
+
+/* Xin_low */
+        vaddpd    {rn-sae}, %zmm4, %zmm3, %zmm7
+
+/* Table lookups */
+        vmovups   __svml_dacosh_data_internal_avx512(%rip), %zmm3
+
+/* round reciprocal to 1+4b mantissas */
+        vpaddq    1088+__svml_dacosh_data_internal_avx512(%rip), %zmm1, %zmm2
+
+/* fixup for very large inputs */
+        vxorpd    %zmm7, %zmm7, %zmm7{%k2}
+        vmovups   1408+__svml_dacosh_data_internal_avx512(%rip), %zmm1
+        vandpd    1152+__svml_dacosh_data_internal_avx512(%rip), %zmm2, %zmm8
+        vmovups   128+__svml_dacosh_data_internal_avx512(%rip), %zmm2
+
+/* Prepare table index */
+        vpsrlq    $48, %zmm8, %zmm9
+
+/* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */
+        vfmsub231pd {rn-sae}, %zmm8, %zmm6, %zmm5
+
+/* exponents */
+        vgetexppd {sae}, %zmm8, %zmm4
+        vmovups   1280+__svml_dacosh_data_internal_avx512(%rip), %zmm6
+        vpermt2pd 64+__svml_dacosh_data_internal_avx512(%rip), %zmm9, %zmm3
+        vpermt2pd 192+__svml_dacosh_data_internal_avx512(%rip), %zmm9, %zmm2
+        vsubpd    {rn-sae}, %zmm6, %zmm4, %zmm4{%k2}
+        vfmadd231pd {rn-sae}, %zmm8, %zmm7, %zmm5
+        vmovups   1600+__svml_dacosh_data_internal_avx512(%rip), %zmm6
+        vmovups   1664+__svml_dacosh_data_internal_avx512(%rip), %zmm7
+
+/* -K*L2H + Th */
+        vmovups   1920+__svml_dacosh_data_internal_avx512(%rip), %zmm8
+
+/* -K*L2L + Tl */
+        vmovups   1984+__svml_dacosh_data_internal_avx512(%rip), %zmm9
+        vfmadd231pd {rn-sae}, %zmm5, %zmm13, %zmm1
+        vmovups   1792+__svml_dacosh_data_internal_avx512(%rip), %zmm13
+        vfnmadd231pd {rn-sae}, %zmm4, %zmm8, %zmm3
+        vfnmadd213pd {rn-sae}, %zmm2, %zmm9, %zmm4
+        vfmadd213pd {rn-sae}, %zmm14, %zmm5, %zmm1
+        vmovups   1728+__svml_dacosh_data_internal_avx512(%rip), %zmm2
+        vmovups   1856+__svml_dacosh_data_internal_avx512(%rip), %zmm14
+        vfmadd213pd {rn-sae}, %zmm15, %zmm5, %zmm1
+
+/* R^2 */
+        vmulpd    {rn-sae}, %zmm5, %zmm5, %zmm15
+        vfmadd213pd {rn-sae}, %zmm6, %zmm5, %zmm1
+        vfmadd213pd {rn-sae}, %zmm7, %zmm5, %zmm1
+        vfmadd213pd {rn-sae}, %zmm2, %zmm5, %zmm1
+        vfmadd213pd {rn-sae}, %zmm13, %zmm5, %zmm1
+        vfmadd213pd {rn-sae}, %zmm14, %zmm5, %zmm1
+
+/* Tl + R^2*Poly */
+        vfmadd213pd {rn-sae}, %zmm4, %zmm15, %zmm1
+
+/* R+Tl + R^2*Poly */
+        vaddpd    {rn-sae}, %zmm5, %zmm1, %zmm5
+        vaddpd    {rn-sae}, %zmm5, %zmm3, %zmm0{%k3}
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm12, 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_dacosh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_acosh8,@function
+       .size   __svml_acosh8,.-__svml_acosh8
+..LN__svml_acosh8.0:
+
+.L_2__routine_start___svml_dacosh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dacosh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        movzwl    6(%rdi), %eax
+        andl      $32752, %eax
+        movsd     (%rdi), %xmm0
+        cmpl      $32752, %eax
+        je        .LBL_2_9
+
+.LBL_2_2:
+
+        movsd     %xmm0, -8(%rsp)
+
+
+        cmpl      $0, -8(%rsp)
+        jne       .LBL_2_8
+
+
+        cmpl      $1072693248, -4(%rsp)
+        je        .LBL_2_7
+
+
+        cmpl      $2146435072, -4(%rsp)
+        jne       .LBL_2_8
+
+
+        movsd     %xmm0, (%rsi)
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_7:
+
+        movq      8+__dacosh_la_CoutTab(%rip), %rax
+        movq      %rax, (%rsi)
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_8:
+
+        movsd     16+__dacosh_la_CoutTab(%rip), %xmm0
+        movl      $1, %eax
+        mulsd     8+__dacosh_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        testl     $1048575, 4(%rdi)
+        jne       .LBL_2_12
+
+
+        cmpl      $0, (%rdi)
+        je        .LBL_2_2
+
+.LBL_2_12:
+
+        mulsd     %xmm0, %xmm0
+        xorl      %eax, %eax
+        movsd     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dacosh_cout_rare_internal,@function
+       .size   __svml_dacosh_cout_rare_internal,.-__svml_dacosh_cout_rare_internal
+..LN__svml_dacosh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dacosh_data_internal_avx512:
+       .long   0
+       .long   0
+       .long   3222405120
+       .long   3215919664
+       .long   1848311808
+       .long   3216910087
+       .long   1890025472
+       .long   3217424176
+       .long   3348791296
+       .long   3217854455
+       .long   2880159744
+       .long   3218171740
+       .long   3256631296
+       .long   3218366859
+       .long   4139499520
+       .long   3218553303
+       .long   3971973120
+       .long   3218731811
+       .long   3348791296
+       .long   3218903031
+       .long   1605304320
+       .long   3219067535
+       .long   3827638272
+       .long   3219177074
+       .long   1584414720
+       .long   3219253343
+       .long   860823552
+       .long   3219326935
+       .long   3896934400
+       .long   3219398031
+       .long   643547136
+       .long   3219466797
+       .long   0
+       .long   0
+       .long   3496399314
+       .long   1028893491
+       .long   720371772
+       .long   1026176044
+       .long   1944193543
+       .long   3175338952
+       .long   634920691
+       .long   3175752108
+       .long   1664625295
+       .long   1029304828
+       .long   192624563
+       .long   3177103997
+       .long   3796653051
+       .long   3176138396
+       .long   3062724207
+       .long   3176680434
+       .long   634920691
+       .long   3176800684
+       .long   1913570380
+       .long   3174806221
+       .long   825194088
+       .long   3176465773
+       .long   2335489660
+       .long   3172599741
+       .long   2497625109
+       .long   1029604288
+       .long   914782743
+       .long   1029350199
+       .long   3743595607
+       .long   3175525305
+       .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   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   0
+       .long   1055916032
+       .long   0
+       .long   1055916032
+       .long   0
+       .long   1055916032
+       .long   0
+       .long   1055916032
+       .long   0
+       .long   1055916032
+       .long   0
+       .long   1055916032
+       .long   0
+       .long   1055916032
+       .long   0
+       .long   1055916032
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .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   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .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   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .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   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .type   __svml_dacosh_data_internal_avx512,@object
+       .size   __svml_dacosh_data_internal_avx512,2048
+       .align 8
+__dacosh_la_CoutTab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   2146435072
+       .long   0
+       .long   4293918720
+       .type   __dacosh_la_CoutTab,@object
+       .size   __dacosh_la_CoutTab,32
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_acosh_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_acosh_s_la.s
new file mode 100644 (file)
index 0000000..73c58bd
--- /dev/null
@@ -0,0 +1,685 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *
+ *  *   Compute log(x+sqrt(x*x-1)) using RSQRT14/RSQRT28 for starting the
+ *  *   square root approximation, and small table lookups for log (mapping to
+ *  *   AVX3 permute instructions).
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_acoshf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_acoshf16
+
+__svml_acoshf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   256+__svml_sacosh_data_internal_avx512(%rip), %zmm1
+
+/*
+ * sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s
+ * poly_s = c1+c2*Eh
+ */
+        vmovups   640+__svml_sacosh_data_internal_avx512(%rip), %zmm13
+        vmovups   704+__svml_sacosh_data_internal_avx512(%rip), %zmm15
+
+/* polynomial computation for small inputs */
+        vmovups   576+__svml_sacosh_data_internal_avx512(%rip), %zmm9
+
+/* very large inputs ? */
+        vmovups   448+__svml_sacosh_data_internal_avx512(%rip), %zmm10
+
+/* out of range inputs? */
+        vmovups   512+__svml_sacosh_data_internal_avx512(%rip), %zmm11
+
+/* not a very small input ? */
+        vmovups   384+__svml_sacosh_data_internal_avx512(%rip), %zmm6
+        vmovaps   %zmm0, %zmm8
+
+/* x^2 - 1 */
+        vmovaps   %zmm1, %zmm7
+        vfmsub231ps {rn-sae}, %zmm8, %zmm8, %zmm7
+        vcmpps    $21, {sae}, %zmm10, %zmm8, %k2
+        vcmpps    $22, {sae}, %zmm11, %zmm8, %k0
+        vcmpps    $18, {sae}, %zmm1, %zmm8, %k1
+        vrsqrt14ps %zmm7, %zmm12
+        vcmpps    $21, {sae}, %zmm6, %zmm7, %k3
+        vmulps    {rn-sae}, %zmm9, %zmm7, %zmm4
+
+/* Sh ~sqrt(-1+x^2) */
+        vmulps    {rn-sae}, %zmm12, %zmm7, %zmm5
+        kmovw     %k0, %edx
+        kmovw     %k1, %eax
+
+/* Sh+x */
+        vaddps    {rn-sae}, %zmm8, %zmm5, %zmm9
+
+/* (Yh*R0)_low */
+        vmovaps   %zmm7, %zmm0
+        orl       %eax, %edx
+
+/* rel. error term: Eh=1-Sh*R0 */
+        vmovaps   %zmm1, %zmm14
+        vfmsub213ps {rn-sae}, %zmm5, %zmm12, %zmm0
+        vfnmadd231ps {rn-sae}, %zmm5, %zmm12, %zmm14
+
+/* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */
+        vfnmadd231ps {rn-sae}, %zmm0, %zmm12, %zmm14
+
+/* Sh*Eh */
+        vmulps    {rn-sae}, %zmm14, %zmm5, %zmm3
+        vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm15
+
+/* Sl + Sh*Eh*poly_s */
+        vfmadd213ps {rn-sae}, %zmm0, %zmm15, %zmm3
+
+/* Shh */
+        vsubps    {rn-sae}, %zmm8, %zmm9, %zmm15
+
+/* polynomial computation for small inputs */
+        vaddps    {rn-sae}, %zmm3, %zmm5, %zmm0
+
+/* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */
+        vaddps    {rn-sae}, %zmm3, %zmm9, %zmm2
+
+/* Shl */
+        vsubps    {rn-sae}, %zmm15, %zmm5, %zmm10
+        vfmadd231ps {rn-sae}, %zmm0, %zmm4, %zmm0
+
+/* fixup for very large inputs */
+        vmovups   896+__svml_sacosh_data_internal_avx512(%rip), %zmm4
+
+/* Sl_high */
+        vsubps    {rn-sae}, %zmm9, %zmm2, %zmm5
+
+/* polynomial */
+        vmovups   1024+__svml_sacosh_data_internal_avx512(%rip), %zmm9
+        vmulps    {rn-sae}, %zmm4, %zmm8, %zmm2{%k2}
+
+/* -K*L2L + Tl */
+        vmovups   1280+__svml_sacosh_data_internal_avx512(%rip), %zmm4
+
+/* Sl_l */
+        vsubps    {rn-sae}, %zmm5, %zmm3, %zmm3
+        vrcp14ps  %zmm2, %zmm11
+        vmovups   128+__svml_sacosh_data_internal_avx512(%rip), %zmm5
+
+/* Xin_low */
+        vaddps    {rn-sae}, %zmm10, %zmm3, %zmm13
+
+/* round reciprocal to 1+4b mantissas */
+        vpaddd    768+__svml_sacosh_data_internal_avx512(%rip), %zmm11, %zmm12
+        vmovups   1152+__svml_sacosh_data_internal_avx512(%rip), %zmm10
+        vandps    832+__svml_sacosh_data_internal_avx512(%rip), %zmm12, %zmm14
+
+/* fixup for very large inputs */
+        vxorps    %zmm13, %zmm13, %zmm13{%k2}
+
+/* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */
+        vfmsub231ps {rn-sae}, %zmm14, %zmm2, %zmm1
+
+/* exponents */
+        vgetexpps {sae}, %zmm14, %zmm12
+        vmovups   960+__svml_sacosh_data_internal_avx512(%rip), %zmm2
+
+/* Prepare table index */
+        vpsrld    $18, %zmm14, %zmm3
+        vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm1
+        vmovups   1088+__svml_sacosh_data_internal_avx512(%rip), %zmm13
+
+/* Table lookups */
+        vmovups   __svml_sacosh_data_internal_avx512(%rip), %zmm14
+        vsubps    {rn-sae}, %zmm2, %zmm12, %zmm12{%k2}
+        vpermt2ps 192+__svml_sacosh_data_internal_avx512(%rip), %zmm3, %zmm5
+        vpermt2ps 64+__svml_sacosh_data_internal_avx512(%rip), %zmm3, %zmm14
+
+/* R^2 */
+        vmulps    {rn-sae}, %zmm1, %zmm1, %zmm11
+
+/* -K*L2H + Th */
+        vmovups   1216+__svml_sacosh_data_internal_avx512(%rip), %zmm2
+        vfmadd231ps {rn-sae}, %zmm1, %zmm9, %zmm13
+        vfnmadd231ps {rn-sae}, %zmm12, %zmm2, %zmm14
+        vfnmadd213ps {rn-sae}, %zmm5, %zmm4, %zmm12
+        vfmadd213ps {rn-sae}, %zmm10, %zmm1, %zmm13
+
+/* Tl + R^2*Poly */
+        vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm13
+
+/* R+Tl + R^2*Poly */
+        vaddps    {rn-sae}, %zmm1, %zmm13, %zmm1
+        vaddps    {rn-sae}, %zmm1, %zmm14, %zmm0{%k3}
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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      $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_sacosh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_acoshf16,@function
+       .size   __svml_acoshf16,.-__svml_acoshf16
+..LN__svml_acoshf16.0:
+
+.L_2__routine_start___svml_sacosh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_sacosh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        movl      (%rdi), %eax
+        movl      %eax, -8(%rsp)
+        andl      $2139095040, %eax
+        cmpl      $2139095040, %eax
+        je        .LBL_2_8
+
+.LBL_2_2:
+
+        movl      -8(%rsp), %eax
+        cmpl      $1065353216, %eax
+        je        .LBL_2_7
+
+
+        cmpl      $2139095040, %eax
+        jne       .LBL_2_5
+
+
+        movl      8+__sacosh_la__iml_sacosh_cout_tab(%rip), %eax
+        movl      %eax, (%rsi)
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_5:
+
+        movss     8+__sacosh_la__iml_sacosh_cout_tab(%rip), %xmm0
+        movl      $1, %eax
+        mulss     4+__sacosh_la__iml_sacosh_cout_tab(%rip), %xmm0
+        movss     %xmm0, (%rsi)
+
+
+        ret
+
+.LBL_2_7:
+
+        movl      4+__sacosh_la__iml_sacosh_cout_tab(%rip), %eax
+        movl      %eax, (%rsi)
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_8:
+
+        testl     $8388607, -8(%rsp)
+        je        .LBL_2_2
+
+
+        movss     -8(%rsp), %xmm0
+        xorl      %eax, %eax
+        mulss     -8(%rsp), %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sacosh_cout_rare_internal,@function
+       .size   __svml_sacosh_cout_rare_internal,.-__svml_sacosh_cout_rare_internal
+..LN__svml_sacosh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_sacosh_data_internal_avx512:
+       .long   0
+       .long   3170631680
+       .long   3178790912
+       .long   3182919680
+       .long   3186704384
+       .long   3189022720
+       .long   3190816768
+       .long   3192561664
+       .long   3194257408
+       .long   3195912192
+       .long   3196796928
+       .long   3197583360
+       .long   3198357504
+       .long   3199111168
+       .long   3199848448
+       .long   3200569344
+       .long   3201277952
+       .long   3201966080
+       .long   3202646016
+       .long   3203309568
+       .long   3203960832
+       .long   3204524032
+       .long   3204837376
+       .long   3205146624
+       .long   3205447680
+       .long   3205744640
+       .long   3206037504
+       .long   3206324224
+       .long   3206606848
+       .long   3206883328
+       .long   3207155712
+       .long   3207424000
+       .long   2147483648
+       .long   3072770974
+       .long   943319038
+       .long   3075640037
+       .long   930648533
+       .long   3089726480
+       .long   936349528
+       .long   944943494
+       .long   897812054
+       .long   3087808175
+       .long   941839444
+       .long   3093478113
+       .long   937982919
+       .long   931430736
+       .long   924853521
+       .long   3075349253
+       .long   945558336
+       .long   3094838221
+       .long   906200662
+       .long   3084126596
+       .long   3088015279
+       .long   3089451852
+       .long   3093678154
+       .long   938521645
+       .long   3091119329
+       .long   3090949395
+       .long   933442244
+       .long   930702671
+       .long   945827699
+       .long   913590776
+       .long   3082066287
+       .long   3087046763
+       .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   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .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   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .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
+       .type   __svml_sacosh_data_internal_avx512,@object
+       .size   __svml_sacosh_data_internal_avx512,1344
+       .align 4
+__sacosh_la__iml_sacosh_cout_tab:
+       .long   1065353216
+       .long   0
+       .long   2139095040
+       .type   __sacosh_la__iml_sacosh_cout_tab,@object
+       .size   __sacosh_la__iml_sacosh_cout_tab,12
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_asin_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_asin_d_la.s
new file mode 100644 (file)
index 0000000..1098dfc
--- /dev/null
@@ -0,0 +1,2551 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_asin8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_asin8
+
+__svml_asin8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   64+__svml_dasin_data_internal(%rip), %zmm8
+
+/* S ~ -2*sqrt(Y) */
+        vmovups   128+__svml_dasin_data_internal(%rip), %zmm10
+        vmovups   384+__svml_dasin_data_internal(%rip), %zmm14
+        vmovups   448+__svml_dasin_data_internal(%rip), %zmm15
+        vmovups   512+__svml_dasin_data_internal(%rip), %zmm2
+        vmovups   576+__svml_dasin_data_internal(%rip), %zmm1
+        vmovups   256+__svml_dasin_data_internal(%rip), %zmm9
+        vmovaps   %zmm0, %zmm6
+
+/* x = |arg| */
+        vandpd    __svml_dasin_data_internal(%rip), %zmm6, %zmm4
+
+/* Y = 0.5 - 0.5*x */
+        vmovaps   %zmm8, %zmm11
+        vfnmadd231pd {rn-sae}, %zmm4, %zmm8, %zmm11
+
+/* x^2 */
+        vmulpd    {rn-sae}, %zmm4, %zmm4, %zmm7
+        vrsqrt14pd %zmm11, %zmm12
+        vcmppd    $17, {sae}, %zmm10, %zmm11, %k1
+        vcmppd    $21, {sae}, %zmm8, %zmm4, %k2
+        vcmppd    $17, {sae}, %zmm4, %zmm9, %k0
+        vmovups   960+__svml_dasin_data_internal(%rip), %zmm10
+
+/* polynomial */
+        vmovups   704+__svml_dasin_data_internal(%rip), %zmm8
+        vmovups   832+__svml_dasin_data_internal(%rip), %zmm9
+        vminpd    {sae}, %zmm11, %zmm7, %zmm3
+        vxorpd    %zmm12, %zmm12, %zmm12{%k1}
+        vaddpd    {rn-sae}, %zmm11, %zmm11, %zmm0
+        vxorpd    %zmm6, %zmm4, %zmm5
+        vmulpd    {rn-sae}, %zmm12, %zmm12, %zmm13
+        vmulpd    {rn-sae}, %zmm12, %zmm0, %zmm7
+        vmovups   1088+__svml_dasin_data_internal(%rip), %zmm11
+        vmovups   896+__svml_dasin_data_internal(%rip), %zmm12
+        vfmsub213pd {rn-sae}, %zmm14, %zmm13, %zmm0
+        vmovups   640+__svml_dasin_data_internal(%rip), %zmm13
+        vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm12
+        vmovups   1344+__svml_dasin_data_internal(%rip), %zmm9
+        vfmadd231pd {rn-sae}, %zmm0, %zmm15, %zmm2
+        vmovups   1216+__svml_dasin_data_internal(%rip), %zmm15
+        vmulpd    {rn-sae}, %zmm0, %zmm7, %zmm14
+        vfmadd213pd {rn-sae}, %zmm1, %zmm0, %zmm2
+        vmovups   768+__svml_dasin_data_internal(%rip), %zmm1
+        kmovw     %k0, %edx
+        vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm2
+        vfmadd231pd {rn-sae}, %zmm3, %zmm8, %zmm1
+        vmovups   1280+__svml_dasin_data_internal(%rip), %zmm8
+        vmulpd    {rn-sae}, %zmm3, %zmm3, %zmm0
+        vfmsub213pd {rn-sae}, %zmm7, %zmm14, %zmm2
+        vmovups   1024+__svml_dasin_data_internal(%rip), %zmm7
+        vfmadd231pd {rn-sae}, %zmm3, %zmm15, %zmm8
+        vfmadd213pd {rn-sae}, %zmm12, %zmm0, %zmm1
+        vblendmpd %zmm2, %zmm4, %zmm2{%k2}
+        vfmadd231pd {rn-sae}, %zmm3, %zmm10, %zmm7
+        vmovups   1152+__svml_dasin_data_internal(%rip), %zmm10
+        vmovups   1472+__svml_dasin_data_internal(%rip), %zmm4
+        vfmadd231pd {rn-sae}, %zmm3, %zmm11, %zmm10
+        vmovups   1408+__svml_dasin_data_internal(%rip), %zmm11
+        vfmadd213pd {rn-sae}, %zmm10, %zmm0, %zmm7
+        vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm11
+        vmulpd    {rn-sae}, %zmm0, %zmm0, %zmm10
+        vfmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm1
+        vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm1
+        vfmadd213pd {rn-sae}, %zmm11, %zmm0, %zmm1
+        vmulpd    {rn-sae}, %zmm3, %zmm1, %zmm3
+        vfmadd213pd {rn-sae}, %zmm2, %zmm2, %zmm3
+        vaddpd    {rn-sae}, %zmm4, %zmm3, %zmm3{%k2}
+        vxorpd    %zmm5, %zmm3, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm6, 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_dasin_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_asin8,@function
+       .size   __svml_asin8,.-__svml_asin8
+..LN__svml_asin8.0:
+
+.L_2__routine_start___svml_dasin_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dasin_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    6(%rdi), %edx
+        andl      $32752, %edx
+        cmpl      $32752, %edx
+        je        .LBL_2_12
+
+
+        movq      (%rdi), %rdx
+        movq      %rdx, -32(%rsp)
+        shrq      $56, %rdx
+        movsd     4160+_vmldASinHATab(%rip), %xmm0
+        andl      $127, %edx
+        movb      %dl, -25(%rsp)
+        movsd     -32(%rsp), %xmm12
+        comisd    %xmm12, %xmm0
+        jb        .LBL_2_10
+
+
+        movsd     4168+_vmldASinHATab(%rip), %xmm1
+        comisd    %xmm12, %xmm1
+        jbe       .LBL_2_9
+
+
+        comisd    4136+_vmldASinHATab(%rip), %xmm12
+        jbe       .LBL_2_6
+
+
+        movsd     4104+_vmldASinHATab(%rip), %xmm13
+        movaps    %xmm12, %xmm5
+        mulsd     %xmm12, %xmm13
+        movaps    %xmm12, %xmm7
+        movsd     %xmm13, -48(%rsp)
+        movsd     -48(%rsp), %xmm14
+        movsd     4104+_vmldASinHATab(%rip), %xmm1
+        subsd     -32(%rsp), %xmm14
+        movsd     %xmm14, -56(%rsp)
+        movsd     -48(%rsp), %xmm8
+        movsd     -56(%rsp), %xmm15
+        subsd     %xmm15, %xmm8
+        movsd     %xmm8, -48(%rsp)
+        movsd     -48(%rsp), %xmm6
+        movsd     4296+_vmldASinHATab(%rip), %xmm8
+        subsd     %xmm6, %xmm5
+        movsd     %xmm5, -56(%rsp)
+        movaps    %xmm12, %xmm5
+        movsd     -48(%rsp), %xmm9
+        movaps    %xmm9, %xmm13
+        addsd     %xmm9, %xmm7
+        mulsd     %xmm9, %xmm13
+        movsd     -56(%rsp), %xmm11
+        movaps    %xmm13, %xmm10
+        mulsd     %xmm11, %xmm7
+        mulsd     %xmm13, %xmm1
+        addsd     %xmm7, %xmm10
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm1, -48(%rsp)
+        movsd     -48(%rsp), %xmm2
+        movsd     4104+_vmldASinHATab(%rip), %xmm1
+        subsd     %xmm13, %xmm2
+        addsd     4288+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm2, -56(%rsp)
+        movsd     -48(%rsp), %xmm3
+        movsd     -56(%rsp), %xmm0
+        addsd     4280+_vmldASinHATab(%rip), %xmm8
+        subsd     %xmm0, %xmm3
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm3, -48(%rsp)
+        movsd     -48(%rsp), %xmm4
+        addsd     4272+_vmldASinHATab(%rip), %xmm8
+        subsd     %xmm4, %xmm13
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm13, -56(%rsp)
+        movsd     -48(%rsp), %xmm6
+        mulsd     %xmm6, %xmm9
+        addsd     4264+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm6, %xmm11
+        mulsd     %xmm10, %xmm8
+        mulsd     %xmm9, %xmm1
+        addsd     4256+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm10, %xmm8
+        movaps    %xmm9, %xmm3
+        movsd     -56(%rsp), %xmm14
+        movaps    %xmm6, %xmm4
+        movsd     %xmm1, -48(%rsp)
+        addsd     %xmm14, %xmm7
+        addsd     4248+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm7, %xmm5
+        mulsd     %xmm10, %xmm8
+        addsd     %xmm5, %xmm11
+        addsd     4240+_vmldASinHATab(%rip), %xmm8
+        movsd     -48(%rsp), %xmm2
+        mulsd     %xmm10, %xmm8
+        subsd     %xmm9, %xmm2
+        addsd     %xmm11, %xmm9
+        addsd     4232+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm9, %xmm7
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm2, -56(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movsd     -56(%rsp), %xmm15
+        subsd     %xmm15, %xmm0
+        addsd     4224+_vmldASinHATab(%rip), %xmm8
+        movsd     %xmm0, -48(%rsp)
+        movsd     -48(%rsp), %xmm5
+        mulsd     %xmm10, %xmm8
+        subsd     %xmm5, %xmm3
+        movsd     %xmm3, -56(%rsp)
+        movsd     -48(%rsp), %xmm3
+        movsd     -56(%rsp), %xmm5
+        movaps    %xmm5, %xmm13
+        addsd     4216+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm3, %xmm4
+        addsd     %xmm11, %xmm13
+        mulsd     %xmm10, %xmm8
+        mulsd     %xmm13, %xmm6
+        addsd     4208+_vmldASinHATab(%rip), %xmm8
+        addsd     %xmm7, %xmm6
+        mulsd     %xmm10, %xmm8
+        movsd     4104+_vmldASinHATab(%rip), %xmm7
+        movaps    %xmm4, %xmm13
+        mulsd     %xmm4, %xmm7
+        addsd     4200+_vmldASinHATab(%rip), %xmm8
+        movsd     %xmm7, -48(%rsp)
+        movsd     -48(%rsp), %xmm1
+        movsd     4184+_vmldASinHATab(%rip), %xmm10
+        subsd     %xmm4, %xmm1
+        mulsd     %xmm9, %xmm10
+        addsd     %xmm6, %xmm4
+        movsd     %xmm1, -56(%rsp)
+        movaps    %xmm12, %xmm9
+        movsd     -48(%rsp), %xmm0
+        movsd     -56(%rsp), %xmm2
+        movsd     4176+_vmldASinHATab(%rip), %xmm1
+        subsd     %xmm2, %xmm0
+        mulsd     %xmm1, %xmm3
+        mulsd     %xmm1, %xmm11
+        mulsd     %xmm4, %xmm8
+        addsd     %xmm3, %xmm9
+        mulsd     %xmm1, %xmm5
+        addsd     %xmm11, %xmm10
+        movsd     %xmm0, -48(%rsp)
+        addsd     %xmm10, %xmm8
+        movsd     -48(%rsp), %xmm7
+        addsd     %xmm5, %xmm8
+        subsd     %xmm7, %xmm13
+        movsd     %xmm13, -56(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movsd     -56(%rsp), %xmm2
+        movsd     %xmm9, -48(%rsp)
+        addsd     %xmm2, %xmm6
+        movsd     -48(%rsp), %xmm11
+        movsd     4192+_vmldASinHATab(%rip), %xmm4
+        subsd     %xmm11, %xmm12
+        mulsd     %xmm4, %xmm0
+        mulsd     %xmm4, %xmm6
+        addsd     %xmm12, %xmm3
+        movsd     %xmm3, -56(%rsp)
+        movsd     -48(%rsp), %xmm3
+        movaps    %xmm3, %xmm12
+        movsd     -56(%rsp), %xmm7
+        addsd     %xmm0, %xmm12
+        addsd     %xmm7, %xmm8
+        movsd     %xmm12, -48(%rsp)
+        movsd     -48(%rsp), %xmm12
+        subsd     %xmm12, %xmm3
+        addsd     %xmm3, %xmm0
+        movsd     %xmm0, -56(%rsp)
+        movsd     -48(%rsp), %xmm9
+        movsd     -56(%rsp), %xmm0
+        movb      7(%rdi), %dil
+        addsd     %xmm0, %xmm8
+        andb      $-128, %dil
+        addsd     %xmm8, %xmm9
+        addsd     %xmm9, %xmm6
+        movsd     %xmm6, -40(%rsp)
+        movb      -33(%rsp), %dl
+        andb      $127, %dl
+        orb       %dil, %dl
+        movb      %dl, -33(%rsp)
+        movq      -40(%rsp), %rcx
+        movq      %rcx, (%rsi)
+        ret
+
+.LBL_2_6:
+
+        comisd    4128+_vmldASinHATab(%rip), %xmm12
+        jb        .LBL_2_8
+
+
+        addsd     %xmm0, %xmm12
+        movsd     %xmm12, -48(%rsp)
+        movsd     -48(%rsp), %xmm0
+        mulsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -40(%rsp)
+        movb      -33(%rsp), %dl
+        movb      7(%rdi), %dil
+        andb      $127, %dl
+        andb      $-128, %dil
+        orb       %dil, %dl
+        movb      %dl, -33(%rsp)
+        movq      -40(%rsp), %rcx
+        movq      %rcx, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        mulsd     %xmm12, %xmm12
+        movsd     %xmm12, -48(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movb      7(%rdi), %dil
+        andb      $-128, %dil
+        addsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -40(%rsp)
+        movb      -33(%rsp), %dl
+        andb      $127, %dl
+        orb       %dil, %dl
+        movb      %dl, -33(%rsp)
+        movq      -40(%rsp), %rcx
+        movq      %rcx, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        movaps    %xmm0, %xmm9
+        movzwl    4166+_vmldASinHATab(%rip), %r9d
+        pxor      %xmm15, %xmm15
+        andl      $-32753, %r9d
+        subsd     %xmm12, %xmm9
+        subsd     %xmm0, %xmm15
+        mulsd     %xmm9, %xmm1
+        movsd     %xmm1, -32(%rsp)
+        movzwl    -26(%rsp), %ecx
+        andl      $32752, %ecx
+        shrl      $4, %ecx
+        addl      $-1023, %ecx
+        movl      %ecx, %r8d
+        movl      %ecx, %edx
+        negl      %r8d
+        addl      $1023, %r8d
+        andl      $2047, %r8d
+        shll      $4, %r8d
+        movsd     %xmm0, -24(%rsp)
+        orl       %r8d, %r9d
+        movw      %r9w, -18(%rsp)
+        andl      $1, %edx
+        movsd     -24(%rsp), %xmm10
+        movl      %edx, %r10d
+        mulsd     %xmm10, %xmm1
+        lea       _vmldASinHATab(%rip), %r8
+        movaps    %xmm1, %xmm6
+        movsd     4112+_vmldASinHATab(%rip), %xmm7
+        addsd     %xmm1, %xmm6
+        jne       ..L54
+        movaps    %xmm1, %xmm6
+..L54:
+        mulsd     %xmm6, %xmm7
+        movaps    %xmm6, %xmm8
+        movaps    %xmm7, %xmm11
+        subl      %edx, %ecx
+        movsd     4120+_vmldASinHATab(%rip), %xmm13
+        subsd     %xmm6, %xmm11
+        addsd     %xmm1, %xmm13
+        movsd     %xmm11, -56(%rsp)
+        movsd     -56(%rsp), %xmm12
+        movsd     %xmm13, -16(%rsp)
+        subsd     %xmm12, %xmm7
+        movl      -16(%rsp), %r11d
+        movaps    %xmm7, %xmm4
+        shll      $8, %r10d
+        andl      $511, %r11d
+        addl      %r10d, %r11d
+        subsd     %xmm7, %xmm8
+        movsd     (%r8,%r11,8), %xmm3
+        addsd     %xmm8, %xmm4
+        mulsd     %xmm3, %xmm7
+        movaps    %xmm3, %xmm14
+        mulsd     %xmm3, %xmm14
+        mulsd     %xmm14, %xmm4
+        movsd     4496+_vmldASinHATab(%rip), %xmm5
+        addsd     %xmm15, %xmm4
+        mulsd     %xmm4, %xmm5
+        shrl      $1, %ecx
+        addsd     4488+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        addl      $1023, %ecx
+        andl      $2047, %ecx
+        addsd     4480+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        movzwl    4166+_vmldASinHATab(%rip), %r9d
+        shll      $4, %ecx
+        andl      $-32753, %r9d
+        movsd     %xmm0, -8(%rsp)
+        orl       %ecx, %r9d
+        movw      %r9w, -2(%rsp)
+        movsd     -8(%rsp), %xmm12
+        mulsd     %xmm12, %xmm7
+        addsd     4472+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        movsd     4104+_vmldASinHATab(%rip), %xmm1
+        mulsd     %xmm7, %xmm1
+        addsd     4464+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        movsd     %xmm1, -48(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movsd     4336+_vmldASinHATab(%rip), %xmm13
+        subsd     %xmm7, %xmm0
+        addsd     4456+_vmldASinHATab(%rip), %xmm5
+        addsd     4344+_vmldASinHATab(%rip), %xmm13
+        mulsd     %xmm4, %xmm5
+        mulsd     %xmm9, %xmm13
+        addsd     4448+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        mulsd     %xmm6, %xmm5
+        movsd     %xmm0, -56(%rsp)
+        addsd     %xmm5, %xmm8
+        movsd     4440+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        mulsd     %xmm3, %xmm8
+        addsd     4432+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm12, %xmm8
+        mulsd     %xmm9, %xmm5
+        movsd     -48(%rsp), %xmm10
+        movsd     -56(%rsp), %xmm2
+        movsd     4320+_vmldASinHATab(%rip), %xmm14
+        subsd     %xmm2, %xmm10
+        addsd     4424+_vmldASinHATab(%rip), %xmm5
+        addsd     4328+_vmldASinHATab(%rip), %xmm14
+        mulsd     %xmm9, %xmm5
+        addsd     %xmm13, %xmm14
+        addsd     4416+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm14
+        mulsd     %xmm9, %xmm5
+        movsd     %xmm10, -48(%rsp)
+        movaps    %xmm9, %xmm2
+        movsd     -48(%rsp), %xmm11
+        movsd     4104+_vmldASinHATab(%rip), %xmm3
+        subsd     %xmm11, %xmm7
+        mulsd     %xmm9, %xmm3
+        addsd     4408+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        movsd     4304+_vmldASinHATab(%rip), %xmm4
+        movsd     %xmm7, -56(%rsp)
+        movsd     -48(%rsp), %xmm6
+        movsd     -56(%rsp), %xmm7
+        movsd     %xmm3, -48(%rsp)
+        addsd     %xmm7, %xmm8
+        addsd     4400+_vmldASinHATab(%rip), %xmm5
+        addsd     4312+_vmldASinHATab(%rip), %xmm4
+        mulsd     %xmm9, %xmm5
+        addsd     %xmm14, %xmm4
+        addsd     4392+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        movsd     -48(%rsp), %xmm1
+        movsd     4104+_vmldASinHATab(%rip), %xmm7
+        subsd     %xmm9, %xmm1
+        addsd     4384+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        movsd     %xmm1, -56(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movsd     -56(%rsp), %xmm15
+        addsd     4376+_vmldASinHATab(%rip), %xmm5
+        subsd     %xmm15, %xmm0
+        mulsd     %xmm9, %xmm5
+        movsd     %xmm0, -48(%rsp)
+        movsd     4320+_vmldASinHATab(%rip), %xmm0
+        addsd     4368+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        addsd     4360+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        addsd     4352+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        mulsd     %xmm9, %xmm5
+        mulsd     %xmm9, %xmm5
+        addsd     %xmm5, %xmm4
+        mulsd     %xmm4, %xmm8
+        movsd     -48(%rsp), %xmm4
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movsd     -48(%rsp), %xmm4
+        movaps    %xmm4, %xmm13
+        mulsd     %xmm4, %xmm13
+        mulsd     %xmm4, %xmm0
+        addsd     %xmm9, %xmm4
+        mulsd     %xmm13, %xmm7
+        movsd     -56(%rsp), %xmm3
+        movsd     %xmm7, -48(%rsp)
+        movsd     -48(%rsp), %xmm10
+        mulsd     %xmm3, %xmm4
+        subsd     %xmm13, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movsd     -48(%rsp), %xmm11
+        movsd     -56(%rsp), %xmm1
+        movsd     4304+_vmldASinHATab(%rip), %xmm10
+        subsd     %xmm1, %xmm11
+        movsd     %xmm11, -48(%rsp)
+        movaps    %xmm0, %xmm1
+        movsd     -48(%rsp), %xmm12
+        movsd     4304+_vmldASinHATab(%rip), %xmm11
+        subsd     %xmm12, %xmm13
+        movsd     %xmm13, -56(%rsp)
+        movsd     -48(%rsp), %xmm7
+        mulsd     4336+_vmldASinHATab(%rip), %xmm7
+        movsd     -56(%rsp), %xmm2
+        addsd     %xmm7, %xmm1
+        addsd     %xmm2, %xmm4
+        movsd     %xmm1, -48(%rsp)
+        movsd     -48(%rsp), %xmm14
+        movsd     %xmm7, -16(%rsp)
+        subsd     %xmm14, %xmm0
+        mulsd     4336+_vmldASinHATab(%rip), %xmm4
+        addsd     %xmm0, %xmm7
+        movsd     %xmm7, -56(%rsp)
+        movsd     -48(%rsp), %xmm12
+        movsd     -56(%rsp), %xmm1
+        addsd     %xmm12, %xmm10
+        movsd     %xmm10, -48(%rsp)
+        movsd     -48(%rsp), %xmm15
+        movsd     4104+_vmldASinHATab(%rip), %xmm7
+        subsd     %xmm15, %xmm11
+        movsd     4320+_vmldASinHATab(%rip), %xmm2
+        addsd     %xmm11, %xmm12
+        mulsd     %xmm3, %xmm2
+        movsd     %xmm12, -56(%rsp)
+        movsd     -48(%rsp), %xmm15
+        mulsd     %xmm15, %xmm7
+        movsd     -56(%rsp), %xmm0
+        movsd     %xmm7, -48(%rsp)
+        movsd     -48(%rsp), %xmm10
+        movsd     4344+_vmldASinHATab(%rip), %xmm3
+        subsd     %xmm15, %xmm10
+        mulsd     %xmm9, %xmm3
+        movsd     %xmm10, -56(%rsp)
+        movsd     -48(%rsp), %xmm11
+        movsd     -56(%rsp), %xmm13
+        subsd     %xmm13, %xmm11
+        addsd     4328+_vmldASinHATab(%rip), %xmm3
+        movsd     %xmm11, -48(%rsp)
+        movsd     -48(%rsp), %xmm14
+        mulsd     %xmm9, %xmm3
+        subsd     %xmm14, %xmm15
+        movsd     %xmm15, -56(%rsp)
+        movsd     -48(%rsp), %xmm10
+        movsd     -56(%rsp), %xmm7
+        addsd     %xmm7, %xmm4
+        addsd     4312+_vmldASinHATab(%rip), %xmm3
+        addsd     %xmm2, %xmm4
+        addsd     %xmm5, %xmm3
+        addsd     %xmm1, %xmm4
+        addsd     %xmm0, %xmm4
+        movsd     4144+_vmldASinHATab(%rip), %xmm0
+        addsd     %xmm3, %xmm4
+        mulsd     %xmm6, %xmm4
+        mulsd     %xmm10, %xmm6
+        addsd     %xmm8, %xmm4
+        movaps    %xmm0, %xmm8
+        subsd     %xmm6, %xmm8
+        movsd     %xmm8, -48(%rsp)
+        movsd     -48(%rsp), %xmm9
+        subsd     %xmm9, %xmm0
+        subsd     %xmm6, %xmm0
+        movsd     %xmm0, -56(%rsp)
+        movsd     -48(%rsp), %xmm2
+        movsd     -56(%rsp), %xmm1
+        movb      7(%rdi), %dil
+        andb      $-128, %dil
+        addsd     4152+_vmldASinHATab(%rip), %xmm1
+        subsd     %xmm4, %xmm1
+        addsd     %xmm1, %xmm2
+        movsd     %xmm2, -40(%rsp)
+        movb      -33(%rsp), %dl
+        andb      $127, %dl
+        orb       %dil, %dl
+        movb      %dl, -33(%rsp)
+        movq      -40(%rsp), %rcx
+        movq      %rcx, (%rsi)
+        ret
+
+.LBL_2_10:
+
+        movl      $1, %eax
+        pxor      %xmm1, %xmm1
+        pxor      %xmm0, %xmm0
+        divsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+
+.LBL_2_11:
+
+        ret
+
+.LBL_2_12:
+
+        movsd     (%rdi), %xmm0
+        divsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        testl     $1048575, 4(%rdi)
+        jne       .LBL_2_11
+
+
+        cmpl      $0, (%rdi)
+        sete      %al
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dasin_cout_rare_internal,@function
+       .size   __svml_dasin_cout_rare_internal,.-__svml_dasin_cout_rare_internal
+..LN__svml_dasin_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dasin_data_internal:
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .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   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   805306368
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .long   0
+       .long   4294967040
+       .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   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   4227858432
+       .long   4294967295
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1073741824
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   2570790083
+       .long   3213983744
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   1869665325
+       .long   1067712512
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294966935
+       .long   3216506879
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   4294967197
+       .long   1070596095
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   3339630857
+       .long   1067480352
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   4158370029
+       .long   3213949719
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   3216784302
+       .long   1066680132
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   2513723093
+       .long   1064982579
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   721210070
+       .long   1065941212
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   3414736215
+       .long   1066167739
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   4114132270
+       .long   1066518236
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3957258973
+       .long   1066854556
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3778730174
+       .long   1067392114
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   3014936056
+       .long   1067899757
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   859300062
+       .long   1068708659
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1431655068
+       .long   1069897045
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .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   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   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   0
+       .long   4294705152
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   4131758366
+       .long   1067674714
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   3936260738
+       .long   1066197319
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   354394453
+       .long   1067472564
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   709676628
+       .long   1067895021
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   3958922090
+       .long   1068708761
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   2160605765
+       .long   1069897044
+       .long   0
+       .long   2146435072
+       .long   0
+       .long   4293918720
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3220176896
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2147483648
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .type   __svml_dasin_data_internal,@object
+       .size   __svml_dasin_data_internal,2368
+       .align 32
+_vmldASinHATab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072689152
+       .long   0
+       .long   1072685056
+       .long   0
+       .long   1072680960
+       .long   0
+       .long   1072676864
+       .long   0
+       .long   1072672768
+       .long   0
+       .long   1072668672
+       .long   0
+       .long   1072665600
+       .long   0
+       .long   1072661504
+       .long   0
+       .long   1072657408
+       .long   0
+       .long   1072653312
+       .long   0
+       .long   1072649216
+       .long   0
+       .long   1072646144
+       .long   0
+       .long   1072642048
+       .long   0
+       .long   1072637952
+       .long   0
+       .long   1072634880
+       .long   0
+       .long   1072630784
+       .long   0
+       .long   1072626688
+       .long   0
+       .long   1072623616
+       .long   0
+       .long   1072619520
+       .long   0
+       .long   1072615424
+       .long   0
+       .long   1072612352
+       .long   0
+       .long   1072608256
+       .long   0
+       .long   1072605184
+       .long   0
+       .long   1072601088
+       .long   0
+       .long   1072598016
+       .long   0
+       .long   1072593920
+       .long   0
+       .long   1072590848
+       .long   0
+       .long   1072586752
+       .long   0
+       .long   1072583680
+       .long   0
+       .long   1072580608
+       .long   0
+       .long   1072576512
+       .long   0
+       .long   1072573440
+       .long   0
+       .long   1072570368
+       .long   0
+       .long   1072566272
+       .long   0
+       .long   1072563200
+       .long   0
+       .long   1072560128
+       .long   0
+       .long   1072556032
+       .long   0
+       .long   1072552960
+       .long   0
+       .long   1072549888
+       .long   0
+       .long   1072546816
+       .long   0
+       .long   1072542720
+       .long   0
+       .long   1072539648
+       .long   0
+       .long   1072536576
+       .long   0
+       .long   1072533504
+       .long   0
+       .long   1072530432
+       .long   0
+       .long   1072527360
+       .long   0
+       .long   1072523264
+       .long   0
+       .long   1072520192
+       .long   0
+       .long   1072517120
+       .long   0
+       .long   1072514048
+       .long   0
+       .long   1072510976
+       .long   0
+       .long   1072507904
+       .long   0
+       .long   1072504832
+       .long   0
+       .long   1072501760
+       .long   0
+       .long   1072498688
+       .long   0
+       .long   1072495616
+       .long   0
+       .long   1072492544
+       .long   0
+       .long   1072489472
+       .long   0
+       .long   1072486400
+       .long   0
+       .long   1072483328
+       .long   0
+       .long   1072480256
+       .long   0
+       .long   1072478208
+       .long   0
+       .long   1072475136
+       .long   0
+       .long   1072472064
+       .long   0
+       .long   1072468992
+       .long   0
+       .long   1072465920
+       .long   0
+       .long   1072462848
+       .long   0
+       .long   1072459776
+       .long   0
+       .long   1072457728
+       .long   0
+       .long   1072454656
+       .long   0
+       .long   1072451584
+       .long   0
+       .long   1072448512
+       .long   0
+       .long   1072446464
+       .long   0
+       .long   1072443392
+       .long   0
+       .long   1072440320
+       .long   0
+       .long   1072437248
+       .long   0
+       .long   1072435200
+       .long   0
+       .long   1072432128
+       .long   0
+       .long   1072429056
+       .long   0
+       .long   1072427008
+       .long   0
+       .long   1072423936
+       .long   0
+       .long   1072420864
+       .long   0
+       .long   1072418816
+       .long   0
+       .long   1072415744
+       .long   0
+       .long   1072412672
+       .long   0
+       .long   1072410624
+       .long   0
+       .long   1072407552
+       .long   0
+       .long   1072405504
+       .long   0
+       .long   1072402432
+       .long   0
+       .long   1072400384
+       .long   0
+       .long   1072397312
+       .long   0
+       .long   1072395264
+       .long   0
+       .long   1072392192
+       .long   0
+       .long   1072390144
+       .long   0
+       .long   1072387072
+       .long   0
+       .long   1072385024
+       .long   0
+       .long   1072381952
+       .long   0
+       .long   1072379904
+       .long   0
+       .long   1072376832
+       .long   0
+       .long   1072374784
+       .long   0
+       .long   1072371712
+       .long   0
+       .long   1072369664
+       .long   0
+       .long   1072366592
+       .long   0
+       .long   1072364544
+       .long   0
+       .long   1072362496
+       .long   0
+       .long   1072359424
+       .long   0
+       .long   1072357376
+       .long   0
+       .long   1072355328
+       .long   0
+       .long   1072352256
+       .long   0
+       .long   1072350208
+       .long   0
+       .long   1072347136
+       .long   0
+       .long   1072345088
+       .long   0
+       .long   1072343040
+       .long   0
+       .long   1072340992
+       .long   0
+       .long   1072337920
+       .long   0
+       .long   1072335872
+       .long   0
+       .long   1072333824
+       .long   0
+       .long   1072330752
+       .long   0
+       .long   1072328704
+       .long   0
+       .long   1072326656
+       .long   0
+       .long   1072324608
+       .long   0
+       .long   1072321536
+       .long   0
+       .long   1072319488
+       .long   0
+       .long   1072317440
+       .long   0
+       .long   1072315392
+       .long   0
+       .long   1072313344
+       .long   0
+       .long   1072310272
+       .long   0
+       .long   1072308224
+       .long   0
+       .long   1072306176
+       .long   0
+       .long   1072304128
+       .long   0
+       .long   1072302080
+       .long   0
+       .long   1072300032
+       .long   0
+       .long   1072296960
+       .long   0
+       .long   1072294912
+       .long   0
+       .long   1072292864
+       .long   0
+       .long   1072290816
+       .long   0
+       .long   1072288768
+       .long   0
+       .long   1072286720
+       .long   0
+       .long   1072284672
+       .long   0
+       .long   1072282624
+       .long   0
+       .long   1072280576
+       .long   0
+       .long   1072278528
+       .long   0
+       .long   1072275456
+       .long   0
+       .long   1072273408
+       .long   0
+       .long   1072271360
+       .long   0
+       .long   1072269312
+       .long   0
+       .long   1072267264
+       .long   0
+       .long   1072265216
+       .long   0
+       .long   1072263168
+       .long   0
+       .long   1072261120
+       .long   0
+       .long   1072259072
+       .long   0
+       .long   1072257024
+       .long   0
+       .long   1072254976
+       .long   0
+       .long   1072252928
+       .long   0
+       .long   1072250880
+       .long   0
+       .long   1072248832
+       .long   0
+       .long   1072246784
+       .long   0
+       .long   1072244736
+       .long   0
+       .long   1072243712
+       .long   0
+       .long   1072241664
+       .long   0
+       .long   1072239616
+       .long   0
+       .long   1072237568
+       .long   0
+       .long   1072235520
+       .long   0
+       .long   1072233472
+       .long   0
+       .long   1072231424
+       .long   0
+       .long   1072229376
+       .long   0
+       .long   1072227328
+       .long   0
+       .long   1072225280
+       .long   0
+       .long   1072223232
+       .long   0
+       .long   1072222208
+       .long   0
+       .long   1072220160
+       .long   0
+       .long   1072218112
+       .long   0
+       .long   1072216064
+       .long   0
+       .long   1072214016
+       .long   0
+       .long   1072211968
+       .long   0
+       .long   1072210944
+       .long   0
+       .long   1072208896
+       .long   0
+       .long   1072206848
+       .long   0
+       .long   1072204800
+       .long   0
+       .long   1072202752
+       .long   0
+       .long   1072201728
+       .long   0
+       .long   1072199680
+       .long   0
+       .long   1072197632
+       .long   0
+       .long   1072195584
+       .long   0
+       .long   1072193536
+       .long   0
+       .long   1072192512
+       .long   0
+       .long   1072190464
+       .long   0
+       .long   1072188416
+       .long   0
+       .long   1072186368
+       .long   0
+       .long   1072185344
+       .long   0
+       .long   1072183296
+       .long   0
+       .long   1072181248
+       .long   0
+       .long   1072179200
+       .long   0
+       .long   1072178176
+       .long   0
+       .long   1072176128
+       .long   0
+       .long   1072174080
+       .long   0
+       .long   1072173056
+       .long   0
+       .long   1072171008
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072167936
+       .long   0
+       .long   1072165888
+       .long   0
+       .long   1072163840
+       .long   0
+       .long   1072161792
+       .long   0
+       .long   1072160768
+       .long   0
+       .long   1072158720
+       .long   0
+       .long   1072157696
+       .long   0
+       .long   1072155648
+       .long   0
+       .long   1072153600
+       .long   0
+       .long   1072152576
+       .long   0
+       .long   1072150528
+       .long   0
+       .long   1072148480
+       .long   0
+       .long   1072147456
+       .long   0
+       .long   1072145408
+       .long   0
+       .long   1072143360
+       .long   0
+       .long   1072142336
+       .long   0
+       .long   1072140288
+       .long   0
+       .long   1072139264
+       .long   0
+       .long   1072137216
+       .long   0
+       .long   1072135168
+       .long   0
+       .long   1072134144
+       .long   0
+       .long   1072132096
+       .long   0
+       .long   1072131072
+       .long   0
+       .long   1072129024
+       .long   0
+       .long   1072128000
+       .long   0
+       .long   1072125952
+       .long   0
+       .long   1072124928
+       .long   0
+       .long   1072122880
+       .long   0
+       .long   1072120832
+       .long   0
+       .long   1072119808
+       .long   0
+       .long   1072117760
+       .long   0
+       .long   1072116736
+       .long   0
+       .long   1072114688
+       .long   0
+       .long   1072113664
+       .long   0
+       .long   1072111616
+       .long   0
+       .long   1072110592
+       .long   0
+       .long   1072108544
+       .long   0
+       .long   1072107520
+       .long   0
+       .long   1072105472
+       .long   0
+       .long   1072104448
+       .long   0
+       .long   1072102400
+       .long   0
+       .long   1072101376
+       .long   0
+       .long   1072099328
+       .long   0
+       .long   1072098304
+       .long   0
+       .long   1072096256
+       .long   0
+       .long   1072095232
+       .long   0
+       .long   1072094208
+       .long   0
+       .long   1072092160
+       .long   0
+       .long   1072091136
+       .long   0
+       .long   1072089088
+       .long   0
+       .long   1072088064
+       .long   0
+       .long   1072086016
+       .long   0
+       .long   1072084992
+       .long   0
+       .long   1072082944
+       .long   0
+       .long   1072081920
+       .long   0
+       .long   1072080896
+       .long   0
+       .long   1072078848
+       .long   0
+       .long   1072075776
+       .long   0
+       .long   1072073728
+       .long   0
+       .long   1072070656
+       .long   0
+       .long   1072067584
+       .long   0
+       .long   1072064512
+       .long   0
+       .long   1072061440
+       .long   0
+       .long   1072059392
+       .long   0
+       .long   1072056320
+       .long   0
+       .long   1072053248
+       .long   0
+       .long   1072051200
+       .long   0
+       .long   1072048128
+       .long   0
+       .long   1072045056
+       .long   0
+       .long   1072043008
+       .long   0
+       .long   1072039936
+       .long   0
+       .long   1072037888
+       .long   0
+       .long   1072034816
+       .long   0
+       .long   1072031744
+       .long   0
+       .long   1072029696
+       .long   0
+       .long   1072026624
+       .long   0
+       .long   1072024576
+       .long   0
+       .long   1072021504
+       .long   0
+       .long   1072019456
+       .long   0
+       .long   1072016384
+       .long   0
+       .long   1072014336
+       .long   0
+       .long   1072011264
+       .long   0
+       .long   1072009216
+       .long   0
+       .long   1072006144
+       .long   0
+       .long   1072004096
+       .long   0
+       .long   1072002048
+       .long   0
+       .long   1071998976
+       .long   0
+       .long   1071996928
+       .long   0
+       .long   1071993856
+       .long   0
+       .long   1071991808
+       .long   0
+       .long   1071989760
+       .long   0
+       .long   1071986688
+       .long   0
+       .long   1071984640
+       .long   0
+       .long   1071982592
+       .long   0
+       .long   1071979520
+       .long   0
+       .long   1071977472
+       .long   0
+       .long   1071975424
+       .long   0
+       .long   1071972352
+       .long   0
+       .long   1071970304
+       .long   0
+       .long   1071968256
+       .long   0
+       .long   1071966208
+       .long   0
+       .long   1071964160
+       .long   0
+       .long   1071961088
+       .long   0
+       .long   1071959040
+       .long   0
+       .long   1071956992
+       .long   0
+       .long   1071954944
+       .long   0
+       .long   1071952896
+       .long   0
+       .long   1071949824
+       .long   0
+       .long   1071947776
+       .long   0
+       .long   1071945728
+       .long   0
+       .long   1071943680
+       .long   0
+       .long   1071941632
+       .long   0
+       .long   1071939584
+       .long   0
+       .long   1071937536
+       .long   0
+       .long   1071935488
+       .long   0
+       .long   1071933440
+       .long   0
+       .long   1071930368
+       .long   0
+       .long   1071928320
+       .long   0
+       .long   1071926272
+       .long   0
+       .long   1071924224
+       .long   0
+       .long   1071922176
+       .long   0
+       .long   1071920128
+       .long   0
+       .long   1071918080
+       .long   0
+       .long   1071916032
+       .long   0
+       .long   1071913984
+       .long   0
+       .long   1071911936
+       .long   0
+       .long   1071909888
+       .long   0
+       .long   1071907840
+       .long   0
+       .long   1071905792
+       .long   0
+       .long   1071903744
+       .long   0
+       .long   1071901696
+       .long   0
+       .long   1071900672
+       .long   0
+       .long   1071898624
+       .long   0
+       .long   1071896576
+       .long   0
+       .long   1071894528
+       .long   0
+       .long   1071892480
+       .long   0
+       .long   1071890432
+       .long   0
+       .long   1071888384
+       .long   0
+       .long   1071886336
+       .long   0
+       .long   1071884288
+       .long   0
+       .long   1071883264
+       .long   0
+       .long   1071881216
+       .long   0
+       .long   1071879168
+       .long   0
+       .long   1071877120
+       .long   0
+       .long   1071875072
+       .long   0
+       .long   1071873024
+       .long   0
+       .long   1071872000
+       .long   0
+       .long   1071869952
+       .long   0
+       .long   1071867904
+       .long   0
+       .long   1071865856
+       .long   0
+       .long   1071864832
+       .long   0
+       .long   1071862784
+       .long   0
+       .long   1071860736
+       .long   0
+       .long   1071858688
+       .long   0
+       .long   1071856640
+       .long   0
+       .long   1071855616
+       .long   0
+       .long   1071853568
+       .long   0
+       .long   1071851520
+       .long   0
+       .long   1071850496
+       .long   0
+       .long   1071848448
+       .long   0
+       .long   1071846400
+       .long   0
+       .long   1071844352
+       .long   0
+       .long   1071843328
+       .long   0
+       .long   1071841280
+       .long   0
+       .long   1071839232
+       .long   0
+       .long   1071838208
+       .long   0
+       .long   1071836160
+       .long   0
+       .long   1071834112
+       .long   0
+       .long   1071833088
+       .long   0
+       .long   1071831040
+       .long   0
+       .long   1071830016
+       .long   0
+       .long   1071827968
+       .long   0
+       .long   1071825920
+       .long   0
+       .long   1071824896
+       .long   0
+       .long   1071822848
+       .long   0
+       .long   1071821824
+       .long   0
+       .long   1071819776
+       .long   0
+       .long   1071817728
+       .long   0
+       .long   1071816704
+       .long   0
+       .long   1071814656
+       .long   0
+       .long   1071813632
+       .long   0
+       .long   1071811584
+       .long   0
+       .long   1071810560
+       .long   0
+       .long   1071808512
+       .long   0
+       .long   1071806464
+       .long   0
+       .long   1071805440
+       .long   0
+       .long   1071803392
+       .long   0
+       .long   1071802368
+       .long   0
+       .long   1071800320
+       .long   0
+       .long   1071799296
+       .long   0
+       .long   1071797248
+       .long   0
+       .long   1071796224
+       .long   0
+       .long   1071794176
+       .long   0
+       .long   1071793152
+       .long   0
+       .long   1071791104
+       .long   0
+       .long   1071790080
+       .long   0
+       .long   1071788032
+       .long   0
+       .long   1071787008
+       .long   0
+       .long   1071784960
+       .long   0
+       .long   1071783936
+       .long   0
+       .long   1071782912
+       .long   0
+       .long   1071780864
+       .long   0
+       .long   1071779840
+       .long   0
+       .long   1071777792
+       .long   0
+       .long   1071776768
+       .long   0
+       .long   1071774720
+       .long   0
+       .long   1071773696
+       .long   0
+       .long   1071772672
+       .long   0
+       .long   1071770624
+       .long   0
+       .long   1071769600
+       .long   0
+       .long   1071767552
+       .long   0
+       .long   1071766528
+       .long   0
+       .long   1071765504
+       .long   0
+       .long   1071763456
+       .long   0
+       .long   1071762432
+       .long   0
+       .long   1071760384
+       .long   0
+       .long   1071759360
+       .long   0
+       .long   1071758336
+       .long   0
+       .long   1071756288
+       .long   0
+       .long   1071755264
+       .long   0
+       .long   1071754240
+       .long   0
+       .long   1071752192
+       .long   0
+       .long   1071751168
+       .long   0
+       .long   1071750144
+       .long   0
+       .long   1071748096
+       .long   0
+       .long   1071747072
+       .long   0
+       .long   1071746048
+       .long   0
+       .long   1071744000
+       .long   0
+       .long   1071742976
+       .long   0
+       .long   1071741952
+       .long   0
+       .long   1071739904
+       .long   0
+       .long   1071738880
+       .long   0
+       .long   1071737856
+       .long   0
+       .long   1071736832
+       .long   0
+       .long   1071734784
+       .long   0
+       .long   1071733760
+       .long   0
+       .long   1071732736
+       .long   0
+       .long   1071730688
+       .long   0
+       .long   1071729664
+       .long   0
+       .long   1071728640
+       .long   0
+       .long   1071727616
+       .long   0
+       .long   1071725568
+       .long   0
+       .long   1071724544
+       .long   0
+       .long   1071723520
+       .long   0
+       .long   1071722496
+       .long   0
+       .long   1071720448
+       .long   0
+       .long   1071719424
+       .long   0
+       .long   1071718400
+       .long   0
+       .long   1071717376
+       .long   0
+       .long   1071715328
+       .long   0
+       .long   1071714304
+       .long   0
+       .long   1071713280
+       .long   0
+       .long   1071712256
+       .long   0
+       .long   1071711232
+       .long   0
+       .long   1071709184
+       .long   0
+       .long   1071708160
+       .long   0
+       .long   1071707136
+       .long   0
+       .long   1071706112
+       .long   0
+       .long   1071705088
+       .long   0
+       .long   1071704064
+       .long   0
+       .long   1071702016
+       .long   0
+       .long   1071700992
+       .long   0
+       .long   1071699968
+       .long   0
+       .long   1071698944
+       .long   0
+       .long   1071697920
+       .long   0
+       .long   1071696896
+       .long   0
+       .long   1071694848
+       .long   0
+       .long   1071693824
+       .long   0
+       .long   1071692800
+       .long   0
+       .long   1071691776
+       .long   0
+       .long   1071690752
+       .long   0
+       .long   1071689728
+       .long   0
+       .long   1071688704
+       .long   0
+       .long   1071686656
+       .long   0
+       .long   1071685632
+       .long   0
+       .long   1071684608
+       .long   0
+       .long   1071683584
+       .long   0
+       .long   1071682560
+       .long   0
+       .long   1071681536
+       .long   0
+       .long   1071680512
+       .long   0
+       .long   1071679488
+       .long   0
+       .long   1071677440
+       .long   0
+       .long   1071676416
+       .long   0
+       .long   1071675392
+       .long   0
+       .long   1071674368
+       .long   0
+       .long   1071673344
+       .long   0
+       .long   1071672320
+       .long   0
+       .long   1071671296
+       .long   0
+       .long   1071670272
+       .long   0
+       .long   1071669248
+       .long   0
+       .long   1071668224
+       .long   0
+       .long   1071667200
+       .long   0
+       .long   1071666176
+       .long   0
+       .long   1071665152
+       .long   0
+       .long   1071663104
+       .long   0
+       .long   1071662080
+       .long   0
+       .long   1071661056
+       .long   0
+       .long   1071660032
+       .long   0
+       .long   1071659008
+       .long   0
+       .long   1071657984
+       .long   0
+       .long   1071656960
+       .long   0
+       .long   1071655936
+       .long   0
+       .long   1071654912
+       .long   0
+       .long   1071653888
+       .long   0
+       .long   1071652864
+       .long   0
+       .long   1071651840
+       .long   0
+       .long   1071650816
+       .long   0
+       .long   1071649792
+       .long   0
+       .long   1071648768
+       .long   0
+       .long   1071647744
+       .long   0
+       .long   1071646720
+       .long   0
+       .long   1071645696
+       .long   0
+       .long   1071644672
+       .long   0
+       .long   1101004800
+       .long   1073741824
+       .long   1095761920
+       .long   256
+       .long   1118830592
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1017118720
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1071644672
+       .long   1476395008
+       .long   1069897045
+       .long   1768958041
+       .long   3189069141
+       .long   805306368
+       .long   1068708659
+       .long   3580333578
+       .long   1040816593
+       .long   3067382784
+       .long   1067899757
+       .long   3397590151
+       .long   1067392113
+       .long   2939529726
+       .long   1066854585
+       .long   1423429166
+       .long   1066517752
+       .long   1775218934
+       .long   1066178574
+       .long   1185392460
+       .long   1065859647
+       .long   289998670
+       .long   1065577550
+       .long   3179807072
+       .long   1065648121
+       .long   3781007284
+       .long   1061576176
+       .long   2482106687
+       .long   1067019199
+       .long   763519713
+       .long   3214591591
+       .long   3695107454
+       .long   1067530646
+       .long   0
+       .long   1073741824
+       .long   1124791109
+       .long   1006764147
+       .long   1476395008
+       .long   1069897045
+       .long   1953913876
+       .long   3189069141
+       .long   805306368
+       .long   1067660083
+       .long   165110192
+       .long   1039768033
+       .long   3067304082
+       .long   1065802605
+       .long   3404727379
+       .long   1064246385
+       .long   2737480376
+       .long   1062660281
+       .long   933797922
+       .long   1061274873
+       .long   1475716730
+       .long   1059887095
+       .long   1511619763
+       .long   1058519827
+       .long   556024211
+       .long   1057187555
+       .long   3482101045
+       .long   1056217350
+       .long   1174622859
+       .long   1050762633
+       .long   899668651
+       .long   1055506366
+       .long   1081094694
+       .long   3202035365
+       .long   2559814773
+       .long   1053906576
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   3218341888
+       .long   0
+       .long   1070694400
+       .long   0
+       .long   3218046976
+       .long   0
+       .long   1070391296
+       .long   0
+       .long   3217739776
+       .type   _vmldASinHATab,@object
+       .size   _vmldASinHATab,4504
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_asin_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_asin_s_la.s
new file mode 100644 (file)
index 0000000..74603c6
--- /dev/null
@@ -0,0 +1,2199 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_asinf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_asinf16
+
+__svml_asinf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   __svml_sasin_data_internal(%rip), %zmm4
+        vmovups   64+__svml_sasin_data_internal(%rip), %zmm6
+
+/* SQ ~ -2*sqrt(Y) */
+        vmovups   192+__svml_sasin_data_internal(%rip), %zmm8
+        vmovups   448+__svml_sasin_data_internal(%rip), %zmm12
+        vmovups   512+__svml_sasin_data_internal(%rip), %zmm13
+        vmovups   256+__svml_sasin_data_internal(%rip), %zmm7
+        vmovaps   %zmm0, %zmm3
+
+/* x = |arg| */
+        vandps    %zmm3, %zmm4, %zmm2
+        vandnps   %zmm3, %zmm4, %zmm1
+
+/* x^2 */
+        vmulps    {rn-sae}, %zmm2, %zmm2, %zmm5
+        vcmpps    $17, {sae}, %zmm2, %zmm7, %k0
+        vcmpps    $21, {sae}, %zmm6, %zmm2, %k2
+        vmovups   704+__svml_sasin_data_internal(%rip), %zmm7
+        kmovw     %k0, %edx
+
+/* Y = 0.5 - 0.5*x */
+        vmovaps   %zmm6, %zmm9
+        vfnmadd231ps {rn-sae}, %zmm2, %zmm6, %zmm9
+        vmovups   896+__svml_sasin_data_internal(%rip), %zmm6
+        vrsqrt14ps %zmm9, %zmm10
+        vcmpps    $17, {sae}, %zmm8, %zmm9, %k1
+        vminps    {sae}, %zmm9, %zmm5, %zmm0
+        vmovups   576+__svml_sasin_data_internal(%rip), %zmm8
+        vmovups   832+__svml_sasin_data_internal(%rip), %zmm5
+        vxorps    %zmm10, %zmm10, %zmm10{%k1}
+        vaddps    {rn-sae}, %zmm9, %zmm9, %zmm14
+        vmulps    {rn-sae}, %zmm10, %zmm10, %zmm11
+        vmulps    {rn-sae}, %zmm10, %zmm14, %zmm4
+        vfmsub213ps {rn-sae}, %zmm12, %zmm11, %zmm14
+        vmulps    {rn-sae}, %zmm14, %zmm4, %zmm15
+        vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm8
+        vmovups   768+__svml_sasin_data_internal(%rip), %zmm14
+
+/* polynomial */
+        vmovups   640+__svml_sasin_data_internal(%rip), %zmm13
+        vfmsub213ps {rn-sae}, %zmm4, %zmm15, %zmm8
+        vfmadd231ps {rn-sae}, %zmm0, %zmm14, %zmm5
+        vfmadd231ps {rn-sae}, %zmm0, %zmm13, %zmm7
+        vmulps    {rn-sae}, %zmm0, %zmm0, %zmm15
+        vblendmps %zmm8, %zmm2, %zmm2{%k2}
+        vfmadd213ps {rn-sae}, %zmm5, %zmm15, %zmm7
+        vfmadd213ps {rn-sae}, %zmm6, %zmm0, %zmm7
+        vmulps    {rn-sae}, %zmm0, %zmm7, %zmm9
+        vmovups   960+__svml_sasin_data_internal(%rip), %zmm0
+        vfmadd213ps {rn-sae}, %zmm2, %zmm2, %zmm9
+        vaddps    {rn-sae}, %zmm0, %zmm9, %zmm9{%k2}
+        vxorps    %zmm1, %zmm9, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm3, 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_sasin_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_asinf16,@function
+       .size   __svml_asinf16,.-__svml_asinf16
+..LN__svml_asinf16.0:
+
+.L_2__routine_start___svml_sasin_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_sasin_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    2(%rdi), %edx
+        andl      $32640, %edx
+        cmpl      $32640, %edx
+        je        .LBL_2_12
+
+
+        pxor      %xmm0, %xmm0
+        cvtss2sd  (%rdi), %xmm0
+        movsd     %xmm0, -32(%rsp)
+        andb      $127, -25(%rsp)
+        movsd     -32(%rsp), %xmm12
+        movsd     4160+_vmldASinHATab(%rip), %xmm0
+        comisd    %xmm12, %xmm0
+        jb        .LBL_2_10
+
+
+        movsd     4168+_vmldASinHATab(%rip), %xmm1
+        comisd    %xmm12, %xmm1
+        jbe       .LBL_2_9
+
+
+        comisd    4136+_vmldASinHATab(%rip), %xmm12
+        jbe       .LBL_2_6
+
+
+        movsd     4104+_vmldASinHATab(%rip), %xmm13
+        movaps    %xmm12, %xmm5
+        mulsd     %xmm12, %xmm13
+        movaps    %xmm12, %xmm7
+        movsd     %xmm13, -48(%rsp)
+        movsd     -48(%rsp), %xmm14
+        movsd     4104+_vmldASinHATab(%rip), %xmm1
+        subsd     -32(%rsp), %xmm14
+        movsd     %xmm14, -56(%rsp)
+        movsd     -48(%rsp), %xmm8
+        movsd     -56(%rsp), %xmm15
+        subsd     %xmm15, %xmm8
+        movsd     %xmm8, -48(%rsp)
+        movsd     -48(%rsp), %xmm6
+        movsd     4296+_vmldASinHATab(%rip), %xmm8
+        subsd     %xmm6, %xmm5
+        movsd     %xmm5, -56(%rsp)
+        movaps    %xmm12, %xmm5
+        movsd     -48(%rsp), %xmm9
+        movaps    %xmm9, %xmm13
+        addsd     %xmm9, %xmm7
+        mulsd     %xmm9, %xmm13
+        movsd     -56(%rsp), %xmm11
+        movaps    %xmm13, %xmm10
+        mulsd     %xmm11, %xmm7
+        mulsd     %xmm13, %xmm1
+        addsd     %xmm7, %xmm10
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm1, -48(%rsp)
+        movsd     -48(%rsp), %xmm2
+        movsd     4104+_vmldASinHATab(%rip), %xmm1
+        subsd     %xmm13, %xmm2
+        addsd     4288+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm2, -56(%rsp)
+        movsd     -48(%rsp), %xmm3
+        movsd     -56(%rsp), %xmm0
+        addsd     4280+_vmldASinHATab(%rip), %xmm8
+        subsd     %xmm0, %xmm3
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm3, -48(%rsp)
+        movsd     -48(%rsp), %xmm4
+        addsd     4272+_vmldASinHATab(%rip), %xmm8
+        subsd     %xmm4, %xmm13
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm13, -56(%rsp)
+        movsd     -48(%rsp), %xmm6
+        mulsd     %xmm6, %xmm9
+        addsd     4264+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm6, %xmm11
+        mulsd     %xmm10, %xmm8
+        mulsd     %xmm9, %xmm1
+        addsd     4256+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm10, %xmm8
+        movaps    %xmm9, %xmm3
+        movsd     -56(%rsp), %xmm14
+        movaps    %xmm6, %xmm4
+        movsd     %xmm1, -48(%rsp)
+        addsd     %xmm14, %xmm7
+        addsd     4248+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm7, %xmm5
+        mulsd     %xmm10, %xmm8
+        addsd     %xmm5, %xmm11
+        addsd     4240+_vmldASinHATab(%rip), %xmm8
+        movsd     -48(%rsp), %xmm2
+        mulsd     %xmm10, %xmm8
+        subsd     %xmm9, %xmm2
+        addsd     %xmm11, %xmm9
+        addsd     4232+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm9, %xmm7
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm2, -56(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movsd     -56(%rsp), %xmm15
+        subsd     %xmm15, %xmm0
+        addsd     4224+_vmldASinHATab(%rip), %xmm8
+        movsd     %xmm0, -48(%rsp)
+        movsd     -48(%rsp), %xmm5
+        mulsd     %xmm10, %xmm8
+        subsd     %xmm5, %xmm3
+        movsd     %xmm3, -56(%rsp)
+        movsd     -48(%rsp), %xmm3
+        movsd     -56(%rsp), %xmm5
+        movaps    %xmm5, %xmm13
+        addsd     4216+_vmldASinHATab(%rip), %xmm8
+        mulsd     %xmm3, %xmm4
+        addsd     %xmm11, %xmm13
+        mulsd     %xmm10, %xmm8
+        mulsd     %xmm13, %xmm6
+        addsd     4208+_vmldASinHATab(%rip), %xmm8
+        addsd     %xmm7, %xmm6
+        mulsd     %xmm10, %xmm8
+        movsd     4104+_vmldASinHATab(%rip), %xmm7
+        movaps    %xmm4, %xmm13
+        mulsd     %xmm4, %xmm7
+        addsd     4200+_vmldASinHATab(%rip), %xmm8
+        movsd     %xmm7, -48(%rsp)
+        movsd     -48(%rsp), %xmm1
+        movsd     4184+_vmldASinHATab(%rip), %xmm10
+        subsd     %xmm4, %xmm1
+        mulsd     %xmm9, %xmm10
+        addsd     %xmm6, %xmm4
+        movsd     %xmm1, -56(%rsp)
+        movaps    %xmm12, %xmm9
+        movsd     -48(%rsp), %xmm0
+        movsd     -56(%rsp), %xmm2
+        movsd     4176+_vmldASinHATab(%rip), %xmm1
+        subsd     %xmm2, %xmm0
+        mulsd     %xmm1, %xmm3
+        mulsd     %xmm1, %xmm11
+        mulsd     %xmm4, %xmm8
+        addsd     %xmm3, %xmm9
+        mulsd     %xmm1, %xmm5
+        addsd     %xmm11, %xmm10
+        movsd     %xmm0, -48(%rsp)
+        addsd     %xmm10, %xmm8
+        movsd     -48(%rsp), %xmm7
+        addsd     %xmm5, %xmm8
+        subsd     %xmm7, %xmm13
+        movsd     %xmm13, -56(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movsd     -56(%rsp), %xmm2
+        movsd     %xmm9, -48(%rsp)
+        addsd     %xmm2, %xmm6
+        movsd     -48(%rsp), %xmm11
+        movsd     4192+_vmldASinHATab(%rip), %xmm4
+        subsd     %xmm11, %xmm12
+        mulsd     %xmm4, %xmm0
+        mulsd     %xmm4, %xmm6
+        addsd     %xmm12, %xmm3
+        movsd     %xmm3, -56(%rsp)
+        movsd     -48(%rsp), %xmm3
+        movaps    %xmm3, %xmm12
+        movsd     -56(%rsp), %xmm7
+        addsd     %xmm0, %xmm12
+        addsd     %xmm7, %xmm8
+        movsd     %xmm12, -48(%rsp)
+        movsd     -48(%rsp), %xmm12
+        subsd     %xmm12, %xmm3
+        addsd     %xmm3, %xmm0
+        movsd     %xmm0, -56(%rsp)
+        movsd     -48(%rsp), %xmm9
+        movsd     -56(%rsp), %xmm0
+        movb      3(%rdi), %dil
+        addsd     %xmm0, %xmm8
+        andb      $-128, %dil
+        addsd     %xmm8, %xmm9
+        addsd     %xmm9, %xmm6
+        movsd     %xmm6, -40(%rsp)
+        movb      -33(%rsp), %dl
+        andb      $127, %dl
+        orb       %dil, %dl
+        movb      %dl, -33(%rsp)
+        movsd     -40(%rsp), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+
+.LBL_2_6:
+
+        comisd    4128+_vmldASinHATab(%rip), %xmm12
+        jb        .LBL_2_8
+
+
+        addsd     %xmm0, %xmm12
+        movsd     %xmm12, -48(%rsp)
+        movsd     -48(%rsp), %xmm0
+        mulsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -40(%rsp)
+        movb      -33(%rsp), %dl
+        movb      3(%rdi), %dil
+        andb      $127, %dl
+        andb      $-128, %dil
+        orb       %dil, %dl
+        movb      %dl, -33(%rsp)
+        movsd     -40(%rsp), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        mulsd     %xmm12, %xmm12
+        movsd     %xmm12, -48(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movb      3(%rdi), %dil
+        andb      $-128, %dil
+        addsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -40(%rsp)
+        movb      -33(%rsp), %dl
+        andb      $127, %dl
+        orb       %dil, %dl
+        movb      %dl, -33(%rsp)
+        movsd     -40(%rsp), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        movaps    %xmm0, %xmm9
+        movzwl    4166+_vmldASinHATab(%rip), %r9d
+        pxor      %xmm15, %xmm15
+        andl      $-32753, %r9d
+        subsd     %xmm12, %xmm9
+        subsd     %xmm0, %xmm15
+        mulsd     %xmm9, %xmm1
+        movsd     %xmm1, -32(%rsp)
+        movzwl    -26(%rsp), %ecx
+        andl      $32752, %ecx
+        shrl      $4, %ecx
+        addl      $-1023, %ecx
+        movl      %ecx, %r8d
+        movl      %ecx, %edx
+        negl      %r8d
+        addl      $1023, %r8d
+        andl      $2047, %r8d
+        shll      $4, %r8d
+        movsd     %xmm0, -24(%rsp)
+        orl       %r8d, %r9d
+        movw      %r9w, -18(%rsp)
+        andl      $1, %edx
+        movsd     -24(%rsp), %xmm10
+        movl      %edx, %r10d
+        mulsd     %xmm10, %xmm1
+        lea       _vmldASinHATab(%rip), %r8
+        movaps    %xmm1, %xmm6
+        movsd     4112+_vmldASinHATab(%rip), %xmm7
+        addsd     %xmm1, %xmm6
+        jne       ..L54
+        movaps    %xmm1, %xmm6
+..L54:
+        mulsd     %xmm6, %xmm7
+        movaps    %xmm6, %xmm8
+        movaps    %xmm7, %xmm11
+        subl      %edx, %ecx
+        movsd     4120+_vmldASinHATab(%rip), %xmm13
+        subsd     %xmm6, %xmm11
+        addsd     %xmm1, %xmm13
+        movsd     %xmm11, -56(%rsp)
+        movsd     -56(%rsp), %xmm12
+        movsd     %xmm13, -16(%rsp)
+        subsd     %xmm12, %xmm7
+        movl      -16(%rsp), %r11d
+        movaps    %xmm7, %xmm4
+        shll      $8, %r10d
+        andl      $511, %r11d
+        addl      %r10d, %r11d
+        subsd     %xmm7, %xmm8
+        movsd     (%r8,%r11,8), %xmm3
+        addsd     %xmm8, %xmm4
+        mulsd     %xmm3, %xmm7
+        movaps    %xmm3, %xmm14
+        mulsd     %xmm3, %xmm14
+        mulsd     %xmm14, %xmm4
+        movsd     4496+_vmldASinHATab(%rip), %xmm5
+        addsd     %xmm15, %xmm4
+        mulsd     %xmm4, %xmm5
+        shrl      $1, %ecx
+        addsd     4488+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        addl      $1023, %ecx
+        andl      $2047, %ecx
+        addsd     4480+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        movzwl    4166+_vmldASinHATab(%rip), %r9d
+        shll      $4, %ecx
+        andl      $-32753, %r9d
+        movsd     %xmm0, -8(%rsp)
+        orl       %ecx, %r9d
+        movw      %r9w, -2(%rsp)
+        movsd     -8(%rsp), %xmm12
+        mulsd     %xmm12, %xmm7
+        addsd     4472+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        movsd     4104+_vmldASinHATab(%rip), %xmm1
+        mulsd     %xmm7, %xmm1
+        addsd     4464+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        movsd     %xmm1, -48(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movsd     4336+_vmldASinHATab(%rip), %xmm13
+        subsd     %xmm7, %xmm0
+        addsd     4456+_vmldASinHATab(%rip), %xmm5
+        addsd     4344+_vmldASinHATab(%rip), %xmm13
+        mulsd     %xmm4, %xmm5
+        mulsd     %xmm9, %xmm13
+        addsd     4448+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        mulsd     %xmm6, %xmm5
+        movsd     %xmm0, -56(%rsp)
+        addsd     %xmm5, %xmm8
+        movsd     4440+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        mulsd     %xmm3, %xmm8
+        addsd     4432+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm12, %xmm8
+        mulsd     %xmm9, %xmm5
+        movsd     -48(%rsp), %xmm10
+        movsd     -56(%rsp), %xmm2
+        movsd     4320+_vmldASinHATab(%rip), %xmm14
+        subsd     %xmm2, %xmm10
+        addsd     4424+_vmldASinHATab(%rip), %xmm5
+        addsd     4328+_vmldASinHATab(%rip), %xmm14
+        mulsd     %xmm9, %xmm5
+        addsd     %xmm13, %xmm14
+        addsd     4416+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm14
+        mulsd     %xmm9, %xmm5
+        movsd     %xmm10, -48(%rsp)
+        movaps    %xmm9, %xmm2
+        movsd     -48(%rsp), %xmm11
+        movsd     4104+_vmldASinHATab(%rip), %xmm3
+        subsd     %xmm11, %xmm7
+        mulsd     %xmm9, %xmm3
+        addsd     4408+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        movsd     4304+_vmldASinHATab(%rip), %xmm4
+        movsd     %xmm7, -56(%rsp)
+        movsd     -48(%rsp), %xmm6
+        movsd     -56(%rsp), %xmm7
+        movsd     %xmm3, -48(%rsp)
+        addsd     %xmm7, %xmm8
+        addsd     4400+_vmldASinHATab(%rip), %xmm5
+        addsd     4312+_vmldASinHATab(%rip), %xmm4
+        mulsd     %xmm9, %xmm5
+        addsd     %xmm14, %xmm4
+        addsd     4392+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        movsd     -48(%rsp), %xmm1
+        movsd     4104+_vmldASinHATab(%rip), %xmm7
+        subsd     %xmm9, %xmm1
+        addsd     4384+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        movsd     %xmm1, -56(%rsp)
+        movsd     -48(%rsp), %xmm0
+        movsd     -56(%rsp), %xmm15
+        addsd     4376+_vmldASinHATab(%rip), %xmm5
+        subsd     %xmm15, %xmm0
+        mulsd     %xmm9, %xmm5
+        movsd     %xmm0, -48(%rsp)
+        movsd     4320+_vmldASinHATab(%rip), %xmm0
+        addsd     4368+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        addsd     4360+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        addsd     4352+_vmldASinHATab(%rip), %xmm5
+        mulsd     %xmm9, %xmm5
+        mulsd     %xmm9, %xmm5
+        mulsd     %xmm9, %xmm5
+        addsd     %xmm5, %xmm4
+        mulsd     %xmm4, %xmm8
+        movsd     -48(%rsp), %xmm4
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movsd     -48(%rsp), %xmm4
+        movaps    %xmm4, %xmm13
+        mulsd     %xmm4, %xmm13
+        mulsd     %xmm4, %xmm0
+        addsd     %xmm9, %xmm4
+        mulsd     %xmm13, %xmm7
+        movsd     -56(%rsp), %xmm3
+        movsd     %xmm7, -48(%rsp)
+        movsd     -48(%rsp), %xmm10
+        mulsd     %xmm3, %xmm4
+        subsd     %xmm13, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movsd     -48(%rsp), %xmm11
+        movsd     -56(%rsp), %xmm1
+        movsd     4304+_vmldASinHATab(%rip), %xmm10
+        subsd     %xmm1, %xmm11
+        movsd     %xmm11, -48(%rsp)
+        movaps    %xmm0, %xmm1
+        movsd     -48(%rsp), %xmm12
+        movsd     4304+_vmldASinHATab(%rip), %xmm11
+        subsd     %xmm12, %xmm13
+        movsd     %xmm13, -56(%rsp)
+        movsd     -48(%rsp), %xmm7
+        mulsd     4336+_vmldASinHATab(%rip), %xmm7
+        movsd     -56(%rsp), %xmm2
+        addsd     %xmm7, %xmm1
+        addsd     %xmm2, %xmm4
+        movsd     %xmm1, -48(%rsp)
+        movsd     -48(%rsp), %xmm14
+        movsd     %xmm7, -16(%rsp)
+        subsd     %xmm14, %xmm0
+        mulsd     4336+_vmldASinHATab(%rip), %xmm4
+        addsd     %xmm0, %xmm7
+        movsd     %xmm7, -56(%rsp)
+        movsd     -48(%rsp), %xmm12
+        movsd     -56(%rsp), %xmm1
+        addsd     %xmm12, %xmm10
+        movsd     %xmm10, -48(%rsp)
+        movsd     -48(%rsp), %xmm15
+        movsd     4104+_vmldASinHATab(%rip), %xmm7
+        subsd     %xmm15, %xmm11
+        movsd     4320+_vmldASinHATab(%rip), %xmm2
+        addsd     %xmm11, %xmm12
+        mulsd     %xmm3, %xmm2
+        movsd     %xmm12, -56(%rsp)
+        movsd     -48(%rsp), %xmm15
+        mulsd     %xmm15, %xmm7
+        movsd     -56(%rsp), %xmm0
+        movsd     %xmm7, -48(%rsp)
+        movsd     -48(%rsp), %xmm10
+        movsd     4344+_vmldASinHATab(%rip), %xmm3
+        subsd     %xmm15, %xmm10
+        mulsd     %xmm9, %xmm3
+        movsd     %xmm10, -56(%rsp)
+        movsd     -48(%rsp), %xmm11
+        movsd     -56(%rsp), %xmm13
+        subsd     %xmm13, %xmm11
+        addsd     4328+_vmldASinHATab(%rip), %xmm3
+        movsd     %xmm11, -48(%rsp)
+        movsd     -48(%rsp), %xmm14
+        mulsd     %xmm9, %xmm3
+        subsd     %xmm14, %xmm15
+        movsd     %xmm15, -56(%rsp)
+        movsd     -48(%rsp), %xmm10
+        movsd     -56(%rsp), %xmm7
+        addsd     %xmm7, %xmm4
+        addsd     4312+_vmldASinHATab(%rip), %xmm3
+        addsd     %xmm2, %xmm4
+        addsd     %xmm5, %xmm3
+        addsd     %xmm1, %xmm4
+        addsd     %xmm0, %xmm4
+        movsd     4144+_vmldASinHATab(%rip), %xmm0
+        addsd     %xmm3, %xmm4
+        mulsd     %xmm6, %xmm4
+        mulsd     %xmm10, %xmm6
+        addsd     %xmm8, %xmm4
+        movaps    %xmm0, %xmm8
+        subsd     %xmm6, %xmm8
+        movsd     %xmm8, -48(%rsp)
+        movsd     -48(%rsp), %xmm9
+        subsd     %xmm9, %xmm0
+        subsd     %xmm6, %xmm0
+        movsd     %xmm0, -56(%rsp)
+        movsd     -48(%rsp), %xmm2
+        movsd     -56(%rsp), %xmm1
+        movb      3(%rdi), %dil
+        andb      $-128, %dil
+        addsd     4152+_vmldASinHATab(%rip), %xmm1
+        subsd     %xmm4, %xmm1
+        addsd     %xmm1, %xmm2
+        movsd     %xmm2, -40(%rsp)
+        movb      -33(%rsp), %dl
+        andb      $127, %dl
+        orb       %dil, %dl
+        movb      %dl, -33(%rsp)
+        movsd     -40(%rsp), %xmm3
+        cvtsd2ss  %xmm3, %xmm3
+        movss     %xmm3, (%rsi)
+        ret
+
+.LBL_2_10:
+
+        movl      $1, %eax
+        pxor      %xmm1, %xmm1
+        pxor      %xmm0, %xmm0
+        divss     %xmm0, %xmm1
+        movss     %xmm1, (%rsi)
+
+
+        ret
+
+.LBL_2_12:
+
+        movss     (%rdi), %xmm0
+        divss     %xmm0, %xmm0
+        testl     $8388607, (%rdi)
+        movss     %xmm0, (%rsi)
+        sete      %al
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sasin_cout_rare_internal,@function
+       .size   __svml_sasin_cout_rare_internal,.-__svml_sasin_cout_rare_internal
+..LN__svml_sasin_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_sasin_data_internal:
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .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   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   4294963200
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .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   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294959104
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   4294965248
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   3183476740
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1048576001
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1026481159
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1019423339
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1027250868
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1033468946
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1042983679
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .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   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   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   4290772992
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1036306094
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   1042839218
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .long   939876771
+       .type   __svml_sasin_data_internal,@object
+       .size   __svml_sasin_data_internal,1472
+       .align 32
+_vmldASinHATab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072689152
+       .long   0
+       .long   1072685056
+       .long   0
+       .long   1072680960
+       .long   0
+       .long   1072676864
+       .long   0
+       .long   1072672768
+       .long   0
+       .long   1072668672
+       .long   0
+       .long   1072665600
+       .long   0
+       .long   1072661504
+       .long   0
+       .long   1072657408
+       .long   0
+       .long   1072653312
+       .long   0
+       .long   1072649216
+       .long   0
+       .long   1072646144
+       .long   0
+       .long   1072642048
+       .long   0
+       .long   1072637952
+       .long   0
+       .long   1072634880
+       .long   0
+       .long   1072630784
+       .long   0
+       .long   1072626688
+       .long   0
+       .long   1072623616
+       .long   0
+       .long   1072619520
+       .long   0
+       .long   1072615424
+       .long   0
+       .long   1072612352
+       .long   0
+       .long   1072608256
+       .long   0
+       .long   1072605184
+       .long   0
+       .long   1072601088
+       .long   0
+       .long   1072598016
+       .long   0
+       .long   1072593920
+       .long   0
+       .long   1072590848
+       .long   0
+       .long   1072586752
+       .long   0
+       .long   1072583680
+       .long   0
+       .long   1072580608
+       .long   0
+       .long   1072576512
+       .long   0
+       .long   1072573440
+       .long   0
+       .long   1072570368
+       .long   0
+       .long   1072566272
+       .long   0
+       .long   1072563200
+       .long   0
+       .long   1072560128
+       .long   0
+       .long   1072556032
+       .long   0
+       .long   1072552960
+       .long   0
+       .long   1072549888
+       .long   0
+       .long   1072546816
+       .long   0
+       .long   1072542720
+       .long   0
+       .long   1072539648
+       .long   0
+       .long   1072536576
+       .long   0
+       .long   1072533504
+       .long   0
+       .long   1072530432
+       .long   0
+       .long   1072527360
+       .long   0
+       .long   1072523264
+       .long   0
+       .long   1072520192
+       .long   0
+       .long   1072517120
+       .long   0
+       .long   1072514048
+       .long   0
+       .long   1072510976
+       .long   0
+       .long   1072507904
+       .long   0
+       .long   1072504832
+       .long   0
+       .long   1072501760
+       .long   0
+       .long   1072498688
+       .long   0
+       .long   1072495616
+       .long   0
+       .long   1072492544
+       .long   0
+       .long   1072489472
+       .long   0
+       .long   1072486400
+       .long   0
+       .long   1072483328
+       .long   0
+       .long   1072480256
+       .long   0
+       .long   1072478208
+       .long   0
+       .long   1072475136
+       .long   0
+       .long   1072472064
+       .long   0
+       .long   1072468992
+       .long   0
+       .long   1072465920
+       .long   0
+       .long   1072462848
+       .long   0
+       .long   1072459776
+       .long   0
+       .long   1072457728
+       .long   0
+       .long   1072454656
+       .long   0
+       .long   1072451584
+       .long   0
+       .long   1072448512
+       .long   0
+       .long   1072446464
+       .long   0
+       .long   1072443392
+       .long   0
+       .long   1072440320
+       .long   0
+       .long   1072437248
+       .long   0
+       .long   1072435200
+       .long   0
+       .long   1072432128
+       .long   0
+       .long   1072429056
+       .long   0
+       .long   1072427008
+       .long   0
+       .long   1072423936
+       .long   0
+       .long   1072420864
+       .long   0
+       .long   1072418816
+       .long   0
+       .long   1072415744
+       .long   0
+       .long   1072412672
+       .long   0
+       .long   1072410624
+       .long   0
+       .long   1072407552
+       .long   0
+       .long   1072405504
+       .long   0
+       .long   1072402432
+       .long   0
+       .long   1072400384
+       .long   0
+       .long   1072397312
+       .long   0
+       .long   1072395264
+       .long   0
+       .long   1072392192
+       .long   0
+       .long   1072390144
+       .long   0
+       .long   1072387072
+       .long   0
+       .long   1072385024
+       .long   0
+       .long   1072381952
+       .long   0
+       .long   1072379904
+       .long   0
+       .long   1072376832
+       .long   0
+       .long   1072374784
+       .long   0
+       .long   1072371712
+       .long   0
+       .long   1072369664
+       .long   0
+       .long   1072366592
+       .long   0
+       .long   1072364544
+       .long   0
+       .long   1072362496
+       .long   0
+       .long   1072359424
+       .long   0
+       .long   1072357376
+       .long   0
+       .long   1072355328
+       .long   0
+       .long   1072352256
+       .long   0
+       .long   1072350208
+       .long   0
+       .long   1072347136
+       .long   0
+       .long   1072345088
+       .long   0
+       .long   1072343040
+       .long   0
+       .long   1072340992
+       .long   0
+       .long   1072337920
+       .long   0
+       .long   1072335872
+       .long   0
+       .long   1072333824
+       .long   0
+       .long   1072330752
+       .long   0
+       .long   1072328704
+       .long   0
+       .long   1072326656
+       .long   0
+       .long   1072324608
+       .long   0
+       .long   1072321536
+       .long   0
+       .long   1072319488
+       .long   0
+       .long   1072317440
+       .long   0
+       .long   1072315392
+       .long   0
+       .long   1072313344
+       .long   0
+       .long   1072310272
+       .long   0
+       .long   1072308224
+       .long   0
+       .long   1072306176
+       .long   0
+       .long   1072304128
+       .long   0
+       .long   1072302080
+       .long   0
+       .long   1072300032
+       .long   0
+       .long   1072296960
+       .long   0
+       .long   1072294912
+       .long   0
+       .long   1072292864
+       .long   0
+       .long   1072290816
+       .long   0
+       .long   1072288768
+       .long   0
+       .long   1072286720
+       .long   0
+       .long   1072284672
+       .long   0
+       .long   1072282624
+       .long   0
+       .long   1072280576
+       .long   0
+       .long   1072278528
+       .long   0
+       .long   1072275456
+       .long   0
+       .long   1072273408
+       .long   0
+       .long   1072271360
+       .long   0
+       .long   1072269312
+       .long   0
+       .long   1072267264
+       .long   0
+       .long   1072265216
+       .long   0
+       .long   1072263168
+       .long   0
+       .long   1072261120
+       .long   0
+       .long   1072259072
+       .long   0
+       .long   1072257024
+       .long   0
+       .long   1072254976
+       .long   0
+       .long   1072252928
+       .long   0
+       .long   1072250880
+       .long   0
+       .long   1072248832
+       .long   0
+       .long   1072246784
+       .long   0
+       .long   1072244736
+       .long   0
+       .long   1072243712
+       .long   0
+       .long   1072241664
+       .long   0
+       .long   1072239616
+       .long   0
+       .long   1072237568
+       .long   0
+       .long   1072235520
+       .long   0
+       .long   1072233472
+       .long   0
+       .long   1072231424
+       .long   0
+       .long   1072229376
+       .long   0
+       .long   1072227328
+       .long   0
+       .long   1072225280
+       .long   0
+       .long   1072223232
+       .long   0
+       .long   1072222208
+       .long   0
+       .long   1072220160
+       .long   0
+       .long   1072218112
+       .long   0
+       .long   1072216064
+       .long   0
+       .long   1072214016
+       .long   0
+       .long   1072211968
+       .long   0
+       .long   1072210944
+       .long   0
+       .long   1072208896
+       .long   0
+       .long   1072206848
+       .long   0
+       .long   1072204800
+       .long   0
+       .long   1072202752
+       .long   0
+       .long   1072201728
+       .long   0
+       .long   1072199680
+       .long   0
+       .long   1072197632
+       .long   0
+       .long   1072195584
+       .long   0
+       .long   1072193536
+       .long   0
+       .long   1072192512
+       .long   0
+       .long   1072190464
+       .long   0
+       .long   1072188416
+       .long   0
+       .long   1072186368
+       .long   0
+       .long   1072185344
+       .long   0
+       .long   1072183296
+       .long   0
+       .long   1072181248
+       .long   0
+       .long   1072179200
+       .long   0
+       .long   1072178176
+       .long   0
+       .long   1072176128
+       .long   0
+       .long   1072174080
+       .long   0
+       .long   1072173056
+       .long   0
+       .long   1072171008
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072167936
+       .long   0
+       .long   1072165888
+       .long   0
+       .long   1072163840
+       .long   0
+       .long   1072161792
+       .long   0
+       .long   1072160768
+       .long   0
+       .long   1072158720
+       .long   0
+       .long   1072157696
+       .long   0
+       .long   1072155648
+       .long   0
+       .long   1072153600
+       .long   0
+       .long   1072152576
+       .long   0
+       .long   1072150528
+       .long   0
+       .long   1072148480
+       .long   0
+       .long   1072147456
+       .long   0
+       .long   1072145408
+       .long   0
+       .long   1072143360
+       .long   0
+       .long   1072142336
+       .long   0
+       .long   1072140288
+       .long   0
+       .long   1072139264
+       .long   0
+       .long   1072137216
+       .long   0
+       .long   1072135168
+       .long   0
+       .long   1072134144
+       .long   0
+       .long   1072132096
+       .long   0
+       .long   1072131072
+       .long   0
+       .long   1072129024
+       .long   0
+       .long   1072128000
+       .long   0
+       .long   1072125952
+       .long   0
+       .long   1072124928
+       .long   0
+       .long   1072122880
+       .long   0
+       .long   1072120832
+       .long   0
+       .long   1072119808
+       .long   0
+       .long   1072117760
+       .long   0
+       .long   1072116736
+       .long   0
+       .long   1072114688
+       .long   0
+       .long   1072113664
+       .long   0
+       .long   1072111616
+       .long   0
+       .long   1072110592
+       .long   0
+       .long   1072108544
+       .long   0
+       .long   1072107520
+       .long   0
+       .long   1072105472
+       .long   0
+       .long   1072104448
+       .long   0
+       .long   1072102400
+       .long   0
+       .long   1072101376
+       .long   0
+       .long   1072099328
+       .long   0
+       .long   1072098304
+       .long   0
+       .long   1072096256
+       .long   0
+       .long   1072095232
+       .long   0
+       .long   1072094208
+       .long   0
+       .long   1072092160
+       .long   0
+       .long   1072091136
+       .long   0
+       .long   1072089088
+       .long   0
+       .long   1072088064
+       .long   0
+       .long   1072086016
+       .long   0
+       .long   1072084992
+       .long   0
+       .long   1072082944
+       .long   0
+       .long   1072081920
+       .long   0
+       .long   1072080896
+       .long   0
+       .long   1072078848
+       .long   0
+       .long   1072075776
+       .long   0
+       .long   1072073728
+       .long   0
+       .long   1072070656
+       .long   0
+       .long   1072067584
+       .long   0
+       .long   1072064512
+       .long   0
+       .long   1072061440
+       .long   0
+       .long   1072059392
+       .long   0
+       .long   1072056320
+       .long   0
+       .long   1072053248
+       .long   0
+       .long   1072051200
+       .long   0
+       .long   1072048128
+       .long   0
+       .long   1072045056
+       .long   0
+       .long   1072043008
+       .long   0
+       .long   1072039936
+       .long   0
+       .long   1072037888
+       .long   0
+       .long   1072034816
+       .long   0
+       .long   1072031744
+       .long   0
+       .long   1072029696
+       .long   0
+       .long   1072026624
+       .long   0
+       .long   1072024576
+       .long   0
+       .long   1072021504
+       .long   0
+       .long   1072019456
+       .long   0
+       .long   1072016384
+       .long   0
+       .long   1072014336
+       .long   0
+       .long   1072011264
+       .long   0
+       .long   1072009216
+       .long   0
+       .long   1072006144
+       .long   0
+       .long   1072004096
+       .long   0
+       .long   1072002048
+       .long   0
+       .long   1071998976
+       .long   0
+       .long   1071996928
+       .long   0
+       .long   1071993856
+       .long   0
+       .long   1071991808
+       .long   0
+       .long   1071989760
+       .long   0
+       .long   1071986688
+       .long   0
+       .long   1071984640
+       .long   0
+       .long   1071982592
+       .long   0
+       .long   1071979520
+       .long   0
+       .long   1071977472
+       .long   0
+       .long   1071975424
+       .long   0
+       .long   1071972352
+       .long   0
+       .long   1071970304
+       .long   0
+       .long   1071968256
+       .long   0
+       .long   1071966208
+       .long   0
+       .long   1071964160
+       .long   0
+       .long   1071961088
+       .long   0
+       .long   1071959040
+       .long   0
+       .long   1071956992
+       .long   0
+       .long   1071954944
+       .long   0
+       .long   1071952896
+       .long   0
+       .long   1071949824
+       .long   0
+       .long   1071947776
+       .long   0
+       .long   1071945728
+       .long   0
+       .long   1071943680
+       .long   0
+       .long   1071941632
+       .long   0
+       .long   1071939584
+       .long   0
+       .long   1071937536
+       .long   0
+       .long   1071935488
+       .long   0
+       .long   1071933440
+       .long   0
+       .long   1071930368
+       .long   0
+       .long   1071928320
+       .long   0
+       .long   1071926272
+       .long   0
+       .long   1071924224
+       .long   0
+       .long   1071922176
+       .long   0
+       .long   1071920128
+       .long   0
+       .long   1071918080
+       .long   0
+       .long   1071916032
+       .long   0
+       .long   1071913984
+       .long   0
+       .long   1071911936
+       .long   0
+       .long   1071909888
+       .long   0
+       .long   1071907840
+       .long   0
+       .long   1071905792
+       .long   0
+       .long   1071903744
+       .long   0
+       .long   1071901696
+       .long   0
+       .long   1071900672
+       .long   0
+       .long   1071898624
+       .long   0
+       .long   1071896576
+       .long   0
+       .long   1071894528
+       .long   0
+       .long   1071892480
+       .long   0
+       .long   1071890432
+       .long   0
+       .long   1071888384
+       .long   0
+       .long   1071886336
+       .long   0
+       .long   1071884288
+       .long   0
+       .long   1071883264
+       .long   0
+       .long   1071881216
+       .long   0
+       .long   1071879168
+       .long   0
+       .long   1071877120
+       .long   0
+       .long   1071875072
+       .long   0
+       .long   1071873024
+       .long   0
+       .long   1071872000
+       .long   0
+       .long   1071869952
+       .long   0
+       .long   1071867904
+       .long   0
+       .long   1071865856
+       .long   0
+       .long   1071864832
+       .long   0
+       .long   1071862784
+       .long   0
+       .long   1071860736
+       .long   0
+       .long   1071858688
+       .long   0
+       .long   1071856640
+       .long   0
+       .long   1071855616
+       .long   0
+       .long   1071853568
+       .long   0
+       .long   1071851520
+       .long   0
+       .long   1071850496
+       .long   0
+       .long   1071848448
+       .long   0
+       .long   1071846400
+       .long   0
+       .long   1071844352
+       .long   0
+       .long   1071843328
+       .long   0
+       .long   1071841280
+       .long   0
+       .long   1071839232
+       .long   0
+       .long   1071838208
+       .long   0
+       .long   1071836160
+       .long   0
+       .long   1071834112
+       .long   0
+       .long   1071833088
+       .long   0
+       .long   1071831040
+       .long   0
+       .long   1071830016
+       .long   0
+       .long   1071827968
+       .long   0
+       .long   1071825920
+       .long   0
+       .long   1071824896
+       .long   0
+       .long   1071822848
+       .long   0
+       .long   1071821824
+       .long   0
+       .long   1071819776
+       .long   0
+       .long   1071817728
+       .long   0
+       .long   1071816704
+       .long   0
+       .long   1071814656
+       .long   0
+       .long   1071813632
+       .long   0
+       .long   1071811584
+       .long   0
+       .long   1071810560
+       .long   0
+       .long   1071808512
+       .long   0
+       .long   1071806464
+       .long   0
+       .long   1071805440
+       .long   0
+       .long   1071803392
+       .long   0
+       .long   1071802368
+       .long   0
+       .long   1071800320
+       .long   0
+       .long   1071799296
+       .long   0
+       .long   1071797248
+       .long   0
+       .long   1071796224
+       .long   0
+       .long   1071794176
+       .long   0
+       .long   1071793152
+       .long   0
+       .long   1071791104
+       .long   0
+       .long   1071790080
+       .long   0
+       .long   1071788032
+       .long   0
+       .long   1071787008
+       .long   0
+       .long   1071784960
+       .long   0
+       .long   1071783936
+       .long   0
+       .long   1071782912
+       .long   0
+       .long   1071780864
+       .long   0
+       .long   1071779840
+       .long   0
+       .long   1071777792
+       .long   0
+       .long   1071776768
+       .long   0
+       .long   1071774720
+       .long   0
+       .long   1071773696
+       .long   0
+       .long   1071772672
+       .long   0
+       .long   1071770624
+       .long   0
+       .long   1071769600
+       .long   0
+       .long   1071767552
+       .long   0
+       .long   1071766528
+       .long   0
+       .long   1071765504
+       .long   0
+       .long   1071763456
+       .long   0
+       .long   1071762432
+       .long   0
+       .long   1071760384
+       .long   0
+       .long   1071759360
+       .long   0
+       .long   1071758336
+       .long   0
+       .long   1071756288
+       .long   0
+       .long   1071755264
+       .long   0
+       .long   1071754240
+       .long   0
+       .long   1071752192
+       .long   0
+       .long   1071751168
+       .long   0
+       .long   1071750144
+       .long   0
+       .long   1071748096
+       .long   0
+       .long   1071747072
+       .long   0
+       .long   1071746048
+       .long   0
+       .long   1071744000
+       .long   0
+       .long   1071742976
+       .long   0
+       .long   1071741952
+       .long   0
+       .long   1071739904
+       .long   0
+       .long   1071738880
+       .long   0
+       .long   1071737856
+       .long   0
+       .long   1071736832
+       .long   0
+       .long   1071734784
+       .long   0
+       .long   1071733760
+       .long   0
+       .long   1071732736
+       .long   0
+       .long   1071730688
+       .long   0
+       .long   1071729664
+       .long   0
+       .long   1071728640
+       .long   0
+       .long   1071727616
+       .long   0
+       .long   1071725568
+       .long   0
+       .long   1071724544
+       .long   0
+       .long   1071723520
+       .long   0
+       .long   1071722496
+       .long   0
+       .long   1071720448
+       .long   0
+       .long   1071719424
+       .long   0
+       .long   1071718400
+       .long   0
+       .long   1071717376
+       .long   0
+       .long   1071715328
+       .long   0
+       .long   1071714304
+       .long   0
+       .long   1071713280
+       .long   0
+       .long   1071712256
+       .long   0
+       .long   1071711232
+       .long   0
+       .long   1071709184
+       .long   0
+       .long   1071708160
+       .long   0
+       .long   1071707136
+       .long   0
+       .long   1071706112
+       .long   0
+       .long   1071705088
+       .long   0
+       .long   1071704064
+       .long   0
+       .long   1071702016
+       .long   0
+       .long   1071700992
+       .long   0
+       .long   1071699968
+       .long   0
+       .long   1071698944
+       .long   0
+       .long   1071697920
+       .long   0
+       .long   1071696896
+       .long   0
+       .long   1071694848
+       .long   0
+       .long   1071693824
+       .long   0
+       .long   1071692800
+       .long   0
+       .long   1071691776
+       .long   0
+       .long   1071690752
+       .long   0
+       .long   1071689728
+       .long   0
+       .long   1071688704
+       .long   0
+       .long   1071686656
+       .long   0
+       .long   1071685632
+       .long   0
+       .long   1071684608
+       .long   0
+       .long   1071683584
+       .long   0
+       .long   1071682560
+       .long   0
+       .long   1071681536
+       .long   0
+       .long   1071680512
+       .long   0
+       .long   1071679488
+       .long   0
+       .long   1071677440
+       .long   0
+       .long   1071676416
+       .long   0
+       .long   1071675392
+       .long   0
+       .long   1071674368
+       .long   0
+       .long   1071673344
+       .long   0
+       .long   1071672320
+       .long   0
+       .long   1071671296
+       .long   0
+       .long   1071670272
+       .long   0
+       .long   1071669248
+       .long   0
+       .long   1071668224
+       .long   0
+       .long   1071667200
+       .long   0
+       .long   1071666176
+       .long   0
+       .long   1071665152
+       .long   0
+       .long   1071663104
+       .long   0
+       .long   1071662080
+       .long   0
+       .long   1071661056
+       .long   0
+       .long   1071660032
+       .long   0
+       .long   1071659008
+       .long   0
+       .long   1071657984
+       .long   0
+       .long   1071656960
+       .long   0
+       .long   1071655936
+       .long   0
+       .long   1071654912
+       .long   0
+       .long   1071653888
+       .long   0
+       .long   1071652864
+       .long   0
+       .long   1071651840
+       .long   0
+       .long   1071650816
+       .long   0
+       .long   1071649792
+       .long   0
+       .long   1071648768
+       .long   0
+       .long   1071647744
+       .long   0
+       .long   1071646720
+       .long   0
+       .long   1071645696
+       .long   0
+       .long   1071644672
+       .long   0
+       .long   1101004800
+       .long   1073741824
+       .long   1095761920
+       .long   256
+       .long   1118830592
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1017118720
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1071644672
+       .long   1476395008
+       .long   1069897045
+       .long   1768958041
+       .long   3189069141
+       .long   805306368
+       .long   1068708659
+       .long   3580333578
+       .long   1040816593
+       .long   3067382784
+       .long   1067899757
+       .long   3397590151
+       .long   1067392113
+       .long   2939529726
+       .long   1066854585
+       .long   1423429166
+       .long   1066517752
+       .long   1775218934
+       .long   1066178574
+       .long   1185392460
+       .long   1065859647
+       .long   289998670
+       .long   1065577550
+       .long   3179807072
+       .long   1065648121
+       .long   3781007284
+       .long   1061576176
+       .long   2482106687
+       .long   1067019199
+       .long   763519713
+       .long   3214591591
+       .long   3695107454
+       .long   1067530646
+       .long   0
+       .long   1073741824
+       .long   1124791109
+       .long   1006764147
+       .long   1476395008
+       .long   1069897045
+       .long   1953913876
+       .long   3189069141
+       .long   805306368
+       .long   1067660083
+       .long   165110192
+       .long   1039768033
+       .long   3067304082
+       .long   1065802605
+       .long   3404727379
+       .long   1064246385
+       .long   2737480376
+       .long   1062660281
+       .long   933797922
+       .long   1061274873
+       .long   1475716730
+       .long   1059887095
+       .long   1511619763
+       .long   1058519827
+       .long   556024211
+       .long   1057187555
+       .long   3482101045
+       .long   1056217350
+       .long   1174622859
+       .long   1050762633
+       .long   899668651
+       .long   1055506366
+       .long   1081094694
+       .long   3202035365
+       .long   2559814773
+       .long   1053906576
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   3218341888
+       .long   0
+       .long   1070694400
+       .long   0
+       .long   3218046976
+       .long   0
+       .long   1070391296
+       .long   0
+       .long   3217739776
+       .type   _vmldASinHATab,@object
+       .size   _vmldASinHATab,4504
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_asinh_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_asinh_d_la.s
new file mode 100644 (file)
index 0000000..2c8a32d
--- /dev/null
@@ -0,0 +1,874 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *
+ *  *   Compute log(x+sqrt(x*x+1)) using RSQRT14/RSQRT28 for starting the
+ *  *   square root approximation, and small table lookups for log (mapping to
+ *  *   AVX3 permute instructions).
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_asinh8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_asinh8
+
+__svml_asinh8:
+
+
+       .cfi_startproc
+..L2:
+
+        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, %zmm3
+
+/* x^2 */
+        vmulpd    {rn-sae}, %zmm3, %zmm3, %zmm14
+        vmovups   256+__svml_dasinh_data_internal_avx512(%rip), %zmm9
+
+/* polynomial computation for small inputs */
+        vmovups   576+__svml_dasinh_data_internal_avx512(%rip), %zmm10
+        vmovups   640+__svml_dasinh_data_internal_avx512(%rip), %zmm11
+
+/* not a very small input ? */
+        vmovups   384+__svml_dasinh_data_internal_avx512(%rip), %zmm0
+
+/* A=max(x^2, 1); */
+        vmaxpd    {sae}, %zmm14, %zmm9, %zmm4
+
+/* B=min(x^2, 1); */
+        vminpd    {sae}, %zmm14, %zmm9, %zmm5
+        vfmadd231pd {rn-sae}, %zmm14, %zmm10, %zmm11
+
+/* 1+x^2 */
+        vaddpd    {rn-sae}, %zmm9, %zmm14, %zmm8
+
+/* |input| */
+        vandpd    320+__svml_dasinh_data_internal_avx512(%rip), %zmm3, %zmm1
+        vrsqrt14pd %zmm8, %zmm6
+        vcmppd    $21, {sae}, %zmm0, %zmm1, %k2
+
+/* B_high */
+        vsubpd    {rn-sae}, %zmm4, %zmm8, %zmm7
+
+/* sign bit */
+        vxorpd    %zmm3, %zmm1, %zmm2
+        vmulpd    {rn-sae}, %zmm14, %zmm11, %zmm4
+
+/* B_low */
+        vsubpd    {rn-sae}, %zmm7, %zmm5, %zmm13
+        vmovups   832+__svml_dasinh_data_internal_avx512(%rip), %zmm5
+        vmovups   896+__svml_dasinh_data_internal_avx512(%rip), %zmm7
+
+/* polynomial computation for small inputs */
+        vfmadd213pd {rn-sae}, %zmm1, %zmm1, %zmm4
+
+/* (x^2)_low */
+        vmovaps   %zmm3, %zmm15
+        vfmsub213pd {rn-sae}, %zmm14, %zmm3, %zmm15
+
+/* Sh ~sqrt(1+x^2) */
+        vmulpd    {rn-sae}, %zmm6, %zmm8, %zmm14
+
+/* Yl = (x^2)_low + B_low */
+        vaddpd    {rn-sae}, %zmm15, %zmm13, %zmm13
+
+/* very large inputs ? */
+        vmovups   448+__svml_dasinh_data_internal_avx512(%rip), %zmm15
+
+/* (Yh*R0)_low */
+        vfmsub213pd {rn-sae}, %zmm14, %zmm6, %zmm8
+        vcmppd    $21, {sae}, %zmm15, %zmm1, %k1
+
+/* Sl = (Yh*R0)_low+(R0*Yl) */
+        vfmadd213pd {rn-sae}, %zmm8, %zmm6, %zmm13
+        vmovups   512+__svml_dasinh_data_internal_avx512(%rip), %zmm8
+
+/* rel. error term: Eh=1-Sh*R0 */
+        vmovaps   %zmm9, %zmm12
+        vfnmadd231pd {rn-sae}, %zmm14, %zmm6, %zmm12
+        vcmppd    $22, {sae}, %zmm8, %zmm1, %k0
+
+/* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */
+        vfnmadd231pd {rn-sae}, %zmm13, %zmm6, %zmm12
+
+/*
+ * sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s
+ * poly_s = c1+c2*Eh+c3*Eh^2
+ */
+        vmovups   704+__svml_dasinh_data_internal_avx512(%rip), %zmm6
+        vmovups   768+__svml_dasinh_data_internal_avx512(%rip), %zmm8
+
+/* Sh*Eh */
+        vmulpd    {rn-sae}, %zmm12, %zmm14, %zmm11
+        vfmadd231pd {rn-sae}, %zmm12, %zmm6, %zmm8
+
+/* Sh+x */
+        vaddpd    {rn-sae}, %zmm1, %zmm14, %zmm6
+        kmovw     %k0, %edx
+        vfmadd213pd {rn-sae}, %zmm5, %zmm12, %zmm8
+        vfmadd213pd {rn-sae}, %zmm7, %zmm12, %zmm8
+
+/* Xh */
+        vsubpd    {rn-sae}, %zmm14, %zmm6, %zmm12
+
+/* Sl + Sh*Eh*poly_s */
+        vfmadd213pd {rn-sae}, %zmm13, %zmm8, %zmm11
+
+/* fixup for very large inputs */
+        vmovups   1216+__svml_dasinh_data_internal_avx512(%rip), %zmm8
+
+/* Xl */
+        vsubpd    {rn-sae}, %zmm12, %zmm1, %zmm12
+
+/* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */
+        vaddpd    {rn-sae}, %zmm11, %zmm6, %zmm10
+
+/* Sl_high */
+        vsubpd    {rn-sae}, %zmm6, %zmm10, %zmm5
+        vmulpd    {rn-sae}, %zmm8, %zmm1, %zmm10{%k1}
+
+/* Table lookups */
+        vmovups   __svml_dasinh_data_internal_avx512(%rip), %zmm6
+
+/* Sl_l */
+        vsubpd    {rn-sae}, %zmm5, %zmm11, %zmm7
+        vrcp14pd  %zmm10, %zmm13
+
+/* Xin_low */
+        vaddpd    {rn-sae}, %zmm12, %zmm7, %zmm14
+        vmovups   128+__svml_dasinh_data_internal_avx512(%rip), %zmm7
+        vmovups   1536+__svml_dasinh_data_internal_avx512(%rip), %zmm12
+
+/* round reciprocal to 1+4b mantissas */
+        vpaddq    1088+__svml_dasinh_data_internal_avx512(%rip), %zmm13, %zmm11
+
+/* fixup for very large inputs */
+        vxorpd    %zmm14, %zmm14, %zmm14{%k1}
+        vmovups   1600+__svml_dasinh_data_internal_avx512(%rip), %zmm13
+        vandpd    1152+__svml_dasinh_data_internal_avx512(%rip), %zmm11, %zmm15
+        vmovups   1472+__svml_dasinh_data_internal_avx512(%rip), %zmm11
+
+/* Prepare table index */
+        vpsrlq    $48, %zmm15, %zmm5
+
+/* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */
+        vfmsub231pd {rn-sae}, %zmm15, %zmm10, %zmm9
+
+/* exponents */
+        vgetexppd {sae}, %zmm15, %zmm8
+        vmovups   1280+__svml_dasinh_data_internal_avx512(%rip), %zmm10
+        vpermt2pd 64+__svml_dasinh_data_internal_avx512(%rip), %zmm5, %zmm6
+        vpermt2pd 192+__svml_dasinh_data_internal_avx512(%rip), %zmm5, %zmm7
+        vsubpd    {rn-sae}, %zmm10, %zmm8, %zmm8{%k1}
+        vfmadd231pd {rn-sae}, %zmm15, %zmm14, %zmm9
+
+/* polynomials */
+        vmovups   1344+__svml_dasinh_data_internal_avx512(%rip), %zmm10
+        vmovups   1408+__svml_dasinh_data_internal_avx512(%rip), %zmm5
+        vmovups   1664+__svml_dasinh_data_internal_avx512(%rip), %zmm14
+
+/* -K*L2H + Th */
+        vmovups   1920+__svml_dasinh_data_internal_avx512(%rip), %zmm15
+        vfmadd231pd {rn-sae}, %zmm9, %zmm10, %zmm5
+
+/* -K*L2L + Tl */
+        vmovups   1984+__svml_dasinh_data_internal_avx512(%rip), %zmm10
+        vfnmadd231pd {rn-sae}, %zmm8, %zmm15, %zmm6
+        vfmadd213pd {rn-sae}, %zmm11, %zmm9, %zmm5
+        vfnmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm8
+        vmovups   1728+__svml_dasinh_data_internal_avx512(%rip), %zmm7
+        vmovups   1856+__svml_dasinh_data_internal_avx512(%rip), %zmm10
+
+/* R^2 */
+        vmulpd    {rn-sae}, %zmm9, %zmm9, %zmm11
+        vfmadd213pd {rn-sae}, %zmm12, %zmm9, %zmm5
+        vfmadd213pd {rn-sae}, %zmm13, %zmm9, %zmm5
+        vfmadd213pd {rn-sae}, %zmm14, %zmm9, %zmm5
+        vfmadd213pd {rn-sae}, %zmm7, %zmm9, %zmm5
+        vmovups   1792+__svml_dasinh_data_internal_avx512(%rip), %zmm7
+        vfmadd213pd {rn-sae}, %zmm7, %zmm9, %zmm5
+        vfmadd213pd {rn-sae}, %zmm10, %zmm9, %zmm5
+
+/* Tl + R^2*Poly */
+        vfmadd213pd {rn-sae}, %zmm8, %zmm11, %zmm5
+
+/* R+Tl + R^2*Poly */
+        vaddpd    {rn-sae}, %zmm9, %zmm5, %zmm9
+        vaddpd    {rn-sae}, %zmm9, %zmm6, %zmm4{%k2}
+        vxorpd    %zmm2, %zmm4, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm3, 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_dasinh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_asinh8,@function
+       .size   __svml_asinh8,.-__svml_asinh8
+..LN__svml_asinh8.0:
+
+.L_2__routine_start___svml_dasinh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dasinh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        movzwl    6(%rdi), %eax
+        andl      $32752, %eax
+        movq      (%rdi), %rdx
+        cmpl      $32752, %eax
+        jne       .LBL_2_5
+
+
+        testl     $1048575, 4(%rdi)
+        jne       .LBL_2_4
+
+
+        cmpl      $0, (%rdi)
+        je        .LBL_2_5
+
+.LBL_2_4:
+
+        movsd     (%rdi), %xmm0
+        xorl      %eax, %eax
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_5:
+
+        movq      %rdx, (%rsi)
+        xorl      %eax, %eax
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dasinh_cout_rare_internal,@function
+       .size   __svml_dasinh_cout_rare_internal,.-__svml_dasinh_cout_rare_internal
+..LN__svml_dasinh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dasinh_data_internal_avx512:
+       .long   0
+       .long   0
+       .long   3222405120
+       .long   3215919664
+       .long   1848311808
+       .long   3216910087
+       .long   1890025472
+       .long   3217424176
+       .long   3348791296
+       .long   3217854455
+       .long   2880159744
+       .long   3218171740
+       .long   3256631296
+       .long   3218366859
+       .long   4139499520
+       .long   3218553303
+       .long   3971973120
+       .long   3218731811
+       .long   3348791296
+       .long   3218903031
+       .long   1605304320
+       .long   3219067535
+       .long   3827638272
+       .long   3219177074
+       .long   1584414720
+       .long   3219253343
+       .long   860823552
+       .long   3219326935
+       .long   3896934400
+       .long   3219398031
+       .long   643547136
+       .long   3219466797
+       .long   0
+       .long   0
+       .long   3496399314
+       .long   1028893491
+       .long   720371772
+       .long   1026176044
+       .long   1944193543
+       .long   3175338952
+       .long   634920691
+       .long   3175752108
+       .long   1664625295
+       .long   1029304828
+       .long   192624563
+       .long   3177103997
+       .long   3796653051
+       .long   3176138396
+       .long   3062724207
+       .long   3176680434
+       .long   634920691
+       .long   3176800684
+       .long   1913570380
+       .long   3174806221
+       .long   825194088
+       .long   3176465773
+       .long   2335489660
+       .long   3172599741
+       .long   2497625109
+       .long   1029604288
+       .long   914782743
+       .long   1029350199
+       .long   3743595607
+       .long   3175525305
+       .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   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   0
+       .long   1064304640
+       .long   0
+       .long   1064304640
+       .long   0
+       .long   1064304640
+       .long   0
+       .long   1064304640
+       .long   0
+       .long   1064304640
+       .long   0
+       .long   1064304640
+       .long   0
+       .long   1064304640
+       .long   0
+       .long   1064304640
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   0
+       .long   1608515584
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   246350567
+       .long   1068708642
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   1431445118
+       .long   3217380693
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   26490386
+       .long   1070694400
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   20643840
+       .long   1070858240
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .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   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .long   0
+       .long   1071120384
+       .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   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   0
+       .long   1074790400
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1075921768
+       .long   3216615856
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   1847891832
+       .long   1069318246
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   2315602889
+       .long   3217031163
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   4145174257
+       .long   1069697314
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   1436264246
+       .long   3217380693
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   2579396527
+       .long   1070176665
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   4294966373
+       .long   3218079743
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   1431655617
+       .long   1070945621
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .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   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .type   __svml_dasinh_data_internal_avx512,@object
+       .size   __svml_dasinh_data_internal_avx512,2048
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_asinh_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_asinh_s_la.s
new file mode 100644 (file)
index 0000000..f9f7f81
--- /dev/null
@@ -0,0 +1,673 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *
+ *  *   Compute log(x+sqrt(x*x+1)) using RSQRT14/RSQRT28 for starting the
+ *  *   square root approximation, and small table lookups for log (mapping to
+ *  *   AVX3 permute instructions).
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_asinhf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_asinhf16
+
+__svml_asinhf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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, %zmm10
+
+/* x^2 */
+        vmulps    {rn-sae}, %zmm10, %zmm10, %zmm0
+        vmovups   256+__svml_sasinh_data_internal_avx512(%rip), %zmm2
+
+/* polynomial computation for small inputs */
+        vmovups   576+__svml_sasinh_data_internal_avx512(%rip), %zmm1
+
+/* not a very small input ? */
+        vmovups   384+__svml_sasinh_data_internal_avx512(%rip), %zmm11
+
+/* 1+x^2 */
+        vaddps    {rn-sae}, %zmm2, %zmm0, %zmm7
+
+/* |input| */
+        vandps    320+__svml_sasinh_data_internal_avx512(%rip), %zmm10, %zmm12
+
+/* A=max(x^2, 1); */
+        vmaxps    {sae}, %zmm0, %zmm2, %zmm14
+        vrsqrt14ps %zmm7, %zmm8
+
+/* B=min(x^2, 1); */
+        vminps    {sae}, %zmm0, %zmm2, %zmm15
+        vcmpps    $21, {sae}, %zmm11, %zmm12, %k2
+
+/* B_high */
+        vsubps    {rn-sae}, %zmm14, %zmm7, %zmm9
+
+/* sign bit */
+        vxorps    %zmm10, %zmm12, %zmm13
+
+/* Sh ~sqrt(1+x^2) */
+        vmulps    {rn-sae}, %zmm8, %zmm7, %zmm6
+        vmovups   512+__svml_sasinh_data_internal_avx512(%rip), %zmm14
+
+/* B_low */
+        vsubps    {rn-sae}, %zmm9, %zmm15, %zmm3
+
+/* Sh+x */
+        vaddps    {rn-sae}, %zmm12, %zmm6, %zmm15
+
+/* (Yh*R0)_low */
+        vfmsub213ps {rn-sae}, %zmm6, %zmm8, %zmm7
+        vmulps    {rn-sae}, %zmm1, %zmm0, %zmm9
+        vcmpps    $22, {sae}, %zmm14, %zmm12, %k0
+        vmovups   704+__svml_sasinh_data_internal_avx512(%rip), %zmm1
+
+/* polynomial computation for small inputs */
+        vfmadd213ps {rn-sae}, %zmm12, %zmm12, %zmm9
+        kmovw     %k0, %edx
+
+/* (x^2)_low */
+        vmovaps   %zmm10, %zmm4
+        vfmsub213ps {rn-sae}, %zmm0, %zmm10, %zmm4
+
+/* Yl = (x^2)_low + B_low */
+        vaddps    {rn-sae}, %zmm4, %zmm3, %zmm5
+
+/* rel. error term: Eh=1-Sh*R0 */
+        vmovaps   %zmm2, %zmm0
+        vfnmadd231ps {rn-sae}, %zmm6, %zmm8, %zmm0
+
+/* Sl = (Yh*R0)_low+(R0*Yl) */
+        vfmadd213ps {rn-sae}, %zmm7, %zmm8, %zmm5
+
+/* very large inputs ? */
+        vmovups   448+__svml_sasinh_data_internal_avx512(%rip), %zmm7
+
+/* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */
+        vfnmadd231ps {rn-sae}, %zmm5, %zmm8, %zmm0
+
+/* sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s */
+        vmovups   640+__svml_sasinh_data_internal_avx512(%rip), %zmm8
+        vcmpps    $21, {sae}, %zmm7, %zmm12, %k1
+
+/* Sh*Eh */
+        vmulps    {rn-sae}, %zmm0, %zmm6, %zmm4
+        vfmadd231ps {rn-sae}, %zmm0, %zmm8, %zmm1
+
+/* Sl + Sh*Eh*poly_s */
+        vfmadd213ps {rn-sae}, %zmm5, %zmm1, %zmm4
+
+/* Xh */
+        vsubps    {rn-sae}, %zmm6, %zmm15, %zmm5
+
+/* fixup for very large inputs */
+        vmovups   896+__svml_sasinh_data_internal_avx512(%rip), %zmm6
+
+/* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */
+        vaddps    {rn-sae}, %zmm4, %zmm15, %zmm3
+
+/* Xl */
+        vsubps    {rn-sae}, %zmm5, %zmm12, %zmm5
+
+/* Sl_high */
+        vsubps    {rn-sae}, %zmm15, %zmm3, %zmm0
+        vmulps    {rn-sae}, %zmm6, %zmm12, %zmm3{%k1}
+
+/* -K*L2H + Th */
+        vmovups   1216+__svml_sasinh_data_internal_avx512(%rip), %zmm15
+
+/* Sl_l */
+        vsubps    {rn-sae}, %zmm0, %zmm4, %zmm1
+        vrcp14ps  %zmm3, %zmm6
+
+/* Table lookups */
+        vmovups   __svml_sasinh_data_internal_avx512(%rip), %zmm0
+
+/* Xin_low */
+        vaddps    {rn-sae}, %zmm5, %zmm1, %zmm7
+
+/* round reciprocal to 1+4b mantissas */
+        vpaddd    768+__svml_sasinh_data_internal_avx512(%rip), %zmm6, %zmm4
+        vmovups   1152+__svml_sasinh_data_internal_avx512(%rip), %zmm5
+        vandps    832+__svml_sasinh_data_internal_avx512(%rip), %zmm4, %zmm8
+
+/* fixup for very large inputs */
+        vxorps    %zmm7, %zmm7, %zmm7{%k1}
+
+/* polynomial */
+        vmovups   1024+__svml_sasinh_data_internal_avx512(%rip), %zmm4
+
+/* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */
+        vfmsub231ps {rn-sae}, %zmm8, %zmm3, %zmm2
+        vmovups   960+__svml_sasinh_data_internal_avx512(%rip), %zmm3
+
+/* exponents */
+        vgetexpps {sae}, %zmm8, %zmm1
+
+/* Prepare table index */
+        vpsrld    $18, %zmm8, %zmm14
+        vfmadd231ps {rn-sae}, %zmm8, %zmm7, %zmm2
+        vmovups   1088+__svml_sasinh_data_internal_avx512(%rip), %zmm7
+        vsubps    {rn-sae}, %zmm3, %zmm1, %zmm1{%k1}
+        vpermt2ps 64+__svml_sasinh_data_internal_avx512(%rip), %zmm14, %zmm0
+        vmovups   128+__svml_sasinh_data_internal_avx512(%rip), %zmm3
+        vfmadd231ps {rn-sae}, %zmm2, %zmm4, %zmm7
+        vfnmadd231ps {rn-sae}, %zmm1, %zmm15, %zmm0
+
+/* R^2 */
+        vmulps    {rn-sae}, %zmm2, %zmm2, %zmm6
+        vfmadd213ps {rn-sae}, %zmm5, %zmm2, %zmm7
+        vpermt2ps 192+__svml_sasinh_data_internal_avx512(%rip), %zmm14, %zmm3
+
+/* -K*L2L + Tl */
+        vmovups   1280+__svml_sasinh_data_internal_avx512(%rip), %zmm14
+        vfnmadd213ps {rn-sae}, %zmm3, %zmm14, %zmm1
+
+/* Tl + R^2*Poly */
+        vfmadd213ps {rn-sae}, %zmm1, %zmm6, %zmm7
+
+/* R+Tl + R^2*Poly */
+        vaddps    {rn-sae}, %zmm2, %zmm7, %zmm2
+        vaddps    {rn-sae}, %zmm2, %zmm0, %zmm9{%k2}
+        vxorps    %zmm13, %zmm9, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm10, 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_sasinh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_asinhf16,@function
+       .size   __svml_asinhf16,.-__svml_asinhf16
+..LN__svml_asinhf16.0:
+
+.L_2__routine_start___svml_sasinh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_sasinh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        movl      (%rdi), %eax
+        movl      %eax, -8(%rsp)
+        andl      $2139095040, %eax
+        cmpl      $2139095040, %eax
+        jne       .LBL_2_4
+
+
+        testl     $8388607, -8(%rsp)
+        je        .LBL_2_4
+
+
+        movss     -8(%rsp), %xmm0
+        xorl      %eax, %eax
+        mulss     -8(%rsp), %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_4:
+
+        movl      -8(%rsp), %eax
+        movl      %eax, (%rsi)
+        xorl      %eax, %eax
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sasinh_cout_rare_internal,@function
+       .size   __svml_sasinh_cout_rare_internal,.-__svml_sasinh_cout_rare_internal
+..LN__svml_sasinh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_sasinh_data_internal_avx512:
+       .long   0
+       .long   3170631680
+       .long   3178790912
+       .long   3182919680
+       .long   3186704384
+       .long   3189022720
+       .long   3190816768
+       .long   3192561664
+       .long   3194257408
+       .long   3195912192
+       .long   3196796928
+       .long   3197583360
+       .long   3198357504
+       .long   3199111168
+       .long   3199848448
+       .long   3200569344
+       .long   3201277952
+       .long   3201966080
+       .long   3202646016
+       .long   3203309568
+       .long   3203960832
+       .long   3204524032
+       .long   3204837376
+       .long   3205146624
+       .long   3205447680
+       .long   3205744640
+       .long   3206037504
+       .long   3206324224
+       .long   3206606848
+       .long   3206883328
+       .long   3207155712
+       .long   3207424000
+       .long   2147483648
+       .long   3072770974
+       .long   943319038
+       .long   3075640037
+       .long   930648533
+       .long   3089726480
+       .long   936349528
+       .long   944943494
+       .long   897812054
+       .long   3087808175
+       .long   941839444
+       .long   3093478113
+       .long   937982919
+       .long   931430736
+       .long   924853521
+       .long   3075349253
+       .long   945558336
+       .long   3094838221
+       .long   906200662
+       .long   3084126596
+       .long   3088015279
+       .long   3089451852
+       .long   3093678154
+       .long   938521645
+       .long   3091119329
+       .long   3090949395
+       .long   933442244
+       .long   930702671
+       .long   945827699
+       .long   913590776
+       .long   3082066287
+       .long   3087046763
+       .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   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1015021568
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   1593835520
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   3190466014
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .long   1052770304
+       .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   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1040187392
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   1082130432
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .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
+       .type   __svml_sasinh_data_internal_avx512,@object
+       .size   __svml_sasinh_data_internal_avx512,1344
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_atan2_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_atan2_d_la.s
new file mode 100644 (file)
index 0000000..75b0935
--- /dev/null
@@ -0,0 +1,2393 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *      For    0.0    <= x <=  7.0/16.0: atan(x) = atan(0.0) + atan(s), where s=(x-0.0)/(1.0+0.0*x)
+ *      For  7.0/16.0 <= x <= 11.0/16.0: atan(x) = atan(0.5) + atan(s), where s=(x-0.5)/(1.0+0.5*x)
+ *      For 11.0/16.0 <= x <= 19.0/16.0: atan(x) = atan(1.0) + atan(s), where s=(x-1.0)/(1.0+1.0*x)
+ *      For 19.0/16.0 <= x <= 39.0/16.0: atan(x) = atan(1.5) + atan(s), where s=(x-1.5)/(1.0+1.5*x)
+ *      For 39.0/16.0 <= x <=    inf   : atan(x) = atan(inf) + atan(s), where s=-1.0/x
+ *      Where atan(s) ~= s+s^3*Poly11(s^2) on interval |s|<7.0/0.16.
+ * --
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_atan28_z0_0:
+
+       .align    16,0x90
+       .globl __svml_atan28
+
+__svml_atan28:
+
+
+       .cfi_startproc
+..L2:
+
+        pushq     %rbp
+       .cfi_def_cfa_offset 16
+        movq      %rsp, %rbp
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+        andq      $-64, %rsp
+        subq      $256, %rsp
+        xorl      %edx, %edx
+
+
+        vmovups   1728+__svml_datan2_data_internal(%rip), %zmm4
+
+/* Argument signs */
+        vmovups   1536+__svml_datan2_data_internal(%rip), %zmm6
+
+/*
+ * 1) If y<x then a= y, b=x, PIO2=0
+ * 2) If y>x then a=-x, b=y, PIO2=Pi/2
+ */
+        vmovups   64+__svml_datan2_data_internal(%rip), %zmm3
+        vandpd    %zmm4, %zmm0, %zmm11
+        vmovaps   %zmm1, %zmm7
+        vandpd    %zmm4, %zmm7, %zmm2
+        vandpd    %zmm6, %zmm7, %zmm5
+        vandpd    %zmm6, %zmm0, %zmm4
+        vorpd     %zmm6, %zmm2, %zmm12
+        vcmppd    $17, {sae}, %zmm2, %zmm11, %k1
+        vmovdqu   1664+__svml_datan2_data_internal(%rip), %ymm6
+        vmovups   %zmm11, 64(%rsp)
+
+/* Check if y and x are on main path. */
+        vpsrlq    $32, %zmm2, %zmm9
+        vblendmpd %zmm11, %zmm12, %zmm13{%k1}
+        vblendmpd %zmm2, %zmm11, %zmm15{%k1}
+        vpsrlq    $32, %zmm11, %zmm8
+        vmovdqu   1600+__svml_datan2_data_internal(%rip), %ymm12
+        vdivpd    {rn-sae}, %zmm15, %zmm13, %zmm1
+        vmovups   %zmm15, (%rsp)
+        vpmovqd   %zmm9, %ymm14
+        vpmovqd   %zmm8, %ymm10
+        vxorpd    %zmm3, %zmm3, %zmm3{%k1}
+        vpsubd    %ymm12, %ymm14, %ymm13
+        vpsubd    %ymm12, %ymm10, %ymm9
+
+/* Polynomial. */
+        vmulpd    {rn-sae}, %zmm1, %zmm1, %zmm12
+        vpcmpgtd  %ymm6, %ymm13, %ymm15
+        vpcmpeqd  %ymm6, %ymm13, %ymm11
+        vmulpd    {rn-sae}, %zmm12, %zmm12, %zmm13
+        vpor      %ymm11, %ymm15, %ymm8
+        vmovups   256+__svml_datan2_data_internal(%rip), %zmm11
+        vmovups   512+__svml_datan2_data_internal(%rip), %zmm15
+        vpcmpgtd  %ymm6, %ymm9, %ymm14
+        vpcmpeqd  %ymm6, %ymm9, %ymm6
+        vpor      %ymm6, %ymm14, %ymm10
+        vmulpd    {rn-sae}, %zmm13, %zmm13, %zmm14
+        vmovups   320+__svml_datan2_data_internal(%rip), %zmm9
+        vpor      %ymm10, %ymm8, %ymm6
+        vmovups   384+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd231pd {rn-sae}, %zmm14, %zmm11, %zmm15
+        vmovups   576+__svml_datan2_data_internal(%rip), %zmm11
+        vmovups   704+__svml_datan2_data_internal(%rip), %zmm8
+        vfmadd231pd {rn-sae}, %zmm14, %zmm9, %zmm11
+        vmovups   640+__svml_datan2_data_internal(%rip), %zmm9
+        vfmadd231pd {rn-sae}, %zmm14, %zmm10, %zmm9
+        vmovups   448+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd231pd {rn-sae}, %zmm14, %zmm10, %zmm8
+        vmovups   768+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm15
+        vmovups   832+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm11
+        vmovups   896+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm9
+        vmovups   960+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm8
+        vmovups   1024+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm15
+        vmovups   1088+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm11
+        vmovups   1152+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm9
+        vmovups   1216+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm8
+        vmovups   1280+__svml_datan2_data_internal(%rip), %zmm10
+
+/* A00=1.0, account for it later  VQFMA(D, dP4, dP4, dR8, dA00); */
+        vmulpd    {rn-sae}, %zmm14, %zmm8, %zmm8
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm15
+        vmovups   1344+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm11
+        vmovups   1408+__svml_datan2_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm11, %zmm12, %zmm15
+        vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm9
+        vfmadd213pd {rn-sae}, %zmm8, %zmm12, %zmm9
+        vmovups   __svml_datan2_data_internal(%rip), %zmm8
+        vfmadd213pd {rn-sae}, %zmm9, %zmm13, %zmm15
+
+/*
+ * Reconstruction.
+ * dP=(R+R*dP) + dPIO2
+ */
+        vfmadd213pd {rn-sae}, %zmm1, %zmm1, %zmm15
+        vaddpd    {rn-sae}, %zmm3, %zmm15, %zmm1
+        vorpd     %zmm5, %zmm1, %zmm9
+
+/* if x<0, dPI = Pi, else dPI =0 */
+        vmovups   1792+__svml_datan2_data_internal(%rip), %zmm1
+        vcmppd    $18, {sae}, %zmm1, %zmm7, %k2
+        vaddpd    {rn-sae}, %zmm8, %zmm9, %zmm9{%k2}
+        vmovmskps %ymm6, %eax
+        vorpd     %zmm4, %zmm9, %zmm11
+
+/* =========== Special branch for fast (vector) processing of zero arguments ================ */
+        vmovups   64(%rsp), %zmm9
+        testl     %eax, %eax
+        jne       .LBL_1_12
+
+.LBL_1_2:
+
+
+/*
+ * =========== Special branch for fast (vector) processing of zero arguments ================
+ * -------------- The end of implementation ----------------
+ */
+        testl     %edx, %edx
+        jne       .LBL_1_4
+
+.LBL_1_3:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm11, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_4:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm7, 128(%rsp)
+        vmovups   %zmm11, 192(%rsp)
+        je        .LBL_1_3
+
+
+        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, 0x28, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 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, 0x30, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_8:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_11
+
+.LBL_1_9:
+
+        incl      %r12d
+        cmpl      $8, %r12d
+        jl        .LBL_1_8
+
+
+        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   192(%rsp), %zmm11
+        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_3
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x28, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_11:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+        lea       192(%rsp,%r12,8), %rdx
+
+        call      __svml_datan2_cout_rare_internal
+        jmp       .LBL_1_9
+       .cfi_restore 4
+       .cfi_restore 5
+       .cfi_restore 12
+       .cfi_restore 13
+       .cfi_restore 122
+       .cfi_restore 123
+       .cfi_restore 124
+       .cfi_restore 125
+
+.LBL_1_12:
+
+
+/* Check if both X & Y are not NaNs:  iXYnotNAN */
+        vcmppd    $3, {sae}, %zmm7, %zmm7, %k1
+        vcmppd    $3, {sae}, %zmm0, %zmm0, %k2
+
+/* Check if at least on of Y or Y is zero: iAXAYZERO */
+        vmovups   1792+__svml_datan2_data_internal(%rip), %zmm8
+        vpbroadcastq .L_2il0floatpacket.31(%rip), %zmm10
+        vcmppd    $4, {sae}, %zmm8, %zmm2, %k3
+        vmovaps   %zmm10, %zmm12
+        vmovaps   %zmm10, %zmm15
+        vmovaps   %zmm10, %zmm13
+        vpandnq   %zmm7, %zmm7, %zmm12{%k1}
+        vcmppd    $4, {sae}, %zmm8, %zmm9, %k1
+        vpandnq   %zmm2, %zmm2, %zmm15{%k3}
+        vmovaps   %zmm10, %zmm2
+
+/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */
+        vpcmpgtq  %zmm7, %zmm8, %k3
+        vpandnq   %zmm0, %zmm0, %zmm13{%k2}
+        vpandnq   %zmm9, %zmm9, %zmm2{%k1}
+        vandpd    %zmm13, %zmm12, %zmm14
+        vorpd     %zmm2, %zmm15, %zmm9
+        vpsrlq    $32, %zmm14, %zmm1
+        vpsrlq    $32, %zmm9, %zmm2
+        vpmovqd   %zmm1, %ymm1
+        vpmovqd   %zmm2, %ymm9
+
+/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */
+        vpand     %ymm1, %ymm9, %ymm2
+
+/*
+ * -------- Path for zero arguments (at least one of both) --------------
+ * Check if both args are zeros (den. is zero)
+ */
+        vmovups   (%rsp), %zmm1
+
+/* Exclude from previous callout mask zero (and not NaN) arguments */
+        vpandn    %ymm6, %ymm2, %ymm6
+        vcmppd    $4, {sae}, %zmm8, %zmm1, %k2
+
+/* Go to callout */
+        vmovmskps %ymm6, %edx
+        vpandnq   %zmm1, %zmm1, %zmm10{%k2}
+
+/* Set sPIO2 to zero if den. is zero */
+        vpandnq   %zmm3, %zmm10, %zmm3
+        vpandq    %zmm10, %zmm8, %zmm1
+        vporq     %zmm1, %zmm3, %zmm3
+        vorpd     %zmm5, %zmm3, %zmm1
+        vmovups   __svml_datan2_data_internal(%rip), %zmm5
+        vaddpd    {rn-sae}, %zmm5, %zmm1, %zmm1{%k3}
+        vorpd     %zmm4, %zmm1, %zmm1
+
+/* Merge results from main and spec path */
+        vpmovzxdq %ymm2, %zmm4
+        vpsllq    $32, %zmm4, %zmm2
+        vpord     %zmm2, %zmm4, %zmm3
+        vpandnq   %zmm11, %zmm3, %zmm11
+        vpandq    %zmm3, %zmm1, %zmm1
+        vporq     %zmm1, %zmm11, %zmm11
+        jmp       .LBL_1_2
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_atan28,@function
+       .size   __svml_atan28,.-__svml_atan28
+..LN__svml_atan28.0:
+
+.L_2__routine_start___svml_datan2_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_datan2_cout_rare_internal:
+
+
+       .cfi_startproc
+..L65:
+
+        movq      %rdx, %rcx
+        movsd     1888+__datan2_la_CoutTab(%rip), %xmm1
+        movsd     (%rdi), %xmm2
+        movsd     (%rsi), %xmm0
+        mulsd     %xmm1, %xmm2
+        mulsd     %xmm0, %xmm1
+        movsd     %xmm2, -48(%rsp)
+        movsd     %xmm1, -40(%rsp)
+        movzwl    -42(%rsp), %r9d
+        andl      $32752, %r9d
+        movb      -33(%rsp), %al
+        movzwl    -34(%rsp), %r8d
+        andb      $-128, %al
+        andl      $32752, %r8d
+        shrl      $4, %r9d
+        movb      -41(%rsp), %dl
+        shrb      $7, %dl
+        shrb      $7, %al
+        shrl      $4, %r8d
+        cmpl      $2047, %r9d
+        je        .LBL_2_49
+
+
+        cmpl      $2047, %r8d
+        je        .LBL_2_38
+
+
+        testl     %r9d, %r9d
+        jne       .LBL_2_6
+
+
+        testl     $1048575, -44(%rsp)
+        jne       .LBL_2_6
+
+
+        cmpl      $0, -48(%rsp)
+        je        .LBL_2_31
+
+.LBL_2_6:
+
+        testl     %r8d, %r8d
+        jne       .LBL_2_9
+
+
+        testl     $1048575, -36(%rsp)
+        jne       .LBL_2_9
+
+
+        cmpl      $0, -40(%rsp)
+        je        .LBL_2_29
+
+.LBL_2_9:
+
+        negl      %r8d
+        movsd     %xmm2, -48(%rsp)
+        addl      %r9d, %r8d
+        movsd     %xmm1, -40(%rsp)
+        movb      -41(%rsp), %dil
+        movb      -33(%rsp), %sil
+        andb      $127, %dil
+        andb      $127, %sil
+        cmpl      $-54, %r8d
+        jle       .LBL_2_24
+
+
+        cmpl      $54, %r8d
+        jge       .LBL_2_21
+
+
+        movb      %sil, -33(%rsp)
+        movb      %dil, -41(%rsp)
+        testb     %al, %al
+        jne       .LBL_2_13
+
+
+        movsd     1976+__datan2_la_CoutTab(%rip), %xmm1
+        movaps    %xmm1, %xmm0
+        jmp       .LBL_2_14
+
+.LBL_2_13:
+
+        movsd     1936+__datan2_la_CoutTab(%rip), %xmm1
+        movsd     1944+__datan2_la_CoutTab(%rip), %xmm0
+
+.LBL_2_14:
+
+        movsd     -48(%rsp), %xmm4
+        movsd     -40(%rsp), %xmm2
+        movaps    %xmm4, %xmm5
+        divsd     %xmm2, %xmm5
+        movzwl    -42(%rsp), %esi
+        movsd     %xmm5, -16(%rsp)
+        testl     %r9d, %r9d
+        jle       .LBL_2_37
+
+
+        cmpl      $2046, %r9d
+        jge       .LBL_2_17
+
+
+        andl      $-32753, %esi
+        addl      $-1023, %r9d
+        movsd     %xmm4, -48(%rsp)
+        addl      $16368, %esi
+        movw      %si, -42(%rsp)
+        jmp       .LBL_2_18
+
+.LBL_2_17:
+
+        movsd     1992+__datan2_la_CoutTab(%rip), %xmm3
+        movl      $1022, %r9d
+        mulsd     %xmm3, %xmm4
+        movsd     %xmm4, -48(%rsp)
+
+.LBL_2_18:
+
+        negl      %r9d
+        addl      $1023, %r9d
+        andl      $2047, %r9d
+        movzwl    1894+__datan2_la_CoutTab(%rip), %esi
+        movsd     1888+__datan2_la_CoutTab(%rip), %xmm3
+        andl      $-32753, %esi
+        shll      $4, %r9d
+        movsd     %xmm3, -40(%rsp)
+        orl       %r9d, %esi
+        movw      %si, -34(%rsp)
+        movsd     -40(%rsp), %xmm4
+        mulsd     %xmm4, %xmm2
+        comisd    1880+__datan2_la_CoutTab(%rip), %xmm5
+        jb        .LBL_2_20
+
+
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm12
+        movaps    %xmm2, %xmm3
+        mulsd     %xmm2, %xmm12
+        movsd     %xmm12, -72(%rsp)
+        movsd     -72(%rsp), %xmm13
+        movsd     %xmm5, -24(%rsp)
+        subsd     %xmm2, %xmm13
+        movsd     %xmm13, -64(%rsp)
+        movsd     -72(%rsp), %xmm15
+        movsd     -64(%rsp), %xmm14
+        movl      -20(%rsp), %r8d
+        movl      %r8d, %r9d
+        andl      $-524288, %r8d
+        andl      $-1048576, %r9d
+        addl      $262144, %r8d
+        subsd     %xmm14, %xmm15
+        movsd     %xmm15, -72(%rsp)
+        andl      $1048575, %r8d
+        movsd     -72(%rsp), %xmm4
+        orl       %r8d, %r9d
+        movl      $0, -24(%rsp)
+        subsd     %xmm4, %xmm3
+        movl      %r9d, -20(%rsp)
+        movsd     %xmm3, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -24(%rsp), %xmm11
+        movsd     -64(%rsp), %xmm9
+        mulsd     %xmm11, %xmm5
+        mulsd     %xmm11, %xmm9
+        movsd     1968+__datan2_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm8, %xmm5
+        mulsd     %xmm8, %xmm9
+        movaps    %xmm5, %xmm7
+        movzwl    -10(%rsp), %edi
+        addsd     %xmm9, %xmm7
+        movsd     %xmm7, -72(%rsp)
+        andl      $32752, %edi
+        movsd     -72(%rsp), %xmm6
+        shrl      $4, %edi
+        subsd     %xmm6, %xmm5
+        movl      -12(%rsp), %esi
+        addsd     %xmm5, %xmm9
+        movsd     %xmm9, -64(%rsp)
+        andl      $1048575, %esi
+        movsd     -48(%rsp), %xmm9
+        movsd     -72(%rsp), %xmm3
+        movaps    %xmm9, %xmm12
+        movsd     -64(%rsp), %xmm10
+        movaps    %xmm9, %xmm14
+        movaps    %xmm9, %xmm6
+        addsd     %xmm3, %xmm12
+        movsd     %xmm12, -72(%rsp)
+        movsd     -72(%rsp), %xmm13
+        shll      $20, %edi
+        subsd     %xmm13, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        orl       %esi, %edi
+        movsd     -72(%rsp), %xmm4
+        addl      $-1069547520, %edi
+        movsd     -64(%rsp), %xmm15
+        movl      $113, %esi
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm13
+        addsd     %xmm15, %xmm4
+        movsd     %xmm4, -56(%rsp)
+        movsd     -64(%rsp), %xmm8
+        sarl      $19, %edi
+        addsd     %xmm3, %xmm8
+        movsd     %xmm8, -64(%rsp)
+        cmpl      $113, %edi
+        movsd     -56(%rsp), %xmm7
+        cmovl     %edi, %esi
+        subsd     %xmm7, %xmm6
+        movsd     %xmm6, -56(%rsp)
+        addl      %esi, %esi
+        movsd     -64(%rsp), %xmm12
+        lea       __datan2_la_CoutTab(%rip), %rdi
+        movsd     -56(%rsp), %xmm5
+        movslq    %esi, %rsi
+        addsd     %xmm5, %xmm12
+        movsd     %xmm12, -56(%rsp)
+        movsd     -72(%rsp), %xmm7
+        mulsd     %xmm7, %xmm13
+        movsd     -56(%rsp), %xmm8
+        movsd     %xmm13, -72(%rsp)
+        addsd     %xmm10, %xmm8
+        movsd     -72(%rsp), %xmm4
+        movaps    %xmm9, %xmm10
+        mulsd     2000+__datan2_la_CoutTab(%rip), %xmm10
+        subsd     %xmm7, %xmm4
+        movsd     %xmm4, -64(%rsp)
+        movsd     -72(%rsp), %xmm3
+        movsd     -64(%rsp), %xmm14
+        subsd     %xmm14, %xmm3
+        movsd     %xmm3, -72(%rsp)
+        movsd     -72(%rsp), %xmm15
+        subsd     %xmm15, %xmm7
+        movsd     %xmm7, -64(%rsp)
+        movsd     -72(%rsp), %xmm7
+        movsd     -64(%rsp), %xmm4
+        movsd     %xmm10, -72(%rsp)
+        movaps    %xmm2, %xmm10
+        addsd     %xmm4, %xmm8
+        movsd     -72(%rsp), %xmm4
+        subsd     -48(%rsp), %xmm4
+        movsd     %xmm4, -64(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     -64(%rsp), %xmm3
+        subsd     %xmm3, %xmm6
+        movaps    %xmm2, %xmm3
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm5
+        subsd     %xmm5, %xmm9
+        movsd     %xmm9, -64(%rsp)
+        movsd     -72(%rsp), %xmm12
+        movsd     -64(%rsp), %xmm9
+        mulsd     %xmm11, %xmm12
+        mulsd     %xmm11, %xmm9
+        movaps    %xmm12, %xmm11
+        addsd     %xmm9, %xmm11
+        movsd     %xmm11, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        subsd     %xmm4, %xmm12
+        addsd     %xmm9, %xmm12
+        movsd     %xmm12, -64(%rsp)
+        movsd     -72(%rsp), %xmm15
+        movsd     -64(%rsp), %xmm6
+        addsd     %xmm15, %xmm3
+        movsd     %xmm3, -72(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm5, %xmm10
+        movsd     %xmm10, -64(%rsp)
+        movsd     -72(%rsp), %xmm13
+        movsd     -64(%rsp), %xmm11
+        addsd     %xmm11, %xmm13
+        movsd     %xmm13, -56(%rsp)
+        movsd     -64(%rsp), %xmm14
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm13
+        addsd     %xmm14, %xmm15
+        movsd     %xmm15, -64(%rsp)
+        movsd     -56(%rsp), %xmm4
+        movsd     1888+__datan2_la_CoutTab(%rip), %xmm14
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movsd     -64(%rsp), %xmm4
+        movsd     -56(%rsp), %xmm2
+        addsd     %xmm2, %xmm4
+        movsd     %xmm4, -56(%rsp)
+        movsd     -72(%rsp), %xmm12
+        mulsd     %xmm12, %xmm3
+        movsd     -56(%rsp), %xmm5
+        movsd     %xmm3, -72(%rsp)
+        addsd     %xmm6, %xmm5
+        movsd     -72(%rsp), %xmm9
+        subsd     %xmm12, %xmm9
+        movsd     %xmm9, -64(%rsp)
+        movsd     -72(%rsp), %xmm10
+        movsd     -64(%rsp), %xmm2
+        subsd     %xmm2, %xmm10
+        movsd     %xmm10, -72(%rsp)
+        movsd     -72(%rsp), %xmm11
+        subsd     %xmm11, %xmm12
+        movsd     %xmm12, -64(%rsp)
+        movsd     -72(%rsp), %xmm9
+        divsd     %xmm9, %xmm14
+        mulsd     %xmm14, %xmm13
+        movsd     -64(%rsp), %xmm10
+        movsd     %xmm13, -64(%rsp)
+        addsd     %xmm10, %xmm5
+        movsd     -64(%rsp), %xmm15
+        movsd     1888+__datan2_la_CoutTab(%rip), %xmm12
+        subsd     %xmm14, %xmm15
+        movsd     %xmm15, -56(%rsp)
+        movsd     -64(%rsp), %xmm2
+        movsd     -56(%rsp), %xmm4
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm13
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movsd     -56(%rsp), %xmm3
+        mulsd     %xmm3, %xmm9
+        movsd     -56(%rsp), %xmm11
+        subsd     %xmm9, %xmm12
+        mulsd     %xmm11, %xmm5
+        movsd     %xmm5, -64(%rsp)
+        movsd     -64(%rsp), %xmm5
+        subsd     %xmm5, %xmm12
+        movsd     %xmm12, -64(%rsp)
+        movsd     -64(%rsp), %xmm2
+        movq      -56(%rsp), %r10
+        movsd     -64(%rsp), %xmm6
+        movsd     -56(%rsp), %xmm4
+        movq      %r10, -40(%rsp)
+        movsd     -40(%rsp), %xmm3
+        movaps    %xmm3, %xmm5
+        addsd     1888+__datan2_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm7, %xmm5
+        mulsd     %xmm6, %xmm2
+        mulsd     %xmm4, %xmm2
+        mulsd     %xmm2, %xmm7
+        mulsd     %xmm8, %xmm2
+        mulsd     %xmm3, %xmm8
+        addsd     %xmm2, %xmm7
+        movsd     1872+__datan2_la_CoutTab(%rip), %xmm3
+        addsd     %xmm8, %xmm7
+        movsd     %xmm7, -72(%rsp)
+        movaps    %xmm5, %xmm7
+        movsd     -72(%rsp), %xmm4
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm6
+        addsd     %xmm4, %xmm7
+        movsd     %xmm7, -72(%rsp)
+        movsd     -72(%rsp), %xmm8
+        subsd     %xmm8, %xmm5
+        addsd     %xmm4, %xmm5
+        movsd     %xmm5, -64(%rsp)
+        movsd     -72(%rsp), %xmm11
+        movaps    %xmm11, %xmm2
+        mulsd     %xmm11, %xmm2
+        mulsd     %xmm11, %xmm6
+        mulsd     %xmm2, %xmm3
+        movsd     -64(%rsp), %xmm4
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm7
+        addsd     1864+__datan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm11, %xmm7
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm7, -64(%rsp)
+        movsd     -72(%rsp), %xmm9
+        movsd     -64(%rsp), %xmm8
+        addsd     1856+__datan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm8, %xmm9
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm9, -72(%rsp)
+        movsd     -72(%rsp), %xmm10
+        addsd     1848+__datan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm10, %xmm11
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm11, -64(%rsp)
+        addsd     1840+__datan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        addsd     1832+__datan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        addsd     1824+__datan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        mulsd     %xmm3, %xmm13
+        movsd     -72(%rsp), %xmm2
+        movsd     -64(%rsp), %xmm12
+        movsd     %xmm13, -72(%rsp)
+        addsd     %xmm12, %xmm4
+        movsd     -72(%rsp), %xmm14
+        subsd     %xmm3, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -64(%rsp), %xmm15
+        subsd     %xmm15, %xmm5
+        movsd     %xmm5, -72(%rsp)
+        movsd     -72(%rsp), %xmm6
+        subsd     %xmm6, %xmm3
+        movsd     %xmm3, -64(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     -64(%rsp), %xmm5
+        movaps    %xmm6, %xmm12
+        movaps    %xmm5, %xmm3
+        mulsd     %xmm4, %xmm6
+        mulsd     %xmm4, %xmm3
+        mulsd     %xmm2, %xmm5
+        mulsd     %xmm2, %xmm12
+        addsd     %xmm3, %xmm6
+        movaps    %xmm12, %xmm7
+        movaps    %xmm12, %xmm8
+        addsd     %xmm5, %xmm6
+        addsd     %xmm2, %xmm7
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     %xmm7, -72(%rsp)
+        movsd     -72(%rsp), %xmm3
+        subsd     %xmm3, %xmm8
+        movsd     %xmm8, -64(%rsp)
+        movsd     -72(%rsp), %xmm10
+        movsd     -64(%rsp), %xmm9
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movsd     -64(%rsp), %xmm11
+        addsd     %xmm11, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -56(%rsp), %xmm2
+        subsd     %xmm2, %xmm12
+        movsd     %xmm12, -56(%rsp)
+        movsd     -64(%rsp), %xmm14
+        movsd     -56(%rsp), %xmm13
+        addsd     %xmm13, %xmm14
+        movsd     %xmm14, -56(%rsp)
+        movq      -72(%rsp), %r11
+        movsd     -56(%rsp), %xmm15
+        movq      %r11, -40(%rsp)
+        addsd     %xmm15, %xmm4
+        movsd     -40(%rsp), %xmm8
+        addsd     %xmm5, %xmm4
+        movsd     %xmm4, -32(%rsp)
+        movaps    %xmm8, %xmm4
+        movaps    %xmm8, %xmm2
+        addsd     (%rdi,%rsi,8), %xmm4
+        movsd     %xmm4, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -64(%rsp), %xmm3
+        addsd     %xmm3, %xmm5
+        movsd     %xmm5, -56(%rsp)
+        movsd     -64(%rsp), %xmm6
+        addsd     (%rdi,%rsi,8), %xmm6
+        movsd     %xmm6, -64(%rsp)
+        movsd     -56(%rsp), %xmm7
+        subsd     %xmm7, %xmm8
+        movsd     %xmm8, -56(%rsp)
+        movsd     -64(%rsp), %xmm10
+        movsd     -56(%rsp), %xmm9
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movq      -72(%rsp), %r8
+        movq      %r8, -40(%rsp)
+
+
+        movsd     -56(%rsp), %xmm2
+        movaps    %xmm1, %xmm3
+        shrq      $56, %r8
+        addsd     -32(%rsp), %xmm2
+        shlb      $7, %dl
+        addsd     8(%rdi,%rsi,8), %xmm2
+        movb      %al, %sil
+        andb      $127, %r8b
+        shlb      $7, %sil
+        movsd     %xmm2, -32(%rsp)
+        orb       %sil, %r8b
+        movb      %r8b, -33(%rsp)
+        movsd     -40(%rsp), %xmm9
+        movaps    %xmm9, %xmm5
+        addsd     %xmm9, %xmm3
+        movsd     %xmm3, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        movb      -25(%rsp), %dil
+        movb      %dil, %r9b
+        shrb      $7, %dil
+        subsd     %xmm4, %xmm5
+        movsd     %xmm5, -64(%rsp)
+        movsd     -72(%rsp), %xmm7
+        movsd     -64(%rsp), %xmm6
+        xorb      %dil, %al
+        andb      $127, %r9b
+        shlb      $7, %al
+        addsd     %xmm6, %xmm7
+        movsd     %xmm7, -56(%rsp)
+        movsd     -64(%rsp), %xmm8
+        addsd     %xmm8, %xmm1
+        movsd     %xmm1, -64(%rsp)
+        orb       %al, %r9b
+        movsd     -56(%rsp), %xmm1
+        movb      %r9b, -25(%rsp)
+        subsd     %xmm1, %xmm9
+        movsd     %xmm9, -56(%rsp)
+        movsd     -64(%rsp), %xmm11
+        movsd     -56(%rsp), %xmm10
+        addsd     %xmm10, %xmm11
+        movsd     %xmm11, -56(%rsp)
+        movq      -72(%rsp), %rax
+        movsd     -56(%rsp), %xmm12
+        movq      %rax, -40(%rsp)
+        addsd     %xmm12, %xmm0
+        movsd     -40(%rsp), %xmm13
+        addsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -32(%rsp)
+        addsd     %xmm0, %xmm13
+        movsd     %xmm13, -24(%rsp)
+        movb      -17(%rsp), %r10b
+        andb      $127, %r10b
+        orb       %dl, %r10b
+        movb      %r10b, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_20:
+
+        movsd     -48(%rsp), %xmm12
+        movb      %al, %r8b
+        movaps    %xmm12, %xmm7
+        mulsd     2000+__datan2_la_CoutTab(%rip), %xmm7
+        shlb      $7, %r8b
+        shlb      $7, %dl
+        movsd     %xmm7, -72(%rsp)
+        movsd     -72(%rsp), %xmm8
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm13
+        movsd     1888+__datan2_la_CoutTab(%rip), %xmm7
+        mulsd     %xmm2, %xmm13
+        subsd     -48(%rsp), %xmm8
+        movsd     %xmm8, -64(%rsp)
+        movsd     -72(%rsp), %xmm10
+        movsd     -64(%rsp), %xmm9
+        subsd     %xmm9, %xmm10
+        movsd     %xmm10, -72(%rsp)
+        movsd     -72(%rsp), %xmm11
+        subsd     %xmm11, %xmm12
+        movsd     %xmm12, -64(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     -64(%rsp), %xmm5
+        movsd     %xmm13, -72(%rsp)
+        movsd     -72(%rsp), %xmm14
+        subsd     %xmm2, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        movsd     -72(%rsp), %xmm4
+        movsd     -64(%rsp), %xmm15
+        subsd     %xmm15, %xmm4
+        movsd     %xmm4, -72(%rsp)
+        movsd     -72(%rsp), %xmm3
+        movsd     1888+__datan2_la_CoutTab(%rip), %xmm4
+        subsd     %xmm3, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -72(%rsp), %xmm12
+        divsd     %xmm12, %xmm7
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm7, %xmm2
+        movsd     -64(%rsp), %xmm14
+        movsd     %xmm2, -64(%rsp)
+        movsd     -64(%rsp), %xmm8
+        subsd     %xmm7, %xmm8
+        movsd     %xmm8, -56(%rsp)
+        movsd     -64(%rsp), %xmm10
+        movsd     -56(%rsp), %xmm9
+        subsd     %xmm9, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movsd     -56(%rsp), %xmm11
+        mulsd     %xmm11, %xmm12
+        movsd     -56(%rsp), %xmm13
+        subsd     %xmm12, %xmm4
+        mulsd     %xmm13, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        movsd     -64(%rsp), %xmm15
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm13
+        subsd     %xmm15, %xmm4
+        movsd     %xmm4, -64(%rsp)
+        movsd     -64(%rsp), %xmm7
+        movq      -56(%rsp), %rsi
+        movsd     -64(%rsp), %xmm2
+        movsd     -56(%rsp), %xmm3
+        movq      %rsi, -40(%rsp)
+        movsd     -40(%rsp), %xmm8
+        movaps    %xmm8, %xmm9
+        addsd     1888+__datan2_la_CoutTab(%rip), %xmm7
+        mulsd     %xmm6, %xmm9
+        mulsd     %xmm5, %xmm8
+        mulsd     %xmm2, %xmm7
+        movsd     -16(%rsp), %xmm2
+        mulsd     %xmm2, %xmm2
+        mulsd     %xmm3, %xmm7
+        movsd     1872+__datan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        mulsd     %xmm7, %xmm6
+        mulsd     %xmm5, %xmm7
+        addsd     1864+__datan2_la_CoutTab(%rip), %xmm3
+        addsd     %xmm7, %xmm6
+        mulsd     %xmm2, %xmm3
+        addsd     %xmm8, %xmm6
+        addsd     1856+__datan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        movaps    %xmm9, %xmm5
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        addsd     1848+__datan2_la_CoutTab(%rip), %xmm3
+        addsd     %xmm4, %xmm5
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm5, -72(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     2000+__datan2_la_CoutTab(%rip), %xmm5
+        subsd     %xmm6, %xmm9
+        addsd     1840+__datan2_la_CoutTab(%rip), %xmm3
+        addsd     %xmm4, %xmm9
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm9, -64(%rsp)
+        movsd     -72(%rsp), %xmm11
+        mulsd     %xmm11, %xmm5
+        addsd     1832+__datan2_la_CoutTab(%rip), %xmm3
+        movsd     -64(%rsp), %xmm4
+        movsd     %xmm5, -72(%rsp)
+        movsd     -72(%rsp), %xmm7
+        mulsd     %xmm2, %xmm3
+        subsd     %xmm11, %xmm7
+        movsd     %xmm7, -64(%rsp)
+        movsd     -72(%rsp), %xmm8
+        movsd     -64(%rsp), %xmm6
+        addsd     1824+__datan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm6, %xmm8
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm8, -72(%rsp)
+        movsd     -72(%rsp), %xmm10
+        mulsd     %xmm3, %xmm13
+        subsd     %xmm10, %xmm11
+        movsd     %xmm11, -64(%rsp)
+        movsd     -72(%rsp), %xmm2
+        movsd     -64(%rsp), %xmm12
+        movsd     %xmm13, -72(%rsp)
+        addsd     %xmm12, %xmm4
+        movsd     -72(%rsp), %xmm14
+        subsd     %xmm3, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -64(%rsp), %xmm15
+        subsd     %xmm15, %xmm5
+        movsd     %xmm5, -72(%rsp)
+        movsd     -72(%rsp), %xmm6
+        subsd     %xmm6, %xmm3
+        movsd     %xmm3, -64(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     -64(%rsp), %xmm5
+        movaps    %xmm6, %xmm12
+        movaps    %xmm5, %xmm3
+        mulsd     %xmm4, %xmm6
+        mulsd     %xmm4, %xmm3
+        mulsd     %xmm2, %xmm5
+        mulsd     %xmm2, %xmm12
+        addsd     %xmm3, %xmm6
+        movaps    %xmm12, %xmm7
+        movaps    %xmm12, %xmm8
+        addsd     %xmm5, %xmm6
+        addsd     %xmm2, %xmm7
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     %xmm7, -72(%rsp)
+        movsd     -72(%rsp), %xmm3
+        subsd     %xmm3, %xmm8
+        movsd     %xmm8, -64(%rsp)
+        movsd     -72(%rsp), %xmm10
+        movsd     -64(%rsp), %xmm9
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movsd     -64(%rsp), %xmm11
+        addsd     %xmm11, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -56(%rsp), %xmm2
+        subsd     %xmm2, %xmm12
+        movsd     %xmm12, -56(%rsp)
+        movsd     -64(%rsp), %xmm14
+        movsd     -56(%rsp), %xmm13
+        addsd     %xmm13, %xmm14
+        movsd     %xmm14, -56(%rsp)
+        movq      -72(%rsp), %rdi
+        movsd     -56(%rsp), %xmm15
+        movq      %rdi, -40(%rsp)
+        addsd     %xmm15, %xmm4
+        shrq      $56, %rdi
+        addsd     %xmm5, %xmm4
+        andb      $127, %dil
+        orb       %r8b, %dil
+        movb      %dil, -33(%rsp)
+        movsd     %xmm4, -32(%rsp)
+        movaps    %xmm1, %xmm4
+        movsd     -40(%rsp), %xmm7
+        movaps    %xmm7, %xmm2
+        addsd     %xmm7, %xmm4
+        movsd     %xmm4, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        movb      -25(%rsp), %r9b
+        movb      %r9b, %r10b
+        shrb      $7, %r9b
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -64(%rsp), %xmm3
+        xorb      %r9b, %al
+        andb      $127, %r10b
+        shlb      $7, %al
+        addsd     %xmm3, %xmm5
+        movsd     %xmm5, -56(%rsp)
+        movsd     -64(%rsp), %xmm6
+        addsd     %xmm6, %xmm1
+        movsd     %xmm1, -64(%rsp)
+        orb       %al, %r10b
+        movsd     -56(%rsp), %xmm1
+        movb      %r10b, -25(%rsp)
+        subsd     %xmm1, %xmm7
+        movsd     %xmm7, -56(%rsp)
+        movsd     -64(%rsp), %xmm2
+        movsd     -56(%rsp), %xmm1
+        addsd     %xmm1, %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movq      -72(%rsp), %rax
+        movsd     -56(%rsp), %xmm3
+        movq      %rax, -40(%rsp)
+        addsd     %xmm3, %xmm0
+        movsd     -40(%rsp), %xmm4
+        addsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -32(%rsp)
+        addsd     %xmm0, %xmm4
+        movsd     %xmm4, -24(%rsp)
+        movb      -17(%rsp), %r11b
+        andb      $127, %r11b
+        orb       %dl, %r11b
+        movb      %r11b, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_21:
+
+        cmpl      $74, %r8d
+        jge       .LBL_2_53
+
+
+        movb      %dil, -41(%rsp)
+        divsd     -48(%rsp), %xmm1
+        movsd     1928+__datan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %dl
+        subsd     %xmm1, %xmm0
+        addsd     1920+__datan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %dl, %al
+        movb      %al, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_24:
+
+        testb     %al, %al
+        jne       .LBL_2_35
+
+
+        movb      %dil, -41(%rsp)
+        movb      %sil, -33(%rsp)
+        movsd     -48(%rsp), %xmm2
+        divsd     -40(%rsp), %xmm2
+        movsd     %xmm2, -24(%rsp)
+        movzwl    -18(%rsp), %eax
+        testl     $32752, %eax
+        je        .LBL_2_27
+
+
+        movsd     1888+__datan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %dl
+        addsd     %xmm2, %xmm0
+        movsd     %xmm0, -72(%rsp)
+        movsd     -72(%rsp), %xmm1
+        mulsd     %xmm1, %xmm2
+        movsd     %xmm2, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %dl, %al
+        movb      %al, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_27:
+
+        mulsd     %xmm2, %xmm2
+        shlb      $7, %dl
+        movsd     %xmm2, -72(%rsp)
+        movsd     -72(%rsp), %xmm0
+        addsd     -24(%rsp), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %dl, %al
+        movb      %al, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_29:
+
+        testl     %r9d, %r9d
+        jne       .LBL_2_53
+
+
+        testl     $1048575, -44(%rsp)
+        jne       .LBL_2_53
+        jmp       .LBL_2_57
+
+.LBL_2_31:
+
+        jne       .LBL_2_53
+
+.LBL_2_33:
+
+        testb     %al, %al
+        jne       .LBL_2_35
+
+.LBL_2_34:
+
+        shlb      $7, %dl
+        movq      1976+__datan2_la_CoutTab(%rip), %rax
+        movq      %rax, -24(%rsp)
+        shrq      $56, %rax
+        andb      $127, %al
+        orb       %dl, %al
+        movb      %al, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_35:
+
+        movsd     1936+__datan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %dl
+        addsd     1944+__datan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %dl, %al
+        movb      %al, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+
+.LBL_2_36:
+
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_37:
+
+        movsd     1984+__datan2_la_CoutTab(%rip), %xmm3
+        movl      $-1022, %r9d
+        mulsd     %xmm3, %xmm4
+        movsd     %xmm4, -48(%rsp)
+        jmp       .LBL_2_18
+
+.LBL_2_38:
+
+        cmpl      $2047, %r9d
+        je        .LBL_2_49
+
+.LBL_2_39:
+
+        testl     $1048575, -36(%rsp)
+        jne       .LBL_2_41
+
+
+        cmpl      $0, -40(%rsp)
+        je        .LBL_2_42
+
+.LBL_2_41:
+
+        addsd     %xmm1, %xmm2
+        movsd     %xmm2, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_42:
+
+        cmpl      $2047, %r9d
+        je        .LBL_2_46
+
+
+        testb     %al, %al
+        je        .LBL_2_34
+        jmp       .LBL_2_35
+
+.LBL_2_46:
+
+        testb     %al, %al
+        jne       .LBL_2_48
+
+
+        movsd     1904+__datan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %dl
+        addsd     1912+__datan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %dl, %al
+        movb      %al, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_48:
+
+        movsd     1952+__datan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %dl
+        addsd     1960+__datan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %dl, %al
+        movb      %al, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_49:
+
+        testl     $1048575, -44(%rsp)
+        jne       .LBL_2_41
+
+
+        cmpl      $0, -48(%rsp)
+        jne       .LBL_2_41
+
+
+        cmpl      $2047, %r8d
+        je        .LBL_2_39
+
+.LBL_2_53:
+
+        movsd     1920+__datan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %dl
+        addsd     1928+__datan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %dl, %al
+        movb      %al, -17(%rsp)
+        movq      -24(%rsp), %rdx
+        movq      %rdx, (%rcx)
+        jmp       .LBL_2_36
+
+.LBL_2_57:
+
+        cmpl      $0, -48(%rsp)
+        jne       .LBL_2_53
+        jmp       .LBL_2_33
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_datan2_cout_rare_internal,@function
+       .size   __svml_datan2_cout_rare_internal,.-__svml_datan2_cout_rare_internal
+..LN__svml_datan2_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_datan2_data_internal:
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   17919630
+       .long   3202334474
+       .long   17919630
+       .long   3202334474
+       .long   17919630
+       .long   3202334474
+       .long   17919630
+       .long   3202334474
+       .long   17919630
+       .long   3202334474
+       .long   17919630
+       .long   3202334474
+       .long   17919630
+       .long   3202334474
+       .long   17919630
+       .long   3202334474
+       .long   350522012
+       .long   1058555694
+       .long   350522012
+       .long   1058555694
+       .long   350522012
+       .long   1058555694
+       .long   350522012
+       .long   1058555694
+       .long   350522012
+       .long   1058555694
+       .long   350522012
+       .long   1058555694
+       .long   350522012
+       .long   1058555694
+       .long   350522012
+       .long   1058555694
+       .long   934004643
+       .long   3203726773
+       .long   934004643
+       .long   3203726773
+       .long   934004643
+       .long   3203726773
+       .long   934004643
+       .long   3203726773
+       .long   934004643
+       .long   3203726773
+       .long   934004643
+       .long   3203726773
+       .long   934004643
+       .long   3203726773
+       .long   934004643
+       .long   3203726773
+       .long   912675337
+       .long   1059908874
+       .long   912675337
+       .long   1059908874
+       .long   912675337
+       .long   1059908874
+       .long   912675337
+       .long   1059908874
+       .long   912675337
+       .long   1059908874
+       .long   912675337
+       .long   1059908874
+       .long   912675337
+       .long   1059908874
+       .long   912675337
+       .long   1059908874
+       .long   2476035107
+       .long   3209881212
+       .long   2476035107
+       .long   3209881212
+       .long   2476035107
+       .long   3209881212
+       .long   2476035107
+       .long   3209881212
+       .long   2476035107
+       .long   3209881212
+       .long   2476035107
+       .long   3209881212
+       .long   2476035107
+       .long   3209881212
+       .long   2476035107
+       .long   3209881212
+       .long   2927800243
+       .long   1064262173
+       .long   2927800243
+       .long   1064262173
+       .long   2927800243
+       .long   1064262173
+       .long   2927800243
+       .long   1064262173
+       .long   2927800243
+       .long   1064262173
+       .long   2927800243
+       .long   1064262173
+       .long   2927800243
+       .long   1064262173
+       .long   2927800243
+       .long   1064262173
+       .long   1636715437
+       .long   3213013740
+       .long   1636715437
+       .long   3213013740
+       .long   1636715437
+       .long   3213013740
+       .long   1636715437
+       .long   3213013740
+       .long   1636715437
+       .long   3213013740
+       .long   1636715437
+       .long   3213013740
+       .long   1636715437
+       .long   3213013740
+       .long   1636715437
+       .long   3213013740
+       .long   1712395941
+       .long   1066487628
+       .long   1712395941
+       .long   1066487628
+       .long   1712395941
+       .long   1066487628
+       .long   1712395941
+       .long   1066487628
+       .long   1712395941
+       .long   1066487628
+       .long   1712395941
+       .long   1066487628
+       .long   1712395941
+       .long   1066487628
+       .long   1712395941
+       .long   1066487628
+       .long   2961307292
+       .long   3214564995
+       .long   2961307292
+       .long   3214564995
+       .long   2961307292
+       .long   3214564995
+       .long   2961307292
+       .long   3214564995
+       .long   2961307292
+       .long   3214564995
+       .long   2961307292
+       .long   3214564995
+       .long   2961307292
+       .long   3214564995
+       .long   2961307292
+       .long   3214564995
+       .long   213298511
+       .long   1067542936
+       .long   213298511
+       .long   1067542936
+       .long   213298511
+       .long   1067542936
+       .long   213298511
+       .long   1067542936
+       .long   213298511
+       .long   1067542936
+       .long   213298511
+       .long   1067542936
+       .long   213298511
+       .long   1067542936
+       .long   213298511
+       .long   1067542936
+       .long   3848520124
+       .long   3215257506
+       .long   3848520124
+       .long   3215257506
+       .long   3848520124
+       .long   3215257506
+       .long   3848520124
+       .long   3215257506
+       .long   3848520124
+       .long   3215257506
+       .long   3848520124
+       .long   3215257506
+       .long   3848520124
+       .long   3215257506
+       .long   3848520124
+       .long   3215257506
+       .long   3159386171
+       .long   1067969551
+       .long   3159386171
+       .long   1067969551
+       .long   3159386171
+       .long   1067969551
+       .long   3159386171
+       .long   1067969551
+       .long   3159386171
+       .long   1067969551
+       .long   3159386171
+       .long   1067969551
+       .long   3159386171
+       .long   1067969551
+       .long   3159386171
+       .long   1067969551
+       .long   3936393556
+       .long   3215643233
+       .long   3936393556
+       .long   3215643233
+       .long   3936393556
+       .long   3215643233
+       .long   3936393556
+       .long   3215643233
+       .long   3936393556
+       .long   3215643233
+       .long   3936393556
+       .long   3215643233
+       .long   3936393556
+       .long   3215643233
+       .long   3936393556
+       .long   3215643233
+       .long   3177262543
+       .long   1068373833
+       .long   3177262543
+       .long   1068373833
+       .long   3177262543
+       .long   1068373833
+       .long   3177262543
+       .long   1068373833
+       .long   3177262543
+       .long   1068373833
+       .long   3177262543
+       .long   1068373833
+       .long   3177262543
+       .long   1068373833
+       .long   3177262543
+       .long   1068373833
+       .long   9713120
+       .long   3216052356
+       .long   9713120
+       .long   3216052356
+       .long   9713120
+       .long   3216052356
+       .long   9713120
+       .long   3216052356
+       .long   9713120
+       .long   3216052356
+       .long   9713120
+       .long   3216052356
+       .long   9713120
+       .long   3216052356
+       .long   9713120
+       .long   3216052356
+       .long   1227445841
+       .long   1068740906
+       .long   1227445841
+       .long   1068740906
+       .long   1227445841
+       .long   1068740906
+       .long   1227445841
+       .long   1068740906
+       .long   1227445841
+       .long   1068740906
+       .long   1227445841
+       .long   1068740906
+       .long   1227445841
+       .long   1068740906
+       .long   1227445841
+       .long   1068740906
+       .long   163240596
+       .long   3216459216
+       .long   163240596
+       .long   3216459216
+       .long   163240596
+       .long   3216459216
+       .long   163240596
+       .long   3216459216
+       .long   163240596
+       .long   3216459216
+       .long   163240596
+       .long   3216459216
+       .long   163240596
+       .long   3216459216
+       .long   163240596
+       .long   3216459216
+       .long   133682613
+       .long   1069314503
+       .long   133682613
+       .long   1069314503
+       .long   133682613
+       .long   1069314503
+       .long   133682613
+       .long   1069314503
+       .long   133682613
+       .long   1069314503
+       .long   133682613
+       .long   1069314503
+       .long   133682613
+       .long   1069314503
+       .long   133682613
+       .long   1069314503
+       .long   2448315847
+       .long   3217180964
+       .long   2448315847
+       .long   3217180964
+       .long   2448315847
+       .long   3217180964
+       .long   2448315847
+       .long   3217180964
+       .long   2448315847
+       .long   3217180964
+       .long   2448315847
+       .long   3217180964
+       .long   2448315847
+       .long   3217180964
+       .long   2448315847
+       .long   3217180964
+       .long   2576870964
+       .long   1070176665
+       .long   2576870964
+       .long   1070176665
+       .long   2576870964
+       .long   1070176665
+       .long   2576870964
+       .long   1070176665
+       .long   2576870964
+       .long   1070176665
+       .long   2576870964
+       .long   1070176665
+       .long   2576870964
+       .long   1070176665
+       .long   2576870964
+       .long   1070176665
+       .long   1431655365
+       .long   3218429269
+       .long   1431655365
+       .long   3218429269
+       .long   1431655365
+       .long   3218429269
+       .long   1431655365
+       .long   3218429269
+       .long   1431655365
+       .long   3218429269
+       .long   1431655365
+       .long   3218429269
+       .long   1431655365
+       .long   3218429269
+       .long   1431655365
+       .long   3218429269
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   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   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   2150629376
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4258267136
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .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   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   4293918720
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .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   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   133169152
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .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
+       .type   __svml_datan2_data_internal,@object
+       .size   __svml_datan2_data_internal,2304
+       .align 32
+__datan2_la_CoutTab:
+       .long   3892314112
+       .long   1069799150
+       .long   2332892550
+       .long   1039715405
+       .long   1342177280
+       .long   1070305495
+       .long   270726690
+       .long   1041535749
+       .long   939524096
+       .long   1070817911
+       .long   2253973841
+       .long   3188654726
+       .long   3221225472
+       .long   1071277294
+       .long   3853927037
+       .long   1043226911
+       .long   2818572288
+       .long   1071767563
+       .long   2677759107
+       .long   1044314101
+       .long   3355443200
+       .long   1072103591
+       .long   1636578514
+       .long   3191094734
+       .long   1476395008
+       .long   1072475260
+       .long   1864703685
+       .long   3188646936
+       .long   805306368
+       .long   1072747407
+       .long   192551812
+       .long   3192726267
+       .long   2013265920
+       .long   1072892781
+       .long   2240369452
+       .long   1043768538
+       .long   0
+       .long   1072999953
+       .long   3665168337
+       .long   3192705970
+       .long   402653184
+       .long   1073084787
+       .long   1227953434
+       .long   3192313277
+       .long   2013265920
+       .long   1073142981
+       .long   3853283127
+       .long   1045277487
+       .long   805306368
+       .long   1073187261
+       .long   1676192264
+       .long   3192868861
+       .long   134217728
+       .long   1073217000
+       .long   4290763938
+       .long   1042034855
+       .long   671088640
+       .long   1073239386
+       .long   994303084
+       .long   3189643768
+       .long   402653184
+       .long   1073254338
+       .long   1878067156
+       .long   1042652475
+       .long   1610612736
+       .long   1073265562
+       .long   670314820
+       .long   1045138554
+       .long   3221225472
+       .long   1073273048
+       .long   691126919
+       .long   3189987794
+       .long   3489660928
+       .long   1073278664
+       .long   1618990832
+       .long   3188194509
+       .long   1207959552
+       .long   1073282409
+       .long   2198872939
+       .long   1044806069
+       .long   3489660928
+       .long   1073285217
+       .long   2633982383
+       .long   1042307894
+       .long   939524096
+       .long   1073287090
+       .long   1059367786
+       .long   3189114230
+       .long   2281701376
+       .long   1073288494
+       .long   3158525533
+       .long   1044484961
+       .long   3221225472
+       .long   1073289430
+       .long   286581777
+       .long   1044893263
+       .long   4026531840
+       .long   1073290132
+       .long   2000245215
+       .long   3191647611
+       .long   134217728
+       .long   1073290601
+       .long   4205071590
+       .long   1045035927
+       .long   536870912
+       .long   1073290952
+       .long   2334392229
+       .long   1043447393
+       .long   805306368
+       .long   1073291186
+       .long   2281458177
+       .long   3188885569
+       .long   3087007744
+       .long   1073291361
+       .long   691611507
+       .long   1044733832
+       .long   3221225472
+       .long   1073291478
+       .long   1816229550
+       .long   1044363390
+       .long   2281701376
+       .long   1073291566
+       .long   1993843750
+       .long   3189837440
+       .long   134217728
+       .long   1073291625
+       .long   3654754496
+       .long   1044970837
+       .long   4026531840
+       .long   1073291668
+       .long   3224300229
+       .long   3191935390
+       .long   805306368
+       .long   1073291698
+       .long   2988777976
+       .long   3188950659
+       .long   536870912
+       .long   1073291720
+       .long   1030371341
+       .long   1043402665
+       .long   3221225472
+       .long   1073291734
+       .long   1524463765
+       .long   1044361356
+       .long   3087007744
+       .long   1073291745
+       .long   2754295320
+       .long   1044731036
+       .long   134217728
+       .long   1073291753
+       .long   3099629057
+       .long   1044970710
+       .long   2281701376
+       .long   1073291758
+       .long   962914160
+       .long   3189838838
+       .long   805306368
+       .long   1073291762
+       .long   3543908206
+       .long   3188950786
+       .long   4026531840
+       .long   1073291764
+       .long   1849909620
+       .long   3191935434
+       .long   3221225472
+       .long   1073291766
+       .long   1641333636
+       .long   1044361352
+       .long   536870912
+       .long   1073291768
+       .long   1373968792
+       .long   1043402654
+       .long   134217728
+       .long   1073291769
+       .long   2033191599
+       .long   1044970710
+       .long   3087007744
+       .long   1073291769
+       .long   4117947437
+       .long   1044731035
+       .long   805306368
+       .long   1073291770
+       .long   315378368
+       .long   3188950787
+       .long   2281701376
+       .long   1073291770
+       .long   2428571750
+       .long   3189838838
+       .long   3221225472
+       .long   1073291770
+       .long   1608007466
+       .long   1044361352
+       .long   4026531840
+       .long   1073291770
+       .long   1895711420
+       .long   3191935434
+       .long   134217728
+       .long   1073291771
+       .long   2031108713
+       .long   1044970710
+       .long   536870912
+       .long   1073291771
+       .long   1362518342
+       .long   1043402654
+       .long   805306368
+       .long   1073291771
+       .long   317461253
+       .long   3188950787
+       .long   939524096
+       .long   1073291771
+       .long   4117231784
+       .long   1044731035
+       .long   1073741824
+       .long   1073291771
+       .long   1607942376
+       .long   1044361352
+       .long   1207959552
+       .long   1073291771
+       .long   2428929577
+       .long   3189838838
+       .long   1207959552
+       .long   1073291771
+       .long   2031104645
+       .long   1044970710
+       .long   1342177280
+       .long   1073291771
+       .long   1895722602
+       .long   3191935434
+       .long   1342177280
+       .long   1073291771
+       .long   317465322
+       .long   3188950787
+       .long   1342177280
+       .long   1073291771
+       .long   1362515546
+       .long   1043402654
+       .long   1342177280
+       .long   1073291771
+       .long   1607942248
+       .long   1044361352
+       .long   1342177280
+       .long   1073291771
+       .long   4117231610
+       .long   1044731035
+       .long   1342177280
+       .long   1073291771
+       .long   2031104637
+       .long   1044970710
+       .long   1342177280
+       .long   1073291771
+       .long   1540251232
+       .long   1045150466
+       .long   1342177280
+       .long   1073291771
+       .long   2644671394
+       .long   1045270303
+       .long   1342177280
+       .long   1073291771
+       .long   2399244691
+       .long   1045360181
+       .long   1342177280
+       .long   1073291771
+       .long   803971124
+       .long   1045420100
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192879152
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192849193
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192826724
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192811744
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192800509
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192793019
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192787402
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192783657
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192780848
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192778976
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192777572
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192776635
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192775933
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192775465
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192775114
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774880
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192774704
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774587
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192774500
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774441
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192774397
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774368
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192774346
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774331
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192774320
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774313
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192774308
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774304
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192774301
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774299
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192774298
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774297
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192774296
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774296
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192774296
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1466225875
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1343512524
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1251477510
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1190120835
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1144103328
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1113424990
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1090416237
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1075077068
+       .long   3192774295
+       .long   1431655765
+       .long   3218429269
+       .long   2576978363
+       .long   1070176665
+       .long   2453154343
+       .long   3217180964
+       .long   4189149139
+       .long   1069314502
+       .long   1775019125
+       .long   3216459198
+       .long   273199057
+       .long   1068739452
+       .long   874748308
+       .long   3215993277
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1073741824
+       .long   1413754136
+       .long   1072243195
+       .long   856972295
+       .long   1015129638
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   1413754136
+       .long   1074340347
+       .long   856972295
+       .long   1017226790
+       .long   2134057426
+       .long   1073928572
+       .long   1285458442
+       .long   1016756537
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   0
+       .long   0
+       .long   2144337920
+       .long   0
+       .long   1048576
+       .long   33554432
+       .long   1101004800
+       .type   __datan2_la_CoutTab,@object
+       .size   __datan2_la_CoutTab,2008
+       .align 8
+.L_2il0floatpacket.31:
+       .long   0xffffffff,0xffffffff
+       .type   .L_2il0floatpacket.31,@object
+       .size   .L_2il0floatpacket.31,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_atan2_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_atan2_s_la.s
new file mode 100644 (file)
index 0000000..25f12f3
--- /dev/null
@@ -0,0 +1,2074 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *      For    0.0    <= x <=  7.0/16.0: atan(x) = atan(0.0) + atan(s), where s=(x-0.0)/(1.0+0.0*x)
+ *      For  7.0/16.0 <= x <= 11.0/16.0: atan(x) = atan(0.5) + atan(s), where s=(x-0.5)/(1.0+0.5*x)
+ *      For 11.0/16.0 <= x <= 19.0/16.0: atan(x) = atan(1.0) + atan(s), where s=(x-1.0)/(1.0+1.0*x)
+ *      For 19.0/16.0 <= x <= 39.0/16.0: atan(x) = atan(1.5) + atan(s), where s=(x-1.5)/(1.0+1.5*x)
+ *      For 39.0/16.0 <= x <=    inf   : atan(x) = atan(inf) + atan(s), where s=-1.0/x
+ *      Where atan(s) ~= s+s^3*Poly11(s^2) on interval |s|<7.0/0.16.
+ * --
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_atan2f16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_atan2f16
+
+__svml_atan2f16:
+
+
+       .cfi_startproc
+..L2:
+
+        pushq     %rbp
+       .cfi_def_cfa_offset 16
+        movq      %rsp, %rbp
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+        andq      $-64, %rsp
+        subq      $256, %rsp
+        xorl      %edx, %edx
+
+
+        vmovups   256+__svml_satan2_data_internal(%rip), %zmm6
+        vmovups   64+__svml_satan2_data_internal(%rip), %zmm3
+
+/* Testing on working interval. */
+        vmovups   1024+__svml_satan2_data_internal(%rip), %zmm9
+        vmovups   1088+__svml_satan2_data_internal(%rip), %zmm14
+
+/*
+ * 1) If y<x then a= y, b=x, PIO2=0
+ * 2) If y>x then a=-x, b=y, PIO2=Pi/2
+ */
+        vmovups   320+__svml_satan2_data_internal(%rip), %zmm4
+        vpternlogd $255, %zmm13, %zmm13, %zmm13
+        vmovaps   %zmm1, %zmm8
+        vandps    %zmm6, %zmm8, %zmm2
+        vandps    %zmm6, %zmm0, %zmm1
+        vorps     192+__svml_satan2_data_internal(%rip), %zmm2, %zmm5
+        vpsubd    %zmm9, %zmm2, %zmm10
+        vpsubd    %zmm9, %zmm1, %zmm12
+        vxorps    %zmm2, %zmm8, %zmm7
+        vxorps    %zmm1, %zmm0, %zmm6
+        vcmpps    $17, {sae}, %zmm2, %zmm1, %k1
+        vpcmpgtd  %zmm10, %zmm14, %k2
+        vpcmpgtd  %zmm12, %zmm14, %k3
+        vmovups   576+__svml_satan2_data_internal(%rip), %zmm14
+        vblendmps %zmm1, %zmm5, %zmm11{%k1}
+        vblendmps %zmm2, %zmm1, %zmm5{%k1}
+        vxorps    %zmm4, %zmm4, %zmm4{%k1}
+
+/*
+ * Division a/b.
+ * Enabled when FMA is available and
+ * performance is better with NR iteration
+ */
+        vrcp14ps  %zmm5, %zmm15
+        vfnmadd231ps {rn-sae}, %zmm5, %zmm15, %zmm3
+        vfmadd213ps {rn-sae}, %zmm15, %zmm3, %zmm15
+        vmulps    {rn-sae}, %zmm15, %zmm11, %zmm3
+        vfnmadd231ps {rn-sae}, %zmm5, %zmm3, %zmm11
+        vfmadd213ps {rn-sae}, %zmm3, %zmm11, %zmm15
+        vmovups   448+__svml_satan2_data_internal(%rip), %zmm11
+        vpternlogd $255, %zmm3, %zmm3, %zmm3
+
+/* Polynomial. */
+        vmulps    {rn-sae}, %zmm15, %zmm15, %zmm9
+        vpandnd   %zmm10, %zmm10, %zmm13{%k2}
+        vmulps    {rn-sae}, %zmm9, %zmm9, %zmm10
+        vfmadd231ps {rn-sae}, %zmm10, %zmm11, %zmm14
+        vmovups   640+__svml_satan2_data_internal(%rip), %zmm11
+        vpandnd   %zmm12, %zmm12, %zmm3{%k3}
+        vpord     %zmm3, %zmm13, %zmm3
+        vmovups   704+__svml_satan2_data_internal(%rip), %zmm13
+        vmovups   512+__svml_satan2_data_internal(%rip), %zmm12
+        vptestmd  %zmm3, %zmm3, %k0
+        vfmadd213ps {rn-sae}, %zmm13, %zmm10, %zmm14
+        vfmadd231ps {rn-sae}, %zmm10, %zmm12, %zmm11
+        vmovups   768+__svml_satan2_data_internal(%rip), %zmm12
+        vmovups   832+__svml_satan2_data_internal(%rip), %zmm13
+
+/* =========== Special branch for fast (vector) processing of zero arguments ================ */
+        kortestw  %k0, %k0
+        vfmadd213ps {rn-sae}, %zmm12, %zmm10, %zmm11
+        vmovups   896+__svml_satan2_data_internal(%rip), %zmm12
+        vfmadd213ps {rn-sae}, %zmm13, %zmm10, %zmm14
+        vmovups   960+__svml_satan2_data_internal(%rip), %zmm13
+        vfmadd213ps {rn-sae}, %zmm12, %zmm10, %zmm11
+        vfmadd213ps {rn-sae}, %zmm13, %zmm10, %zmm14
+        vfmadd213ps {rn-sae}, %zmm14, %zmm9, %zmm11
+
+/* Reconstruction. */
+        vfmadd213ps {rn-sae}, %zmm4, %zmm15, %zmm11
+
+/* if x<0, sPI = Pi, else sPI =0 */
+        vmovups   __svml_satan2_data_internal(%rip), %zmm15
+        vorps     %zmm7, %zmm11, %zmm9
+        vcmpps    $18, {sae}, %zmm15, %zmm8, %k1
+        vmovups   384+__svml_satan2_data_internal(%rip), %zmm11
+        vaddps    {rn-sae}, %zmm11, %zmm9, %zmm9{%k1}
+        vorps     %zmm6, %zmm9, %zmm10
+        jne       .LBL_1_12
+
+.LBL_1_2:
+
+
+/*
+ * =========== Special branch for fast (vector) processing of zero arguments ================
+ * -------------- The end of implementation ----------------
+ */
+        testl     %edx, %edx
+        jne       .LBL_1_4
+
+.LBL_1_3:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm10, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_4:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm8, 128(%rsp)
+        vmovups   %zmm10, 192(%rsp)
+        je        .LBL_1_3
+
+
+        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, 0x28, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 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, 0x30, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_8:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_11
+
+.LBL_1_9:
+
+        incl      %r12d
+        cmpl      $16, %r12d
+        jl        .LBL_1_8
+
+
+        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   192(%rsp), %zmm10
+        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_3
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x28, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_11:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+        lea       192(%rsp,%r12,4), %rdx
+
+        call      __svml_satan2_cout_rare_internal
+        jmp       .LBL_1_9
+       .cfi_restore 4
+       .cfi_restore 5
+       .cfi_restore 12
+       .cfi_restore 13
+       .cfi_restore 122
+       .cfi_restore 123
+       .cfi_restore 124
+       .cfi_restore 125
+
+.LBL_1_12:
+
+
+/* Check if at least on of Y or Y is zero: iAXAYZERO */
+        vmovups   __svml_satan2_data_internal(%rip), %zmm9
+
+/* Check if both X & Y are not NaNs:  iXYnotNAN */
+        vcmpps    $3, {sae}, %zmm8, %zmm8, %k1
+        vcmpps    $3, {sae}, %zmm0, %zmm0, %k2
+        vpcmpd    $4, %zmm9, %zmm2, %k3
+        vpternlogd $255, %zmm12, %zmm12, %zmm12
+        vpternlogd $255, %zmm13, %zmm13, %zmm13
+        vpternlogd $255, %zmm14, %zmm14, %zmm14
+        vpandnd   %zmm8, %zmm8, %zmm12{%k1}
+        vpcmpd    $4, %zmm9, %zmm1, %k1
+        vpandnd   %zmm0, %zmm0, %zmm13{%k2}
+
+/*
+ * -------- Path for zero arguments (at least one of both) --------------
+ * Check if both args are zeros (den. is zero)
+ */
+        vcmpps    $4, {sae}, %zmm9, %zmm5, %k2
+        vandps    %zmm13, %zmm12, %zmm12
+        vpandnd   %zmm2, %zmm2, %zmm14{%k3}
+        vpternlogd $255, %zmm2, %zmm2, %zmm2
+
+/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */
+        vpcmpgtd  %zmm8, %zmm9, %k3
+        vpandnd   %zmm1, %zmm1, %zmm2{%k1}
+        vpord     %zmm2, %zmm14, %zmm15
+        vpternlogd $255, %zmm2, %zmm2, %zmm2
+        vpandnd   %zmm5, %zmm5, %zmm2{%k2}
+
+/* Set sPIO2 to zero if den. is zero */
+        vpandnd   %zmm4, %zmm2, %zmm4
+        vpandd    %zmm2, %zmm9, %zmm5
+        vpord     %zmm5, %zmm4, %zmm2
+        vorps     %zmm7, %zmm2, %zmm7
+        vaddps    {rn-sae}, %zmm11, %zmm7, %zmm7{%k3}
+        vorps     %zmm6, %zmm7, %zmm6
+
+/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */
+        vpandd    %zmm12, %zmm15, %zmm1
+
+/* Exclude from previous callout mask zero (and not NaN) arguments */
+        vpandnd   %zmm3, %zmm1, %zmm3
+
+/* Go to callout */
+        vptestmd  %zmm3, %zmm3, %k0
+        kmovw     %k0, %edx
+
+/* Merge results from main and spec path */
+        vpandnd   %zmm10, %zmm1, %zmm10
+        vpandd    %zmm1, %zmm6, %zmm11
+        vpord     %zmm11, %zmm10, %zmm10
+        jmp       .LBL_1_2
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_atan2f16,@function
+       .size   __svml_atan2f16,.-__svml_atan2f16
+..LN__svml_atan2f16.0:
+
+.L_2__routine_start___svml_satan2_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_satan2_cout_rare_internal:
+
+
+       .cfi_startproc
+..L61:
+
+        pxor      %xmm0, %xmm0
+        movss     (%rdi), %xmm3
+        pxor      %xmm1, %xmm1
+        movss     (%rsi), %xmm2
+        movq      %rdx, %r8
+        cvtss2sd  %xmm3, %xmm0
+        cvtss2sd  %xmm2, %xmm1
+        movss     %xmm3, -32(%rsp)
+        movss     %xmm2, -28(%rsp)
+        movsd     %xmm0, -48(%rsp)
+        movsd     %xmm1, -40(%rsp)
+        movzwl    -30(%rsp), %edi
+        andl      $32640, %edi
+        movb      -25(%rsp), %dl
+        movzwl    -42(%rsp), %eax
+        andb      $-128, %dl
+        movzwl    -34(%rsp), %r9d
+        andl      $32752, %eax
+        andl      $32752, %r9d
+        shrl      $7, %edi
+        movb      -29(%rsp), %cl
+        shrb      $7, %cl
+        shrb      $7, %dl
+        shrl      $4, %eax
+        shrl      $4, %r9d
+        cmpl      $255, %edi
+        je        .LBL_2_35
+
+
+        movzwl    -26(%rsp), %esi
+        andl      $32640, %esi
+        cmpl      $32640, %esi
+        je        .LBL_2_35
+
+
+        testl     %eax, %eax
+        jne       .LBL_2_5
+
+
+        testl     $8388607, -32(%rsp)
+        je        .LBL_2_30
+
+.LBL_2_5:
+
+        testl     %r9d, %r9d
+        jne       .LBL_2_7
+
+
+        testl     $8388607, -28(%rsp)
+        je        .LBL_2_27
+
+.LBL_2_7:
+
+        negl      %r9d
+        movsd     %xmm0, -48(%rsp)
+        addl      %eax, %r9d
+        movsd     %xmm1, -40(%rsp)
+        movb      -41(%rsp), %dil
+        movb      -33(%rsp), %sil
+        andb      $127, %dil
+        andb      $127, %sil
+        cmpl      $-54, %r9d
+        jle       .LBL_2_22
+
+
+        cmpl      $54, %r9d
+        jge       .LBL_2_19
+
+
+        movb      %sil, -33(%rsp)
+        movb      %dil, -41(%rsp)
+        testb     %dl, %dl
+        jne       .LBL_2_11
+
+
+        movsd     1976+__satan2_la_CoutTab(%rip), %xmm1
+        movaps    %xmm1, %xmm0
+        jmp       .LBL_2_12
+
+.LBL_2_11:
+
+        movsd     1936+__satan2_la_CoutTab(%rip), %xmm1
+        movsd     1944+__satan2_la_CoutTab(%rip), %xmm0
+
+.LBL_2_12:
+
+        movsd     -48(%rsp), %xmm4
+        movsd     -40(%rsp), %xmm2
+        movaps    %xmm4, %xmm5
+        divsd     %xmm2, %xmm5
+        movzwl    -42(%rsp), %esi
+        movsd     %xmm5, -16(%rsp)
+        testl     %eax, %eax
+        jle       .LBL_2_34
+
+
+        cmpl      $2046, %eax
+        jge       .LBL_2_15
+
+
+        andl      $-32753, %esi
+        addl      $-1023, %eax
+        movsd     %xmm4, -48(%rsp)
+        addl      $16368, %esi
+        movw      %si, -42(%rsp)
+        jmp       .LBL_2_16
+
+.LBL_2_15:
+
+        movsd     1992+__satan2_la_CoutTab(%rip), %xmm3
+        movl      $1022, %eax
+        mulsd     %xmm3, %xmm4
+        movsd     %xmm4, -48(%rsp)
+
+.LBL_2_16:
+
+        negl      %eax
+        movq      1888+__satan2_la_CoutTab(%rip), %rsi
+        addl      $1023, %eax
+        movq      %rsi, -40(%rsp)
+        andl      $2047, %eax
+        shrq      $48, %rsi
+        shll      $4, %eax
+        andl      $-32753, %esi
+        orl       %eax, %esi
+        movw      %si, -34(%rsp)
+        movsd     -40(%rsp), %xmm3
+        mulsd     %xmm3, %xmm2
+        comisd    1880+__satan2_la_CoutTab(%rip), %xmm5
+        jb        .LBL_2_18
+
+
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm12
+        movaps    %xmm2, %xmm3
+        mulsd     %xmm2, %xmm12
+        movsd     %xmm12, -72(%rsp)
+        movsd     -72(%rsp), %xmm13
+        movsd     %xmm5, -24(%rsp)
+        subsd     %xmm2, %xmm13
+        movsd     %xmm13, -64(%rsp)
+        movsd     -72(%rsp), %xmm15
+        movsd     -64(%rsp), %xmm14
+        movl      -20(%rsp), %edi
+        movl      %edi, %r9d
+        andl      $-524288, %edi
+        andl      $-1048576, %r9d
+        addl      $262144, %edi
+        subsd     %xmm14, %xmm15
+        movsd     %xmm15, -72(%rsp)
+        andl      $1048575, %edi
+        movsd     -72(%rsp), %xmm4
+        orl       %edi, %r9d
+        movl      $0, -24(%rsp)
+        subsd     %xmm4, %xmm3
+        movl      %r9d, -20(%rsp)
+        movsd     %xmm3, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -24(%rsp), %xmm11
+        movsd     -64(%rsp), %xmm9
+        mulsd     %xmm11, %xmm5
+        mulsd     %xmm11, %xmm9
+        movsd     1968+__satan2_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm8, %xmm5
+        mulsd     %xmm8, %xmm9
+        movaps    %xmm5, %xmm7
+        movzwl    -10(%rsp), %esi
+        addsd     %xmm9, %xmm7
+        movsd     %xmm7, -72(%rsp)
+        andl      $32752, %esi
+        movsd     -72(%rsp), %xmm6
+        shrl      $4, %esi
+        subsd     %xmm6, %xmm5
+        movl      -12(%rsp), %eax
+        addsd     %xmm5, %xmm9
+        movsd     %xmm9, -64(%rsp)
+        andl      $1048575, %eax
+        movsd     -48(%rsp), %xmm9
+        movsd     -72(%rsp), %xmm3
+        movaps    %xmm9, %xmm12
+        movsd     -64(%rsp), %xmm10
+        movaps    %xmm9, %xmm14
+        movaps    %xmm9, %xmm6
+        addsd     %xmm3, %xmm12
+        movsd     %xmm12, -72(%rsp)
+        movsd     -72(%rsp), %xmm13
+        shll      $20, %esi
+        subsd     %xmm13, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        orl       %eax, %esi
+        movsd     -72(%rsp), %xmm4
+        addl      $-1069547520, %esi
+        movsd     -64(%rsp), %xmm15
+        movl      $113, %eax
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm13
+        addsd     %xmm15, %xmm4
+        movsd     %xmm4, -56(%rsp)
+        movsd     -64(%rsp), %xmm8
+        sarl      $19, %esi
+        addsd     %xmm3, %xmm8
+        movsd     %xmm8, -64(%rsp)
+        cmpl      $113, %esi
+        movsd     -56(%rsp), %xmm7
+        cmovl     %esi, %eax
+        subsd     %xmm7, %xmm6
+        movsd     %xmm6, -56(%rsp)
+        addl      %eax, %eax
+        movsd     -64(%rsp), %xmm12
+        lea       __satan2_la_CoutTab(%rip), %rsi
+        movsd     -56(%rsp), %xmm5
+        movslq    %eax, %rax
+        addsd     %xmm5, %xmm12
+        movsd     %xmm12, -56(%rsp)
+        movsd     -72(%rsp), %xmm7
+        mulsd     %xmm7, %xmm13
+        movsd     -56(%rsp), %xmm8
+        movsd     %xmm13, -72(%rsp)
+        addsd     %xmm10, %xmm8
+        movsd     -72(%rsp), %xmm4
+        movaps    %xmm9, %xmm10
+        mulsd     2000+__satan2_la_CoutTab(%rip), %xmm10
+        subsd     %xmm7, %xmm4
+        movsd     %xmm4, -64(%rsp)
+        movsd     -72(%rsp), %xmm3
+        movsd     -64(%rsp), %xmm14
+        subsd     %xmm14, %xmm3
+        movsd     %xmm3, -72(%rsp)
+        movsd     -72(%rsp), %xmm15
+        subsd     %xmm15, %xmm7
+        movsd     %xmm7, -64(%rsp)
+        movsd     -72(%rsp), %xmm7
+        movsd     -64(%rsp), %xmm4
+        movsd     %xmm10, -72(%rsp)
+        movaps    %xmm2, %xmm10
+        addsd     %xmm4, %xmm8
+        movsd     -72(%rsp), %xmm4
+        subsd     -48(%rsp), %xmm4
+        movsd     %xmm4, -64(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     -64(%rsp), %xmm3
+        subsd     %xmm3, %xmm6
+        movaps    %xmm2, %xmm3
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm5
+        subsd     %xmm5, %xmm9
+        movsd     %xmm9, -64(%rsp)
+        movsd     -72(%rsp), %xmm12
+        movsd     -64(%rsp), %xmm9
+        mulsd     %xmm11, %xmm12
+        mulsd     %xmm11, %xmm9
+        movaps    %xmm12, %xmm11
+        addsd     %xmm9, %xmm11
+        movsd     %xmm11, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        subsd     %xmm4, %xmm12
+        addsd     %xmm9, %xmm12
+        movsd     %xmm12, -64(%rsp)
+        movsd     -72(%rsp), %xmm15
+        movsd     -64(%rsp), %xmm6
+        addsd     %xmm15, %xmm3
+        movsd     %xmm3, -72(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm5, %xmm10
+        movsd     %xmm10, -64(%rsp)
+        movsd     -72(%rsp), %xmm13
+        movsd     -64(%rsp), %xmm11
+        addsd     %xmm11, %xmm13
+        movsd     %xmm13, -56(%rsp)
+        movsd     -64(%rsp), %xmm14
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm13
+        addsd     %xmm14, %xmm15
+        movsd     %xmm15, -64(%rsp)
+        movsd     -56(%rsp), %xmm4
+        movsd     1888+__satan2_la_CoutTab(%rip), %xmm14
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movsd     -64(%rsp), %xmm4
+        movsd     -56(%rsp), %xmm2
+        addsd     %xmm2, %xmm4
+        movsd     %xmm4, -56(%rsp)
+        movsd     -72(%rsp), %xmm12
+        mulsd     %xmm12, %xmm3
+        movsd     -56(%rsp), %xmm5
+        movsd     %xmm3, -72(%rsp)
+        addsd     %xmm6, %xmm5
+        movsd     -72(%rsp), %xmm9
+        subsd     %xmm12, %xmm9
+        movsd     %xmm9, -64(%rsp)
+        movsd     -72(%rsp), %xmm10
+        movsd     -64(%rsp), %xmm2
+        subsd     %xmm2, %xmm10
+        movsd     %xmm10, -72(%rsp)
+        movsd     -72(%rsp), %xmm11
+        subsd     %xmm11, %xmm12
+        movsd     %xmm12, -64(%rsp)
+        movsd     -72(%rsp), %xmm9
+        divsd     %xmm9, %xmm14
+        mulsd     %xmm14, %xmm13
+        movsd     -64(%rsp), %xmm10
+        movsd     %xmm13, -64(%rsp)
+        addsd     %xmm10, %xmm5
+        movsd     -64(%rsp), %xmm15
+        movsd     1888+__satan2_la_CoutTab(%rip), %xmm12
+        subsd     %xmm14, %xmm15
+        movsd     %xmm15, -56(%rsp)
+        movsd     -64(%rsp), %xmm2
+        movsd     -56(%rsp), %xmm4
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm13
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movsd     -56(%rsp), %xmm3
+        mulsd     %xmm3, %xmm9
+        movsd     -56(%rsp), %xmm11
+        subsd     %xmm9, %xmm12
+        mulsd     %xmm11, %xmm5
+        movsd     %xmm5, -64(%rsp)
+        movsd     -64(%rsp), %xmm5
+        subsd     %xmm5, %xmm12
+        movsd     %xmm12, -64(%rsp)
+        movsd     -64(%rsp), %xmm2
+        movq      -56(%rsp), %r10
+        movsd     -64(%rsp), %xmm6
+        movsd     -56(%rsp), %xmm4
+        movq      %r10, -40(%rsp)
+        movsd     -40(%rsp), %xmm3
+        movaps    %xmm3, %xmm5
+        addsd     1888+__satan2_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm7, %xmm5
+        mulsd     %xmm6, %xmm2
+        mulsd     %xmm4, %xmm2
+        mulsd     %xmm2, %xmm7
+        mulsd     %xmm8, %xmm2
+        mulsd     %xmm3, %xmm8
+        addsd     %xmm2, %xmm7
+        movsd     1872+__satan2_la_CoutTab(%rip), %xmm3
+        addsd     %xmm8, %xmm7
+        movsd     %xmm7, -72(%rsp)
+        movaps    %xmm5, %xmm7
+        movsd     -72(%rsp), %xmm4
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm6
+        addsd     %xmm4, %xmm7
+        movsd     %xmm7, -72(%rsp)
+        movsd     -72(%rsp), %xmm8
+        subsd     %xmm8, %xmm5
+        addsd     %xmm4, %xmm5
+        movsd     %xmm5, -64(%rsp)
+        movsd     -72(%rsp), %xmm11
+        movaps    %xmm11, %xmm2
+        mulsd     %xmm11, %xmm2
+        mulsd     %xmm11, %xmm6
+        mulsd     %xmm2, %xmm3
+        movsd     -64(%rsp), %xmm4
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm7
+        addsd     1864+__satan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm11, %xmm7
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm7, -64(%rsp)
+        movsd     -72(%rsp), %xmm9
+        movsd     -64(%rsp), %xmm8
+        addsd     1856+__satan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm8, %xmm9
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm9, -72(%rsp)
+        movsd     -72(%rsp), %xmm10
+        addsd     1848+__satan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm10, %xmm11
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm11, -64(%rsp)
+        addsd     1840+__satan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        addsd     1832+__satan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        addsd     1824+__satan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        mulsd     %xmm3, %xmm13
+        movsd     -72(%rsp), %xmm2
+        movsd     -64(%rsp), %xmm12
+        movsd     %xmm13, -72(%rsp)
+        addsd     %xmm12, %xmm4
+        movsd     -72(%rsp), %xmm14
+        subsd     %xmm3, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -64(%rsp), %xmm15
+        subsd     %xmm15, %xmm5
+        movsd     %xmm5, -72(%rsp)
+        movsd     -72(%rsp), %xmm6
+        subsd     %xmm6, %xmm3
+        movsd     %xmm3, -64(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     -64(%rsp), %xmm5
+        movaps    %xmm6, %xmm12
+        movaps    %xmm5, %xmm3
+        mulsd     %xmm4, %xmm6
+        mulsd     %xmm4, %xmm3
+        mulsd     %xmm2, %xmm5
+        mulsd     %xmm2, %xmm12
+        addsd     %xmm3, %xmm6
+        movaps    %xmm12, %xmm7
+        movaps    %xmm12, %xmm8
+        addsd     %xmm5, %xmm6
+        addsd     %xmm2, %xmm7
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     %xmm7, -72(%rsp)
+        movsd     -72(%rsp), %xmm3
+        subsd     %xmm3, %xmm8
+        movsd     %xmm8, -64(%rsp)
+        movsd     -72(%rsp), %xmm10
+        movsd     -64(%rsp), %xmm9
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movsd     -64(%rsp), %xmm11
+        addsd     %xmm11, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -56(%rsp), %xmm2
+        subsd     %xmm2, %xmm12
+        movsd     %xmm12, -56(%rsp)
+        movsd     -64(%rsp), %xmm14
+        movsd     -56(%rsp), %xmm13
+        addsd     %xmm13, %xmm14
+        movsd     %xmm14, -56(%rsp)
+        movq      -72(%rsp), %r11
+        movsd     -56(%rsp), %xmm15
+        movq      %r11, -40(%rsp)
+        addsd     %xmm15, %xmm4
+        movsd     -40(%rsp), %xmm8
+        addsd     %xmm5, %xmm4
+        movsd     %xmm4, -32(%rsp)
+        movaps    %xmm8, %xmm4
+        movaps    %xmm8, %xmm2
+        addsd     (%rsi,%rax,8), %xmm4
+        movsd     %xmm4, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -64(%rsp), %xmm3
+        addsd     %xmm3, %xmm5
+        movsd     %xmm5, -56(%rsp)
+        movsd     -64(%rsp), %xmm6
+        addsd     (%rsi,%rax,8), %xmm6
+        movsd     %xmm6, -64(%rsp)
+        movsd     -56(%rsp), %xmm7
+        subsd     %xmm7, %xmm8
+        movsd     %xmm8, -56(%rsp)
+        movsd     -64(%rsp), %xmm10
+        movsd     -56(%rsp), %xmm9
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movq      -72(%rsp), %rdi
+        movq      %rdi, -40(%rsp)
+
+
+        movsd     -56(%rsp), %xmm2
+        movaps    %xmm1, %xmm3
+        shrq      $56, %rdi
+        addsd     -32(%rsp), %xmm2
+        shlb      $7, %cl
+        addsd     8(%rsi,%rax,8), %xmm2
+        movb      %dl, %al
+        andb      $127, %dil
+        shlb      $7, %al
+        movsd     %xmm2, -32(%rsp)
+        orb       %al, %dil
+        movb      %dil, -33(%rsp)
+        movsd     -40(%rsp), %xmm9
+        movaps    %xmm9, %xmm5
+        addsd     %xmm9, %xmm3
+        movsd     %xmm3, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        movb      -25(%rsp), %sil
+        movb      %sil, %r9b
+        shrb      $7, %sil
+        subsd     %xmm4, %xmm5
+        movsd     %xmm5, -64(%rsp)
+        movsd     -72(%rsp), %xmm7
+        movsd     -64(%rsp), %xmm6
+        xorb      %sil, %dl
+        andb      $127, %r9b
+        shlb      $7, %dl
+        addsd     %xmm6, %xmm7
+        movsd     %xmm7, -56(%rsp)
+        movsd     -64(%rsp), %xmm8
+        addsd     %xmm8, %xmm1
+        movsd     %xmm1, -64(%rsp)
+        orb       %dl, %r9b
+        movsd     -56(%rsp), %xmm1
+        movb      %r9b, -25(%rsp)
+        subsd     %xmm1, %xmm9
+        movsd     %xmm9, -56(%rsp)
+        movsd     -64(%rsp), %xmm11
+        movsd     -56(%rsp), %xmm10
+        addsd     %xmm10, %xmm11
+        movsd     %xmm11, -56(%rsp)
+        movq      -72(%rsp), %rdx
+        movsd     -56(%rsp), %xmm12
+        movq      %rdx, -40(%rsp)
+        addsd     %xmm12, %xmm0
+        movsd     -40(%rsp), %xmm13
+        addsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -32(%rsp)
+        addsd     %xmm0, %xmm13
+        movsd     %xmm13, -24(%rsp)
+        movb      -17(%rsp), %r10b
+        andb      $127, %r10b
+        orb       %cl, %r10b
+        movb      %r10b, -17(%rsp)
+        movsd     -24(%rsp), %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_18:
+
+        movsd     -48(%rsp), %xmm12
+        movb      %dl, %dil
+        movaps    %xmm12, %xmm7
+        mulsd     2000+__satan2_la_CoutTab(%rip), %xmm7
+        shlb      $7, %dil
+        shlb      $7, %cl
+        movsd     %xmm7, -72(%rsp)
+        movsd     -72(%rsp), %xmm8
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm13
+        movsd     1888+__satan2_la_CoutTab(%rip), %xmm7
+        mulsd     %xmm2, %xmm13
+        subsd     -48(%rsp), %xmm8
+        movsd     %xmm8, -64(%rsp)
+        movsd     -72(%rsp), %xmm10
+        movsd     -64(%rsp), %xmm9
+        subsd     %xmm9, %xmm10
+        movsd     %xmm10, -72(%rsp)
+        movsd     -72(%rsp), %xmm11
+        subsd     %xmm11, %xmm12
+        movsd     %xmm12, -64(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     -64(%rsp), %xmm5
+        movsd     %xmm13, -72(%rsp)
+        movsd     -72(%rsp), %xmm14
+        subsd     %xmm2, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        movsd     -72(%rsp), %xmm4
+        movsd     -64(%rsp), %xmm15
+        subsd     %xmm15, %xmm4
+        movsd     %xmm4, -72(%rsp)
+        movsd     -72(%rsp), %xmm3
+        movsd     1888+__satan2_la_CoutTab(%rip), %xmm4
+        subsd     %xmm3, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -72(%rsp), %xmm12
+        divsd     %xmm12, %xmm7
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm7, %xmm2
+        movsd     -64(%rsp), %xmm14
+        movsd     %xmm2, -64(%rsp)
+        movsd     -64(%rsp), %xmm8
+        subsd     %xmm7, %xmm8
+        movsd     %xmm8, -56(%rsp)
+        movsd     -64(%rsp), %xmm10
+        movsd     -56(%rsp), %xmm9
+        subsd     %xmm9, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movsd     -56(%rsp), %xmm11
+        mulsd     %xmm11, %xmm12
+        movsd     -56(%rsp), %xmm13
+        subsd     %xmm12, %xmm4
+        mulsd     %xmm13, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        movsd     -64(%rsp), %xmm15
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm13
+        subsd     %xmm15, %xmm4
+        movsd     %xmm4, -64(%rsp)
+        movsd     -64(%rsp), %xmm7
+        movq      -56(%rsp), %rax
+        movsd     -64(%rsp), %xmm2
+        movsd     -56(%rsp), %xmm3
+        movq      %rax, -40(%rsp)
+        movsd     -40(%rsp), %xmm8
+        movaps    %xmm8, %xmm9
+        addsd     1888+__satan2_la_CoutTab(%rip), %xmm7
+        mulsd     %xmm6, %xmm9
+        mulsd     %xmm5, %xmm8
+        mulsd     %xmm2, %xmm7
+        movsd     -16(%rsp), %xmm2
+        mulsd     %xmm2, %xmm2
+        mulsd     %xmm3, %xmm7
+        movsd     1872+__satan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        mulsd     %xmm7, %xmm6
+        mulsd     %xmm5, %xmm7
+        addsd     1864+__satan2_la_CoutTab(%rip), %xmm3
+        addsd     %xmm7, %xmm6
+        mulsd     %xmm2, %xmm3
+        addsd     %xmm8, %xmm6
+        addsd     1856+__satan2_la_CoutTab(%rip), %xmm3
+        mulsd     %xmm2, %xmm3
+        movaps    %xmm9, %xmm5
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        addsd     1848+__satan2_la_CoutTab(%rip), %xmm3
+        addsd     %xmm4, %xmm5
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm5, -72(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     2000+__satan2_la_CoutTab(%rip), %xmm5
+        subsd     %xmm6, %xmm9
+        addsd     1840+__satan2_la_CoutTab(%rip), %xmm3
+        addsd     %xmm4, %xmm9
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm9, -64(%rsp)
+        movsd     -72(%rsp), %xmm11
+        mulsd     %xmm11, %xmm5
+        addsd     1832+__satan2_la_CoutTab(%rip), %xmm3
+        movsd     -64(%rsp), %xmm4
+        movsd     %xmm5, -72(%rsp)
+        movsd     -72(%rsp), %xmm7
+        mulsd     %xmm2, %xmm3
+        subsd     %xmm11, %xmm7
+        movsd     %xmm7, -64(%rsp)
+        movsd     -72(%rsp), %xmm8
+        movsd     -64(%rsp), %xmm6
+        addsd     1824+__satan2_la_CoutTab(%rip), %xmm3
+        subsd     %xmm6, %xmm8
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm8, -72(%rsp)
+        movsd     -72(%rsp), %xmm10
+        mulsd     %xmm3, %xmm13
+        subsd     %xmm10, %xmm11
+        movsd     %xmm11, -64(%rsp)
+        movsd     -72(%rsp), %xmm2
+        movsd     -64(%rsp), %xmm12
+        movsd     %xmm13, -72(%rsp)
+        addsd     %xmm12, %xmm4
+        movsd     -72(%rsp), %xmm14
+        subsd     %xmm3, %xmm14
+        movsd     %xmm14, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -64(%rsp), %xmm15
+        subsd     %xmm15, %xmm5
+        movsd     %xmm5, -72(%rsp)
+        movsd     -72(%rsp), %xmm6
+        subsd     %xmm6, %xmm3
+        movsd     %xmm3, -64(%rsp)
+        movsd     -72(%rsp), %xmm6
+        movsd     -64(%rsp), %xmm5
+        movaps    %xmm6, %xmm12
+        movaps    %xmm5, %xmm3
+        mulsd     %xmm4, %xmm6
+        mulsd     %xmm4, %xmm3
+        mulsd     %xmm2, %xmm5
+        mulsd     %xmm2, %xmm12
+        addsd     %xmm3, %xmm6
+        movaps    %xmm12, %xmm7
+        movaps    %xmm12, %xmm8
+        addsd     %xmm5, %xmm6
+        addsd     %xmm2, %xmm7
+        movsd     %xmm6, -72(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     %xmm7, -72(%rsp)
+        movsd     -72(%rsp), %xmm3
+        subsd     %xmm3, %xmm8
+        movsd     %xmm8, -64(%rsp)
+        movsd     -72(%rsp), %xmm10
+        movsd     -64(%rsp), %xmm9
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -56(%rsp)
+        movsd     -64(%rsp), %xmm11
+        addsd     %xmm11, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -56(%rsp), %xmm2
+        subsd     %xmm2, %xmm12
+        movsd     %xmm12, -56(%rsp)
+        movsd     -64(%rsp), %xmm14
+        movsd     -56(%rsp), %xmm13
+        addsd     %xmm13, %xmm14
+        movsd     %xmm14, -56(%rsp)
+        movq      -72(%rsp), %rsi
+        movsd     -56(%rsp), %xmm15
+        movq      %rsi, -40(%rsp)
+        addsd     %xmm15, %xmm4
+        shrq      $56, %rsi
+        addsd     %xmm5, %xmm4
+        andb      $127, %sil
+        orb       %dil, %sil
+        movb      %sil, -33(%rsp)
+        movsd     %xmm4, -32(%rsp)
+        movaps    %xmm1, %xmm4
+        movsd     -40(%rsp), %xmm7
+        movaps    %xmm7, %xmm2
+        addsd     %xmm7, %xmm4
+        movsd     %xmm4, -72(%rsp)
+        movsd     -72(%rsp), %xmm4
+        movb      -25(%rsp), %r9b
+        movb      %r9b, %r10b
+        shrb      $7, %r9b
+        subsd     %xmm4, %xmm2
+        movsd     %xmm2, -64(%rsp)
+        movsd     -72(%rsp), %xmm5
+        movsd     -64(%rsp), %xmm3
+        xorb      %r9b, %dl
+        andb      $127, %r10b
+        shlb      $7, %dl
+        addsd     %xmm3, %xmm5
+        movsd     %xmm5, -56(%rsp)
+        movsd     -64(%rsp), %xmm6
+        addsd     %xmm6, %xmm1
+        movsd     %xmm1, -64(%rsp)
+        orb       %dl, %r10b
+        movsd     -56(%rsp), %xmm1
+        movb      %r10b, -25(%rsp)
+        subsd     %xmm1, %xmm7
+        movsd     %xmm7, -56(%rsp)
+        movsd     -64(%rsp), %xmm2
+        movsd     -56(%rsp), %xmm1
+        addsd     %xmm1, %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movq      -72(%rsp), %rdx
+        movsd     -56(%rsp), %xmm3
+        movq      %rdx, -40(%rsp)
+        addsd     %xmm3, %xmm0
+        movsd     -40(%rsp), %xmm4
+        addsd     -32(%rsp), %xmm0
+        movsd     %xmm0, -32(%rsp)
+        addsd     %xmm0, %xmm4
+        movsd     %xmm4, -24(%rsp)
+        movb      -17(%rsp), %r11b
+        andb      $127, %r11b
+        orb       %cl, %r11b
+        movb      %r11b, -17(%rsp)
+        movsd     -24(%rsp), %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_19:
+
+        cmpl      $74, %r9d
+        jge       .LBL_2_21
+
+
+        movb      %dil, -41(%rsp)
+        divsd     -48(%rsp), %xmm1
+        movsd     1928+__satan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %cl
+        subsd     %xmm1, %xmm0
+        addsd     1920+__satan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %cl, %al
+        movb      %al, -17(%rsp)
+        movsd     -24(%rsp), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_21:
+
+        movsd     1920+__satan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %cl
+        addsd     1928+__satan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %cl, %al
+        movb      %al, -17(%rsp)
+        movsd     -24(%rsp), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_22:
+
+        testb     %dl, %dl
+        jne       .LBL_2_32
+
+
+        movb      %dil, -41(%rsp)
+        pxor      %xmm0, %xmm0
+        movb      %sil, -33(%rsp)
+        movsd     -48(%rsp), %xmm2
+        divsd     -40(%rsp), %xmm2
+        cvtsd2ss  %xmm2, %xmm0
+        movss     %xmm0, -8(%rsp)
+        movzwl    -6(%rsp), %eax
+        movsd     %xmm2, -24(%rsp)
+        testl     $32640, %eax
+        je        .LBL_2_25
+
+
+        movsd     1888+__satan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %cl
+        addsd     %xmm2, %xmm0
+        movsd     %xmm0, -72(%rsp)
+        movsd     -72(%rsp), %xmm1
+        mulsd     %xmm1, %xmm2
+        movsd     %xmm2, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %cl, %al
+        movb      %al, -17(%rsp)
+        movsd     -24(%rsp), %xmm2
+        cvtsd2ss  %xmm2, %xmm2
+        movss     %xmm2, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_25:
+
+        movsd     -24(%rsp), %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        shlb      $7, %cl
+        movss     %xmm0, -8(%rsp)
+        movss     -8(%rsp), %xmm2
+        movss     -8(%rsp), %xmm1
+        mulss     %xmm1, %xmm2
+        movss     %xmm2, -8(%rsp)
+        movss     -8(%rsp), %xmm3
+        cvtss2sd  %xmm3, %xmm3
+        addsd     -24(%rsp), %xmm3
+        movsd     %xmm3, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %cl, %al
+        movb      %al, -17(%rsp)
+        movsd     -24(%rsp), %xmm4
+        cvtsd2ss  %xmm4, %xmm4
+        movss     %xmm4, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_27:
+
+        testl     %eax, %eax
+        jne       .LBL_2_21
+
+
+        testl     $8388607, -32(%rsp)
+        jne       .LBL_2_21
+
+.LBL_2_30:
+
+        testb     %dl, %dl
+        jne       .LBL_2_32
+
+.LBL_2_31:
+
+        shlb      $7, %cl
+        movq      1976+__satan2_la_CoutTab(%rip), %rax
+        movq      %rax, -24(%rsp)
+        shrq      $56, %rax
+        andb      $127, %al
+        orb       %cl, %al
+        movb      %al, -17(%rsp)
+        movsd     -24(%rsp), %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_32:
+
+        movsd     1936+__satan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %cl
+        addsd     1944+__satan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %cl, %al
+        movb      %al, -17(%rsp)
+        movsd     -24(%rsp), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%r8)
+
+.LBL_2_33:
+
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_34:
+
+        movsd     1984+__satan2_la_CoutTab(%rip), %xmm3
+        movl      $-1022, %eax
+        mulsd     %xmm3, %xmm4
+        movsd     %xmm4, -48(%rsp)
+        jmp       .LBL_2_16
+
+.LBL_2_35:
+
+        cmpl      $2047, %eax
+        je        .LBL_2_48
+
+.LBL_2_36:
+
+        cmpl      $2047, %r9d
+        je        .LBL_2_46
+
+.LBL_2_37:
+
+        movzwl    -26(%rsp), %eax
+        andl      $32640, %eax
+        cmpl      $32640, %eax
+        jne       .LBL_2_21
+
+
+        cmpl      $255, %edi
+        je        .LBL_2_43
+
+
+        testb     %dl, %dl
+        je        .LBL_2_31
+        jmp       .LBL_2_32
+
+.LBL_2_43:
+
+        testb     %dl, %dl
+        jne       .LBL_2_45
+
+
+        movsd     1904+__satan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %cl
+        addsd     1912+__satan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %cl, %al
+        movb      %al, -17(%rsp)
+        movsd     -24(%rsp), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_45:
+
+        movsd     1952+__satan2_la_CoutTab(%rip), %xmm0
+        shlb      $7, %cl
+        addsd     1960+__satan2_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %al
+        andb      $127, %al
+        orb       %cl, %al
+        movb      %al, -17(%rsp)
+        movsd     -24(%rsp), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_46:
+
+        testl     $8388607, -28(%rsp)
+        je        .LBL_2_37
+
+.LBL_2_47:
+
+        addss     %xmm2, %xmm3
+        movss     %xmm3, (%r8)
+        jmp       .LBL_2_33
+
+.LBL_2_48:
+
+        testl     $8388607, -32(%rsp)
+        jne       .LBL_2_47
+        jmp       .LBL_2_36
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_satan2_cout_rare_internal,@function
+       .size   __svml_satan2_cout_rare_internal,.-__svml_satan2_cout_rare_internal
+..LN__svml_satan2_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_satan2_data_internal:
+       .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   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   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .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   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   993144000
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   3162449457
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   1026278276
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   3180885545
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   1037657204
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   3188810232
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   1045215135
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .long   3198855753
+       .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   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   2164260864
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .long   4227858432
+       .type   __svml_satan2_data_internal,@object
+       .size   __svml_satan2_data_internal,1152
+       .align 32
+__satan2_la_CoutTab:
+       .long   3892314112
+       .long   1069799150
+       .long   2332892550
+       .long   1039715405
+       .long   1342177280
+       .long   1070305495
+       .long   270726690
+       .long   1041535749
+       .long   939524096
+       .long   1070817911
+       .long   2253973841
+       .long   3188654726
+       .long   3221225472
+       .long   1071277294
+       .long   3853927037
+       .long   1043226911
+       .long   2818572288
+       .long   1071767563
+       .long   2677759107
+       .long   1044314101
+       .long   3355443200
+       .long   1072103591
+       .long   1636578514
+       .long   3191094734
+       .long   1476395008
+       .long   1072475260
+       .long   1864703685
+       .long   3188646936
+       .long   805306368
+       .long   1072747407
+       .long   192551812
+       .long   3192726267
+       .long   2013265920
+       .long   1072892781
+       .long   2240369452
+       .long   1043768538
+       .long   0
+       .long   1072999953
+       .long   3665168337
+       .long   3192705970
+       .long   402653184
+       .long   1073084787
+       .long   1227953434
+       .long   3192313277
+       .long   2013265920
+       .long   1073142981
+       .long   3853283127
+       .long   1045277487
+       .long   805306368
+       .long   1073187261
+       .long   1676192264
+       .long   3192868861
+       .long   134217728
+       .long   1073217000
+       .long   4290763938
+       .long   1042034855
+       .long   671088640
+       .long   1073239386
+       .long   994303084
+       .long   3189643768
+       .long   402653184
+       .long   1073254338
+       .long   1878067156
+       .long   1042652475
+       .long   1610612736
+       .long   1073265562
+       .long   670314820
+       .long   1045138554
+       .long   3221225472
+       .long   1073273048
+       .long   691126919
+       .long   3189987794
+       .long   3489660928
+       .long   1073278664
+       .long   1618990832
+       .long   3188194509
+       .long   1207959552
+       .long   1073282409
+       .long   2198872939
+       .long   1044806069
+       .long   3489660928
+       .long   1073285217
+       .long   2633982383
+       .long   1042307894
+       .long   939524096
+       .long   1073287090
+       .long   1059367786
+       .long   3189114230
+       .long   2281701376
+       .long   1073288494
+       .long   3158525533
+       .long   1044484961
+       .long   3221225472
+       .long   1073289430
+       .long   286581777
+       .long   1044893263
+       .long   4026531840
+       .long   1073290132
+       .long   2000245215
+       .long   3191647611
+       .long   134217728
+       .long   1073290601
+       .long   4205071590
+       .long   1045035927
+       .long   536870912
+       .long   1073290952
+       .long   2334392229
+       .long   1043447393
+       .long   805306368
+       .long   1073291186
+       .long   2281458177
+       .long   3188885569
+       .long   3087007744
+       .long   1073291361
+       .long   691611507
+       .long   1044733832
+       .long   3221225472
+       .long   1073291478
+       .long   1816229550
+       .long   1044363390
+       .long   2281701376
+       .long   1073291566
+       .long   1993843750
+       .long   3189837440
+       .long   134217728
+       .long   1073291625
+       .long   3654754496
+       .long   1044970837
+       .long   4026531840
+       .long   1073291668
+       .long   3224300229
+       .long   3191935390
+       .long   805306368
+       .long   1073291698
+       .long   2988777976
+       .long   3188950659
+       .long   536870912
+       .long   1073291720
+       .long   1030371341
+       .long   1043402665
+       .long   3221225472
+       .long   1073291734
+       .long   1524463765
+       .long   1044361356
+       .long   3087007744
+       .long   1073291745
+       .long   2754295320
+       .long   1044731036
+       .long   134217728
+       .long   1073291753
+       .long   3099629057
+       .long   1044970710
+       .long   2281701376
+       .long   1073291758
+       .long   962914160
+       .long   3189838838
+       .long   805306368
+       .long   1073291762
+       .long   3543908206
+       .long   3188950786
+       .long   4026531840
+       .long   1073291764
+       .long   1849909620
+       .long   3191935434
+       .long   3221225472
+       .long   1073291766
+       .long   1641333636
+       .long   1044361352
+       .long   536870912
+       .long   1073291768
+       .long   1373968792
+       .long   1043402654
+       .long   134217728
+       .long   1073291769
+       .long   2033191599
+       .long   1044970710
+       .long   3087007744
+       .long   1073291769
+       .long   4117947437
+       .long   1044731035
+       .long   805306368
+       .long   1073291770
+       .long   315378368
+       .long   3188950787
+       .long   2281701376
+       .long   1073291770
+       .long   2428571750
+       .long   3189838838
+       .long   3221225472
+       .long   1073291770
+       .long   1608007466
+       .long   1044361352
+       .long   4026531840
+       .long   1073291770
+       .long   1895711420
+       .long   3191935434
+       .long   134217728
+       .long   1073291771
+       .long   2031108713
+       .long   1044970710
+       .long   536870912
+       .long   1073291771
+       .long   1362518342
+       .long   1043402654
+       .long   805306368
+       .long   1073291771
+       .long   317461253
+       .long   3188950787
+       .long   939524096
+       .long   1073291771
+       .long   4117231784
+       .long   1044731035
+       .long   1073741824
+       .long   1073291771
+       .long   1607942376
+       .long   1044361352
+       .long   1207959552
+       .long   1073291771
+       .long   2428929577
+       .long   3189838838
+       .long   1207959552
+       .long   1073291771
+       .long   2031104645
+       .long   1044970710
+       .long   1342177280
+       .long   1073291771
+       .long   1895722602
+       .long   3191935434
+       .long   1342177280
+       .long   1073291771
+       .long   317465322
+       .long   3188950787
+       .long   1342177280
+       .long   1073291771
+       .long   1362515546
+       .long   1043402654
+       .long   1342177280
+       .long   1073291771
+       .long   1607942248
+       .long   1044361352
+       .long   1342177280
+       .long   1073291771
+       .long   4117231610
+       .long   1044731035
+       .long   1342177280
+       .long   1073291771
+       .long   2031104637
+       .long   1044970710
+       .long   1342177280
+       .long   1073291771
+       .long   1540251232
+       .long   1045150466
+       .long   1342177280
+       .long   1073291771
+       .long   2644671394
+       .long   1045270303
+       .long   1342177280
+       .long   1073291771
+       .long   2399244691
+       .long   1045360181
+       .long   1342177280
+       .long   1073291771
+       .long   803971124
+       .long   1045420100
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192879152
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192849193
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192826724
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192811744
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192800509
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192793019
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192787402
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192783657
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192780848
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192778976
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192777572
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192776635
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192775933
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192775465
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192775114
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774880
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192774704
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774587
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192774500
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774441
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192774397
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774368
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192774346
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774331
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192774320
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774313
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192774308
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774304
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192774301
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774299
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192774298
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774297
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192774296
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774296
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192774296
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1466225875
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1343512524
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1251477510
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1190120835
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1144103328
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1113424990
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1090416237
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1075077068
+       .long   3192774295
+       .long   1431655765
+       .long   3218429269
+       .long   2576978363
+       .long   1070176665
+       .long   2453154343
+       .long   3217180964
+       .long   4189149139
+       .long   1069314502
+       .long   1775019125
+       .long   3216459198
+       .long   273199057
+       .long   1068739452
+       .long   874748308
+       .long   3215993277
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1073741824
+       .long   1413754136
+       .long   1072243195
+       .long   856972295
+       .long   1015129638
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   1413754136
+       .long   1074340347
+       .long   856972295
+       .long   1017226790
+       .long   2134057426
+       .long   1073928572
+       .long   1285458442
+       .long   1016756537
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   0
+       .long   0
+       .long   2144337920
+       .long   0
+       .long   1048576
+       .long   33554432
+       .long   1101004800
+       .type   __satan2_la_CoutTab,@object
+       .size   __satan2_la_CoutTab,2008
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_atan_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_atan_d_la.s
new file mode 100644 (file)
index 0000000..0156437
--- /dev/null
@@ -0,0 +1,1352 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *      For    0.0    <= x <=  7.0/16.0: atan(x) = atan(0.0) + atan(s), where s=(x-0.0)/(1.0+0.0*x)
+ *      For  7.0/16.0 <= x <= 11.0/16.0: atan(x) = atan(0.5) + atan(s), where s=(x-0.5)/(1.0+0.5*x)
+ *      For 11.0/16.0 <= x <= 19.0/16.0: atan(x) = atan(1.0) + atan(s), where s=(x-1.0)/(1.0+1.0*x)
+ *      For 19.0/16.0 <= x <= 39.0/16.0: atan(x) = atan(1.5) + atan(s), where s=(x-1.5)/(1.0+1.5*x)
+ *      For 39.0/16.0 <= x <=    inf   : atan(x) = atan(inf) + atan(s), where s=-1.0/x
+ *      Where atan(s) ~= s+s^3*Poly11(s^2) on interval |s|<7.0/0.16.
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_atan8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_atan8
+
+__svml_atan8:
+
+
+       .cfi_startproc
+..L2:
+
+        vmovups   64+__svml_datan_data_internal_avx512(%rip), %zmm4
+        vmovups   128+__svml_datan_data_internal_avx512(%rip), %zmm3
+        vmovups   256+__svml_datan_data_internal_avx512(%rip), %zmm9
+
+/* saturate X range */
+        vmovups   320+__svml_datan_data_internal_avx512(%rip), %zmm7
+
+        vandpd    __svml_datan_data_internal_avx512(%rip), %zmm0, %zmm8
+
+/* R+Rl = DiffX/Y */
+        vbroadcastsd .L_2il0floatpacket.14(%rip), %zmm15
+        vaddpd    {rn-sae}, %zmm4, %zmm8, %zmm2
+        vxorpd    %zmm0, %zmm8, %zmm1
+        vcmppd    $29, {sae}, %zmm3, %zmm8, %k2
+
+/* round to 2 bits after binary point */
+        vreducepd $40, {sae}, %zmm8, %zmm6
+        vsubpd    {rn-sae}, %zmm4, %zmm2, %zmm5
+
+/*
+ * if|X|>=MaxThreshold, set DiffX=-1
+ * VMSUB(D, DiffX, LargeMask, Zero, One);
+ */
+        vblendmpd 192+__svml_datan_data_internal_avx512(%rip), %zmm6, %zmm10{%k2}
+        vfmadd231pd {rn-sae}, %zmm8, %zmm5, %zmm9
+        vmovups   960+__svml_datan_data_internal_avx512(%rip), %zmm5
+
+/* table lookup sequence */
+        vmovups   448+__svml_datan_data_internal_avx512(%rip), %zmm6
+        vgetmantpd $0, {sae}, %zmm10, %zmm14
+        vgetexppd {sae}, %zmm10, %zmm11
+        vmovups   1408+__svml_datan_data_internal_avx512(%rip), %zmm10
+
+/*
+ * if|X|>=MaxThreshold, set Y=X
+ * VMADD(D, Y, LargeMask, X, Zero);
+ */
+        vminpd    {sae}, %zmm8, %zmm7, %zmm9{%k2}
+        vcmppd    $29, {sae}, %zmm5, %zmm2, %k1
+        vmovups   576+__svml_datan_data_internal_avx512(%rip), %zmm7
+        vmovups   1152+__svml_datan_data_internal_avx512(%rip), %zmm8
+        vgetmantpd $0, {sae}, %zmm9, %zmm3
+        vgetexppd {sae}, %zmm9, %zmm12
+        vmovups   1280+__svml_datan_data_internal_avx512(%rip), %zmm9
+        vpermt2pd 512+__svml_datan_data_internal_avx512(%rip), %zmm2, %zmm6
+        vsubpd    {rn-sae}, %zmm12, %zmm11, %zmm4
+        vpermt2pd 640+__svml_datan_data_internal_avx512(%rip), %zmm2, %zmm7
+        vrcp14pd  %zmm3, %zmm13
+        vmovups   1344+__svml_datan_data_internal_avx512(%rip), %zmm12
+        vmovups   1472+__svml_datan_data_internal_avx512(%rip), %zmm11
+        vblendmpd %zmm7, %zmm6, %zmm2{%k1}
+        vmulpd    {rn-sae}, %zmm13, %zmm14, %zmm0
+        vfnmadd231pd {rn-sae}, %zmm3, %zmm13, %zmm15
+        vfnmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm3
+        vfmadd213pd {rn-sae}, %zmm15, %zmm15, %zmm15
+        vfmadd213pd {rn-sae}, %zmm13, %zmm13, %zmm15
+        vfmadd213pd {rn-sae}, %zmm0, %zmm15, %zmm3
+        vscalefpd {rn-sae}, %zmm4, %zmm3, %zmm0
+
+/* set table value to Pi/2 for large X */
+        vblendmpd 1024+__svml_datan_data_internal_avx512(%rip), %zmm2, %zmm3{%k2}
+        vmovups   1216+__svml_datan_data_internal_avx512(%rip), %zmm2
+
+/* polynomial evaluation */
+        vmulpd    {rn-sae}, %zmm0, %zmm0, %zmm14
+        vmulpd    {rn-sae}, %zmm14, %zmm14, %zmm13
+        vmulpd    {rn-sae}, %zmm0, %zmm14, %zmm15
+        vfmadd231pd {rn-sae}, %zmm14, %zmm8, %zmm2
+        vfmadd231pd {rn-sae}, %zmm14, %zmm9, %zmm12
+        vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm14
+        vfmadd213pd {rn-sae}, %zmm12, %zmm13, %zmm2
+        vfmadd213pd {rn-sae}, %zmm14, %zmm13, %zmm2
+        vfmadd213pd {rn-sae}, %zmm0, %zmm15, %zmm2
+        vaddpd    {rn-sae}, %zmm3, %zmm2, %zmm0
+        vxorpd    %zmm1, %zmm0, %zmm0
+
+/* no invcbrt in libm, so taking it out here */
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_atan8,@function
+       .size   __svml_atan8,.-__svml_atan8
+..LN__svml_atan8.0:
+
+.L_2__routine_start___svml_datan_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_datan_cout_rare_internal:
+
+
+       .cfi_startproc
+..L5:
+
+        movzwl    6(%rdi), %r8d
+        andl      $32752, %r8d
+        shrl      $4, %r8d
+        cmpl      $2047, %r8d
+        je        .LBL_2_12
+
+
+        movq      (%rdi), %rdx
+        movq      %rdx, -16(%rsp)
+        shrq      $56, %rdx
+        movb      7(%rdi), %al
+        andl      $127, %edx
+        movb      %dl, -9(%rsp)
+        movsd     -16(%rsp), %xmm0
+        shrb      $7, %al
+        comisd    1888+__datan_la_CoutTab(%rip), %xmm0
+        movl      -12(%rsp), %ecx
+        jb        .LBL_2_6
+
+
+        movsd     1896+__datan_la_CoutTab(%rip), %xmm1
+        comisd    %xmm0, %xmm1
+        jbe       .LBL_2_5
+
+
+        movl      4(%rdi), %edx
+        movl      %ecx, %edi
+        andl      $-524288, %ecx
+        andl      $-1048576, %edi
+        addl      $262144, %ecx
+        movaps    %xmm0, %xmm9
+        andl      $1048575, %ecx
+        movaps    %xmm0, %xmm10
+        movsd     %xmm0, -56(%rsp)
+        orl       %ecx, %edi
+        movl      $0, -56(%rsp)
+        andl      $1048575, %edx
+        movl      %edi, -52(%rsp)
+        lea       __datan_la_CoutTab(%rip), %rcx
+        movsd     1928+__datan_la_CoutTab(%rip), %xmm4
+        movsd     -56(%rsp), %xmm15
+        shll      $20, %r8d
+        subsd     -56(%rsp), %xmm9
+        mulsd     1928+__datan_la_CoutTab(%rip), %xmm10
+        shlb      $7, %al
+        mulsd     %xmm9, %xmm4
+        movsd     %xmm4, -48(%rsp)
+        orl       %edx, %r8d
+        movsd     -48(%rsp), %xmm5
+        addl      $-1069547520, %r8d
+        sarl      $18, %r8d
+        subsd     %xmm9, %xmm5
+        movsd     %xmm5, -40(%rsp)
+        andl      $-2, %r8d
+        movsd     -48(%rsp), %xmm7
+        movsd     -40(%rsp), %xmm6
+        movslq    %r8d, %r8
+        subsd     %xmm6, %xmm7
+        movsd     %xmm7, -48(%rsp)
+        movsd     -48(%rsp), %xmm8
+        movsd     1904+__datan_la_CoutTab(%rip), %xmm6
+        subsd     %xmm8, %xmm9
+        movsd     %xmm9, -40(%rsp)
+        movsd     -48(%rsp), %xmm2
+        movsd     -40(%rsp), %xmm3
+        movsd     %xmm10, -48(%rsp)
+        movsd     -48(%rsp), %xmm11
+        movsd     1904+__datan_la_CoutTab(%rip), %xmm8
+        subsd     -16(%rsp), %xmm11
+        movsd     %xmm11, -40(%rsp)
+        movsd     -48(%rsp), %xmm13
+        movsd     -40(%rsp), %xmm12
+        subsd     %xmm12, %xmm13
+        movsd     %xmm13, -48(%rsp)
+        movsd     -48(%rsp), %xmm14
+        subsd     %xmm14, %xmm0
+        movsd     1904+__datan_la_CoutTab(%rip), %xmm14
+        movsd     %xmm0, -40(%rsp)
+        movsd     -48(%rsp), %xmm5
+        movsd     -40(%rsp), %xmm4
+        mulsd     %xmm15, %xmm5
+        mulsd     %xmm15, %xmm4
+        movaps    %xmm5, %xmm1
+        addsd     %xmm4, %xmm1
+        movsd     %xmm1, -48(%rsp)
+        movsd     -48(%rsp), %xmm0
+        subsd     %xmm0, %xmm5
+        addsd     %xmm4, %xmm5
+        movsd     1928+__datan_la_CoutTab(%rip), %xmm4
+        movsd     %xmm5, -40(%rsp)
+        movsd     -48(%rsp), %xmm11
+        movsd     -40(%rsp), %xmm1
+        addsd     %xmm11, %xmm6
+        movsd     %xmm6, -48(%rsp)
+        movsd     -48(%rsp), %xmm7
+        subsd     %xmm7, %xmm8
+        movsd     %xmm8, -40(%rsp)
+        movsd     -48(%rsp), %xmm10
+        movsd     -40(%rsp), %xmm9
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -32(%rsp)
+        movsd     -40(%rsp), %xmm12
+        movsd     1928+__datan_la_CoutTab(%rip), %xmm10
+        addsd     %xmm11, %xmm12
+        movsd     %xmm12, -40(%rsp)
+        movsd     -32(%rsp), %xmm13
+        movsd     1904+__datan_la_CoutTab(%rip), %xmm11
+        subsd     %xmm13, %xmm14
+        movsd     %xmm14, -32(%rsp)
+        movsd     -40(%rsp), %xmm0
+        movsd     -32(%rsp), %xmm15
+        addsd     %xmm15, %xmm0
+        movsd     %xmm0, -32(%rsp)
+        movsd     -48(%rsp), %xmm9
+        mulsd     %xmm9, %xmm4
+        movsd     -32(%rsp), %xmm0
+        movsd     %xmm4, -48(%rsp)
+        addsd     %xmm1, %xmm0
+        movsd     -48(%rsp), %xmm5
+        subsd     %xmm9, %xmm5
+        movsd     %xmm5, -40(%rsp)
+        movsd     -48(%rsp), %xmm7
+        movsd     -40(%rsp), %xmm6
+        subsd     %xmm6, %xmm7
+        movsd     1904+__datan_la_CoutTab(%rip), %xmm6
+        movsd     %xmm7, -48(%rsp)
+        movsd     -48(%rsp), %xmm8
+        subsd     %xmm8, %xmm9
+        movsd     %xmm9, -40(%rsp)
+        movsd     -48(%rsp), %xmm4
+        divsd     %xmm4, %xmm11
+        mulsd     %xmm11, %xmm10
+        movsd     -40(%rsp), %xmm5
+        movsd     %xmm10, -40(%rsp)
+        addsd     %xmm0, %xmm5
+        movsd     -40(%rsp), %xmm12
+        subsd     %xmm11, %xmm12
+        movsd     %xmm12, -32(%rsp)
+        movsd     -40(%rsp), %xmm10
+        movsd     -32(%rsp), %xmm13
+        subsd     %xmm13, %xmm10
+        movsd     %xmm10, -32(%rsp)
+        movsd     -32(%rsp), %xmm14
+        mulsd     %xmm14, %xmm4
+        movsd     -32(%rsp), %xmm15
+        subsd     %xmm4, %xmm6
+        mulsd     %xmm15, %xmm5
+        movsd     %xmm5, -40(%rsp)
+        movsd     -40(%rsp), %xmm1
+        subsd     %xmm1, %xmm6
+        movsd     %xmm6, -40(%rsp)
+        movsd     -40(%rsp), %xmm4
+        movsd     -32(%rsp), %xmm5
+        movsd     -40(%rsp), %xmm0
+        movaps    %xmm5, %xmm7
+        movsd     -32(%rsp), %xmm1
+        mulsd     %xmm3, %xmm5
+        addsd     1904+__datan_la_CoutTab(%rip), %xmm4
+        mulsd     %xmm2, %xmm7
+        mulsd     %xmm0, %xmm4
+        mulsd     %xmm1, %xmm4
+        mulsd     %xmm4, %xmm3
+        mulsd     %xmm4, %xmm2
+        addsd     %xmm3, %xmm5
+        movsd     1872+__datan_la_CoutTab(%rip), %xmm6
+        addsd     %xmm2, %xmm5
+        movsd     %xmm5, -48(%rsp)
+        movaps    %xmm7, %xmm2
+        movsd     -48(%rsp), %xmm4
+        addsd     %xmm4, %xmm2
+        movsd     %xmm2, -48(%rsp)
+        movsd     -48(%rsp), %xmm3
+        movsd     (%rcx,%r8,8), %xmm2
+        subsd     %xmm3, %xmm7
+        addsd     %xmm4, %xmm7
+        movsd     %xmm7, -40(%rsp)
+        movsd     -48(%rsp), %xmm3
+        movaps    %xmm3, %xmm5
+        movaps    %xmm3, %xmm0
+        mulsd     %xmm3, %xmm5
+        addsd     %xmm2, %xmm0
+        mulsd     %xmm5, %xmm6
+        movsd     -40(%rsp), %xmm10
+        movsd     %xmm0, -48(%rsp)
+        movsd     -48(%rsp), %xmm1
+        addsd     1864+__datan_la_CoutTab(%rip), %xmm6
+        subsd     %xmm1, %xmm2
+        mulsd     %xmm5, %xmm6
+        addsd     %xmm3, %xmm2
+        addsd     1856+__datan_la_CoutTab(%rip), %xmm6
+        mulsd     %xmm5, %xmm6
+        movsd     %xmm2, -40(%rsp)
+        movsd     -48(%rsp), %xmm9
+        movsd     -40(%rsp), %xmm8
+        addsd     1848+__datan_la_CoutTab(%rip), %xmm6
+        mulsd     %xmm5, %xmm6
+        addsd     1840+__datan_la_CoutTab(%rip), %xmm6
+        mulsd     %xmm5, %xmm6
+        addsd     1832+__datan_la_CoutTab(%rip), %xmm6
+        mulsd     %xmm5, %xmm6
+        addsd     1824+__datan_la_CoutTab(%rip), %xmm6
+        mulsd     %xmm5, %xmm6
+        mulsd     %xmm3, %xmm6
+        addsd     %xmm6, %xmm10
+        addsd     8(%rcx,%r8,8), %xmm10
+        addsd     %xmm8, %xmm10
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -24(%rsp)
+        movb      -17(%rsp), %r9b
+        andb      $127, %r9b
+        orb       %al, %r9b
+        movb      %r9b, -17(%rsp)
+        movq      -24(%rsp), %rax
+        movq      %rax, (%rsi)
+        jmp       .LBL_2_11
+
+.LBL_2_5:
+
+        movsd     1912+__datan_la_CoutTab(%rip), %xmm0
+        shlb      $7, %al
+        addsd     1920+__datan_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %dl
+        andb      $127, %dl
+        orb       %al, %dl
+        movb      %dl, -17(%rsp)
+        movq      -24(%rsp), %rax
+        movq      %rax, (%rsi)
+        jmp       .LBL_2_11
+
+.LBL_2_6:
+
+        comisd    1880+__datan_la_CoutTab(%rip), %xmm0
+        jb        .LBL_2_8
+
+
+        movaps    %xmm0, %xmm1
+        mulsd     %xmm0, %xmm1
+        shlb      $7, %al
+        movsd     1872+__datan_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1864+__datan_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1856+__datan_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1848+__datan_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1840+__datan_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1832+__datan_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1824+__datan_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        mulsd     %xmm0, %xmm2
+        addsd     %xmm0, %xmm2
+        movsd     %xmm2, -24(%rsp)
+        movb      -17(%rsp), %dl
+        andb      $127, %dl
+        orb       %al, %dl
+        movb      %dl, -17(%rsp)
+        movq      -24(%rsp), %rax
+        movq      %rax, (%rsi)
+        jmp       .LBL_2_11
+
+.LBL_2_8:
+
+        movzwl    -10(%rsp), %edx
+        testl     $32752, %edx
+        je        .LBL_2_10
+
+
+        movsd     1904+__datan_la_CoutTab(%rip), %xmm1
+        shlb      $7, %al
+        addsd     %xmm0, %xmm1
+        movsd     %xmm1, -48(%rsp)
+        movsd     -48(%rsp), %xmm0
+        mulsd     -16(%rsp), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %dl
+        andb      $127, %dl
+        orb       %al, %dl
+        movb      %dl, -17(%rsp)
+        movq      -24(%rsp), %rax
+        movq      %rax, (%rsi)
+        jmp       .LBL_2_11
+
+.LBL_2_10:
+
+        mulsd     %xmm0, %xmm0
+        shlb      $7, %al
+        movsd     %xmm0, -48(%rsp)
+        movsd     -48(%rsp), %xmm0
+        addsd     -16(%rsp), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %dl
+        andb      $127, %dl
+        orb       %al, %dl
+        movb      %dl, -17(%rsp)
+        movq      -24(%rsp), %rax
+        movq      %rax, (%rsi)
+
+.LBL_2_11:
+
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_12:
+
+        testl     $1048575, 4(%rdi)
+        jne       .LBL_2_15
+
+
+        cmpl      $0, (%rdi)
+        jne       .LBL_2_15
+
+
+        movsd     1912+__datan_la_CoutTab(%rip), %xmm0
+        movb      7(%rdi), %al
+        andb      $-128, %al
+        addsd     1920+__datan_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movb      -17(%rsp), %dl
+        andb      $127, %dl
+        orb       %al, %dl
+        movb      %dl, -17(%rsp)
+        movq      -24(%rsp), %rcx
+        movq      %rcx, (%rsi)
+        jmp       .LBL_2_11
+
+.LBL_2_15:
+
+        movsd     (%rdi), %xmm0
+        addsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        jmp       .LBL_2_11
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_datan_cout_rare_internal,@function
+       .size   __svml_datan_cout_rare_internal,.-__svml_datan_cout_rare_internal
+..LN__svml_datan_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_datan_data_internal_avx512:
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   0
+       .long   1125646336
+       .long   0
+       .long   1125646336
+       .long   0
+       .long   1125646336
+       .long   0
+       .long   1125646336
+       .long   0
+       .long   1125646336
+       .long   0
+       .long   1125646336
+       .long   0
+       .long   1125646336
+       .long   0
+       .long   1125646336
+       .long   0
+       .long   1075806208
+       .long   0
+       .long   1075806208
+       .long   0
+       .long   1075806208
+       .long   0
+       .long   1075806208
+       .long   0
+       .long   1075806208
+       .long   0
+       .long   1075806208
+       .long   0
+       .long   1075806208
+       .long   0
+       .long   1075806208
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1206910976
+       .long   0
+       .long   1206910976
+       .long   0
+       .long   1206910976
+       .long   0
+       .long   1206910976
+       .long   0
+       .long   1206910976
+       .long   0
+       .long   1206910976
+       .long   0
+       .long   1206910976
+       .long   0
+       .long   1206910976
+       .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   4180443357
+       .long   1070553973
+       .long   90291023
+       .long   1071492199
+       .long   2737217249
+       .long   1071945615
+       .long   1413754136
+       .long   1072243195
+       .long   1468297118
+       .long   1072475260
+       .long   3531732635
+       .long   1072657163
+       .long   744202399
+       .long   1072747407
+       .long   2464923204
+       .long   1072805601
+       .long   1436891685
+       .long   1072853231
+       .long   2037009832
+       .long   1072892781
+       .long   1826698067
+       .long   1072926058
+       .long   1803191648
+       .long   1072954391
+       .long   2205372832
+       .long   1072978772
+       .long   4234512805
+       .long   1072999952
+       .long   3932628503
+       .long   1073018509
+       .long   2501811453
+       .long   1073034892
+       .long   866379431
+       .long   1073049455
+       .long   1376865888
+       .long   1073062480
+       .long   3290094269
+       .long   1073074195
+       .long   354764887
+       .long   1073084787
+       .long   3332975497
+       .long   1073094406
+       .long   1141460092
+       .long   1073103181
+       .long   745761286
+       .long   1073111216
+       .long   1673304509
+       .long   1073118600
+       .long   983388243
+       .long   1073125409
+       .long   3895509104
+       .long   1073131706
+       .long   2128523669
+       .long   1073137548
+       .long   2075485693
+       .long   1073142981
+       .long   121855980
+       .long   1073148047
+       .long   4181733783
+       .long   1073152780
+       .long   2887813284
+       .long   1073157214
+       .long   0
+       .long   0
+       .long   1022865341
+       .long   1013492590
+       .long   573531618
+       .long   1014639487
+       .long   2280825944
+       .long   1014120858
+       .long   856972295
+       .long   1015129638
+       .long   986810987
+       .long   1015077601
+       .long   2062601149
+       .long   1013974920
+       .long   589036912
+       .long   3164328156
+       .long   1787331214
+       .long   1016798022
+       .long   2942272763
+       .long   3164235441
+       .long   2956702105
+       .long   1016472908
+       .long   3903328092
+       .long   3162582135
+       .long   3175026820
+       .long   3158589859
+       .long   787328196
+       .long   1014621351
+       .long   2317874517
+       .long   3163795518
+       .long   4071621134
+       .long   1016673529
+       .long   2492111345
+       .long   3164172103
+       .long   3606178875
+       .long   3162371821
+       .long   3365790232
+       .long   1014547152
+       .long   2710887773
+       .long   1017086651
+       .long   2755350986
+       .long   3162706257
+       .long   198095269
+       .long   3162802133
+       .long   2791076759
+       .long   3164364640
+       .long   4214434319
+       .long   3162164074
+       .long   773754012
+       .long   3164190653
+       .long   139561443
+       .long   3164313657
+       .long   2197796619
+       .long   3164066219
+       .long   3592486882
+       .long   1016669082
+       .long   1148791015
+       .long   3163724934
+       .long   386789398
+       .long   3163117479
+       .long   2518816264
+       .long   3162291736
+       .long   2545101323
+       .long   3164592727
+       .long   16
+       .long   1125646336
+       .long   16
+       .long   1125646336
+       .long   16
+       .long   1125646336
+       .long   16
+       .long   1125646336
+       .long   16
+       .long   1125646336
+       .long   16
+       .long   1125646336
+       .long   16
+       .long   1125646336
+       .long   16
+       .long   1125646336
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   856972295
+       .long   1016178214
+       .long   4123328151
+       .long   1068689849
+       .long   4123328151
+       .long   1068689849
+       .long   4123328151
+       .long   1068689849
+       .long   4123328151
+       .long   1068689849
+       .long   4123328151
+       .long   1068689849
+       .long   4123328151
+       .long   1068689849
+       .long   4123328151
+       .long   1068689849
+       .long   4123328151
+       .long   1068689849
+       .long   3295121612
+       .long   3216458327
+       .long   3295121612
+       .long   3216458327
+       .long   3295121612
+       .long   3216458327
+       .long   3295121612
+       .long   3216458327
+       .long   3295121612
+       .long   3216458327
+       .long   3295121612
+       .long   3216458327
+       .long   3295121612
+       .long   3216458327
+       .long   3295121612
+       .long   3216458327
+       .long   4026078880
+       .long   1069314495
+       .long   4026078880
+       .long   1069314495
+       .long   4026078880
+       .long   1069314495
+       .long   4026078880
+       .long   1069314495
+       .long   4026078880
+       .long   1069314495
+       .long   4026078880
+       .long   1069314495
+       .long   4026078880
+       .long   1069314495
+       .long   4026078880
+       .long   1069314495
+       .long   2398029018
+       .long   3217180964
+       .long   2398029018
+       .long   3217180964
+       .long   2398029018
+       .long   3217180964
+       .long   2398029018
+       .long   3217180964
+       .long   2398029018
+       .long   3217180964
+       .long   2398029018
+       .long   3217180964
+       .long   2398029018
+       .long   3217180964
+       .long   2398029018
+       .long   3217180964
+       .long   2576905246
+       .long   1070176665
+       .long   2576905246
+       .long   1070176665
+       .long   2576905246
+       .long   1070176665
+       .long   2576905246
+       .long   1070176665
+       .long   2576905246
+       .long   1070176665
+       .long   2576905246
+       .long   1070176665
+       .long   2576905246
+       .long   1070176665
+       .long   2576905246
+       .long   1070176665
+       .long   1431655757
+       .long   3218429269
+       .long   1431655757
+       .long   3218429269
+       .long   1431655757
+       .long   3218429269
+       .long   1431655757
+       .long   3218429269
+       .long   1431655757
+       .long   3218429269
+       .long   1431655757
+       .long   3218429269
+       .long   1431655757
+       .long   3218429269
+       .long   1431655757
+       .long   3218429269
+       .type   __svml_datan_data_internal_avx512,@object
+       .size   __svml_datan_data_internal_avx512,1536
+       .align 32
+__datan_la_CoutTab:
+       .long   3892314112
+       .long   1069799150
+       .long   2332892550
+       .long   1039715405
+       .long   1342177280
+       .long   1070305495
+       .long   270726690
+       .long   1041535749
+       .long   939524096
+       .long   1070817911
+       .long   2253973841
+       .long   3188654726
+       .long   3221225472
+       .long   1071277294
+       .long   3853927037
+       .long   1043226911
+       .long   2818572288
+       .long   1071767563
+       .long   2677759107
+       .long   1044314101
+       .long   3355443200
+       .long   1072103591
+       .long   1636578514
+       .long   3191094734
+       .long   1476395008
+       .long   1072475260
+       .long   1864703685
+       .long   3188646936
+       .long   805306368
+       .long   1072747407
+       .long   192551812
+       .long   3192726267
+       .long   2013265920
+       .long   1072892781
+       .long   2240369452
+       .long   1043768538
+       .long   0
+       .long   1072999953
+       .long   3665168337
+       .long   3192705970
+       .long   402653184
+       .long   1073084787
+       .long   1227953434
+       .long   3192313277
+       .long   2013265920
+       .long   1073142981
+       .long   3853283127
+       .long   1045277487
+       .long   805306368
+       .long   1073187261
+       .long   1676192264
+       .long   3192868861
+       .long   134217728
+       .long   1073217000
+       .long   4290763938
+       .long   1042034855
+       .long   671088640
+       .long   1073239386
+       .long   994303084
+       .long   3189643768
+       .long   402653184
+       .long   1073254338
+       .long   1878067156
+       .long   1042652475
+       .long   1610612736
+       .long   1073265562
+       .long   670314820
+       .long   1045138554
+       .long   3221225472
+       .long   1073273048
+       .long   691126919
+       .long   3189987794
+       .long   3489660928
+       .long   1073278664
+       .long   1618990832
+       .long   3188194509
+       .long   1207959552
+       .long   1073282409
+       .long   2198872939
+       .long   1044806069
+       .long   3489660928
+       .long   1073285217
+       .long   2633982383
+       .long   1042307894
+       .long   939524096
+       .long   1073287090
+       .long   1059367786
+       .long   3189114230
+       .long   2281701376
+       .long   1073288494
+       .long   3158525533
+       .long   1044484961
+       .long   3221225472
+       .long   1073289430
+       .long   286581777
+       .long   1044893263
+       .long   4026531840
+       .long   1073290132
+       .long   2000245215
+       .long   3191647611
+       .long   134217728
+       .long   1073290601
+       .long   4205071590
+       .long   1045035927
+       .long   536870912
+       .long   1073290952
+       .long   2334392229
+       .long   1043447393
+       .long   805306368
+       .long   1073291186
+       .long   2281458177
+       .long   3188885569
+       .long   3087007744
+       .long   1073291361
+       .long   691611507
+       .long   1044733832
+       .long   3221225472
+       .long   1073291478
+       .long   1816229550
+       .long   1044363390
+       .long   2281701376
+       .long   1073291566
+       .long   1993843750
+       .long   3189837440
+       .long   134217728
+       .long   1073291625
+       .long   3654754496
+       .long   1044970837
+       .long   4026531840
+       .long   1073291668
+       .long   3224300229
+       .long   3191935390
+       .long   805306368
+       .long   1073291698
+       .long   2988777976
+       .long   3188950659
+       .long   536870912
+       .long   1073291720
+       .long   1030371341
+       .long   1043402665
+       .long   3221225472
+       .long   1073291734
+       .long   1524463765
+       .long   1044361356
+       .long   3087007744
+       .long   1073291745
+       .long   2754295320
+       .long   1044731036
+       .long   134217728
+       .long   1073291753
+       .long   3099629057
+       .long   1044970710
+       .long   2281701376
+       .long   1073291758
+       .long   962914160
+       .long   3189838838
+       .long   805306368
+       .long   1073291762
+       .long   3543908206
+       .long   3188950786
+       .long   4026531840
+       .long   1073291764
+       .long   1849909620
+       .long   3191935434
+       .long   3221225472
+       .long   1073291766
+       .long   1641333636
+       .long   1044361352
+       .long   536870912
+       .long   1073291768
+       .long   1373968792
+       .long   1043402654
+       .long   134217728
+       .long   1073291769
+       .long   2033191599
+       .long   1044970710
+       .long   3087007744
+       .long   1073291769
+       .long   4117947437
+       .long   1044731035
+       .long   805306368
+       .long   1073291770
+       .long   315378368
+       .long   3188950787
+       .long   2281701376
+       .long   1073291770
+       .long   2428571750
+       .long   3189838838
+       .long   3221225472
+       .long   1073291770
+       .long   1608007466
+       .long   1044361352
+       .long   4026531840
+       .long   1073291770
+       .long   1895711420
+       .long   3191935434
+       .long   134217728
+       .long   1073291771
+       .long   2031108713
+       .long   1044970710
+       .long   536870912
+       .long   1073291771
+       .long   1362518342
+       .long   1043402654
+       .long   805306368
+       .long   1073291771
+       .long   317461253
+       .long   3188950787
+       .long   939524096
+       .long   1073291771
+       .long   4117231784
+       .long   1044731035
+       .long   1073741824
+       .long   1073291771
+       .long   1607942376
+       .long   1044361352
+       .long   1207959552
+       .long   1073291771
+       .long   2428929577
+       .long   3189838838
+       .long   1207959552
+       .long   1073291771
+       .long   2031104645
+       .long   1044970710
+       .long   1342177280
+       .long   1073291771
+       .long   1895722602
+       .long   3191935434
+       .long   1342177280
+       .long   1073291771
+       .long   317465322
+       .long   3188950787
+       .long   1342177280
+       .long   1073291771
+       .long   1362515546
+       .long   1043402654
+       .long   1342177280
+       .long   1073291771
+       .long   1607942248
+       .long   1044361352
+       .long   1342177280
+       .long   1073291771
+       .long   4117231610
+       .long   1044731035
+       .long   1342177280
+       .long   1073291771
+       .long   2031104637
+       .long   1044970710
+       .long   1342177280
+       .long   1073291771
+       .long   1540251232
+       .long   1045150466
+       .long   1342177280
+       .long   1073291771
+       .long   2644671394
+       .long   1045270303
+       .long   1342177280
+       .long   1073291771
+       .long   2399244691
+       .long   1045360181
+       .long   1342177280
+       .long   1073291771
+       .long   803971124
+       .long   1045420100
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192879152
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192849193
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192826724
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192811744
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192800509
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192793019
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192787402
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192783657
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192780848
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192778976
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192777572
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192776635
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192775933
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192775465
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192775114
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774880
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192774704
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774587
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192774500
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774441
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192774397
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774368
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192774346
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774331
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192774320
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774313
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192774308
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774304
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192774301
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774299
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192774298
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774297
+       .long   1476395008
+       .long   1073291771
+       .long   3613709523
+       .long   3192774296
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774296
+       .long   1476395008
+       .long   1073291771
+       .long   177735686
+       .long   3192774296
+       .long   1476395008
+       .long   1073291771
+       .long   3490996172
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   2754716064
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   2263862659
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1895722605
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1650295902
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1466225875
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1343512524
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1251477510
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1190120835
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1144103328
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1113424990
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1090416237
+       .long   3192774295
+       .long   1476395008
+       .long   1073291771
+       .long   1075077068
+       .long   3192774295
+       .long   1431655765
+       .long   3218429269
+       .long   2576978363
+       .long   1070176665
+       .long   2453154343
+       .long   3217180964
+       .long   4189149139
+       .long   1069314502
+       .long   1775019125
+       .long   3216459198
+       .long   273199057
+       .long   1068739452
+       .long   874748308
+       .long   3215993277
+       .long   0
+       .long   1017118720
+       .long   0
+       .long   1069547520
+       .long   0
+       .long   1129316352
+       .long   0
+       .long   1072693248
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   33554432
+       .long   1101004800
+       .type   __datan_la_CoutTab,@object
+       .size   __datan_la_CoutTab,1936
+       .align 8
+.L_2il0floatpacket.14:
+       .long   0x00000000,0x3ff00000
+       .type   .L_2il0floatpacket.14,@object
+       .size   .L_2il0floatpacket.14,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_atan_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_atan_s_la.s
new file mode 100644 (file)
index 0000000..c1386be
--- /dev/null
@@ -0,0 +1,355 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *      For    0.0    <= x <=  7.0/16.0: atan(x) = atan(0.0) + atan(s), where s=(x-0.0)/(1.0+0.0*x)
+ *      For  7.0/16.0 <= x <= 11.0/16.0: atan(x) = atan(0.5) + atan(s), where s=(x-0.5)/(1.0+0.5*x)
+ *      For 11.0/16.0 <= x <= 19.0/16.0: atan(x) = atan(1.0) + atan(s), where s=(x-1.0)/(1.0+1.0*x)
+ *      For 19.0/16.0 <= x <= 39.0/16.0: atan(x) = atan(1.5) + atan(s), where s=(x-1.5)/(1.0+1.5*x)
+ *      For 39.0/16.0 <= x <=    inf   : atan(x) = atan(inf) + atan(s), where s=-1.0/x
+ *      Where atan(s) ~= s+s^3*Poly11(s^2) on interval |s|<7.0/0.16.
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_atanf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_atanf16
+
+__svml_atanf16:
+
+
+       .cfi_startproc
+..L2:
+
+        vandps    __svml_satan_data_internal_avx512(%rip), %zmm0, %zmm7
+        vmovups   128+__svml_satan_data_internal_avx512(%rip), %zmm3
+        vmovups   256+__svml_satan_data_internal_avx512(%rip), %zmm8
+
+/* round to 2 bits after binary point */
+        vreduceps $40, {sae}, %zmm7, %zmm5
+
+/* saturate X range */
+        vmovups   320+__svml_satan_data_internal_avx512(%rip), %zmm6
+        vmovups   64+__svml_satan_data_internal_avx512(%rip), %zmm2
+        vcmpps    $29, {sae}, %zmm3, %zmm7, %k1
+
+/* table lookup sequence */
+        vmovups   448+__svml_satan_data_internal_avx512(%rip), %zmm3
+        vsubps    {rn-sae}, %zmm5, %zmm7, %zmm4
+        vaddps    {rn-sae}, %zmm2, %zmm7, %zmm1
+        vxorps    %zmm0, %zmm7, %zmm0
+        vfmadd231ps {rn-sae}, %zmm7, %zmm4, %zmm8
+        vmovups   896+__svml_satan_data_internal_avx512(%rip), %zmm4
+
+/* if|X|>=MaxThreshold, set DiffX=-1 */
+        vblendmps 192+__svml_satan_data_internal_avx512(%rip), %zmm5, %zmm9{%k1}
+        vmovups   960+__svml_satan_data_internal_avx512(%rip), %zmm5
+
+/* if|X|>=MaxThreshold, set Y=X */
+        vminps    {sae}, %zmm7, %zmm6, %zmm8{%k1}
+
+/* R+Rl = DiffX/Y */
+        vgetmantps $0, {sae}, %zmm9, %zmm12
+        vgetexpps {sae}, %zmm9, %zmm10
+        vpermt2ps 512+__svml_satan_data_internal_avx512(%rip), %zmm1, %zmm3
+        vgetmantps $0, {sae}, %zmm8, %zmm15
+        vgetexpps {sae}, %zmm8, %zmm11
+        vmovups   832+__svml_satan_data_internal_avx512(%rip), %zmm1
+
+/* set table value to Pi/2 for large X */
+        vblendmps 704+__svml_satan_data_internal_avx512(%rip), %zmm3, %zmm9{%k1}
+        vrcp14ps  %zmm15, %zmm13
+        vsubps    {rn-sae}, %zmm11, %zmm10, %zmm2
+        vmulps    {rn-sae}, %zmm13, %zmm12, %zmm14
+        vfnmadd213ps {rn-sae}, %zmm12, %zmm14, %zmm15
+        vfmadd213ps {rn-sae}, %zmm14, %zmm13, %zmm15
+        vscalefps {rn-sae}, %zmm2, %zmm15, %zmm7
+
+/* polynomial evaluation */
+        vmulps    {rn-sae}, %zmm7, %zmm7, %zmm8
+        vmulps    {rn-sae}, %zmm7, %zmm8, %zmm6
+        vfmadd231ps {rn-sae}, %zmm8, %zmm1, %zmm4
+        vfmadd213ps {rn-sae}, %zmm5, %zmm4, %zmm8
+        vfmadd213ps {rn-sae}, %zmm7, %zmm6, %zmm8
+        vaddps    {rn-sae}, %zmm9, %zmm8, %zmm10
+        vxorps    %zmm0, %zmm10, %zmm0
+
+/* no invcbrt in libm, so taking it out here */
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_atanf16,@function
+       .size   __svml_atanf16,.-__svml_atanf16
+..LN__svml_atanf16.0:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_satan_data_internal_avx512:
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1241513984
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   1089994752
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .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   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .long   1333788672
+       .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   1048239024
+       .long   1055744824
+       .long   1059372157
+       .long   1061752795
+       .long   1063609315
+       .long   1065064543
+       .long   1065786489
+       .long   1066252045
+       .long   1066633083
+       .long   1066949484
+       .long   1067215699
+       .long   1067442363
+       .long   1067637412
+       .long   1067806856
+       .long   1067955311
+       .long   1068086373
+       .long   1068202874
+       .long   1068307075
+       .long   1068400798
+       .long   1068485529
+       .long   1068562486
+       .long   1068632682
+       .long   1068696961
+       .long   1068756035
+       .long   1068810506
+       .long   1068860887
+       .long   1068907620
+       .long   1068951084
+       .long   1068991608
+       .long   1069029480
+       .long   1069064949
+       .long   0
+       .long   2975494116
+       .long   833369962
+       .long   835299256
+       .long   2998648110
+       .long   2995239174
+       .long   3000492182
+       .long   860207626
+       .long   3008447516
+       .long   3005590622
+       .long   3000153675
+       .long   860754741
+       .long   859285590
+       .long   844944488
+       .long   2993069463
+       .long   858157665
+       .long   3006142000
+       .long   3007693206
+       .long   3009342234
+       .long   847469400
+       .long   3006114683
+       .long   852829553
+       .long   847325583
+       .long   860305056
+       .long   846145135
+       .long   2997638646
+       .long   855837703
+       .long   2979047222
+       .long   2995344192
+       .long   854092798
+       .long   3000498637
+       .long   859965578
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   3188697310
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   1045219554
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .long   3198855850
+       .type   __svml_satan_data_internal_avx512,@object
+       .size   __svml_satan_data_internal_avx512,1024
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_atanh_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_atanh_d_la.s
new file mode 100644 (file)
index 0000000..fbcd150
--- /dev/null
@@ -0,0 +1,656 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *
+ *  *   Compute 0.5*[log(1+x)-log(1-x)], using small table
+ *  *   lookups that map to AVX3 permute instructions
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_atanh8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_atanh8
+
+__svml_atanh8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   256+__svml_datanh_data_internal_avx512(%rip), %zmm15
+
+/* round reciprocals to 1+4b mantissas */
+        vmovups   384+__svml_datanh_data_internal_avx512(%rip), %zmm6
+        vmovups   448+__svml_datanh_data_internal_avx512(%rip), %zmm9
+        vmovaps   %zmm0, %zmm2
+        vandpd    320+__svml_datanh_data_internal_avx512(%rip), %zmm2, %zmm13
+
+/* 1+y */
+        vaddpd    {rn-sae}, %zmm15, %zmm13, %zmm0
+
+/* 1-y */
+        vsubpd    {rn-sae}, %zmm13, %zmm15, %zmm4
+        vxorpd    %zmm13, %zmm2, %zmm1
+
+/* Yp_high */
+        vsubpd    {rn-sae}, %zmm15, %zmm0, %zmm7
+
+/* -Ym_high */
+        vsubpd    {rn-sae}, %zmm15, %zmm4, %zmm12
+
+/* RcpP ~ 1/Yp */
+        vrcp14pd  %zmm0, %zmm3
+
+/* RcpM ~ 1/Ym */
+        vrcp14pd  %zmm4, %zmm5
+
+/* input outside (-1, 1) ? */
+        vcmppd    $21, {sae}, %zmm15, %zmm13, %k0
+        vpaddq    %zmm6, %zmm3, %zmm11
+        vpaddq    %zmm6, %zmm5, %zmm10
+
+/* Yp_low */
+        vsubpd    {rn-sae}, %zmm7, %zmm13, %zmm8
+        vandpd    %zmm9, %zmm11, %zmm14
+        vandpd    %zmm9, %zmm10, %zmm3
+
+/* Ym_low */
+        vaddpd    {rn-sae}, %zmm12, %zmm13, %zmm12
+
+/* Reduced argument: Rp = (RcpP*Yp - 1)+RcpP*Yp_low */
+        vfmsub213pd {rn-sae}, %zmm15, %zmm14, %zmm0
+
+/* Reduced argument: Rm = (RcpM*Ym - 1)+RcpM*Ym_low */
+        vfmsub231pd {rn-sae}, %zmm3, %zmm4, %zmm15
+
+/* exponents */
+        vgetexppd {sae}, %zmm14, %zmm5
+        vgetexppd {sae}, %zmm3, %zmm4
+
+/* Table lookups */
+        vmovups   __svml_datanh_data_internal_avx512(%rip), %zmm9
+        vmovups   64+__svml_datanh_data_internal_avx512(%rip), %zmm13
+        vmovups   128+__svml_datanh_data_internal_avx512(%rip), %zmm7
+        vfmadd231pd {rn-sae}, %zmm14, %zmm8, %zmm0
+        vfnmadd231pd {rn-sae}, %zmm3, %zmm12, %zmm15
+
+/* Prepare table index */
+        vpsrlq    $48, %zmm14, %zmm11
+        vpsrlq    $48, %zmm3, %zmm8
+        vmovups   192+__svml_datanh_data_internal_avx512(%rip), %zmm14
+
+/* polynomials */
+        vmovups   512+__svml_datanh_data_internal_avx512(%rip), %zmm3
+
+/* Km-Kp */
+        vsubpd    {rn-sae}, %zmm5, %zmm4, %zmm5
+        vmovups   576+__svml_datanh_data_internal_avx512(%rip), %zmm4
+        kmovw     %k0, %edx
+        vmovaps   %zmm11, %zmm10
+        vmovaps   %zmm4, %zmm6
+        vpermi2pd %zmm13, %zmm9, %zmm10
+        vpermi2pd %zmm14, %zmm7, %zmm11
+        vpermt2pd %zmm13, %zmm8, %zmm9
+        vpermt2pd %zmm14, %zmm8, %zmm7
+        vmovups   640+__svml_datanh_data_internal_avx512(%rip), %zmm8
+        vfmadd231pd {rn-sae}, %zmm0, %zmm3, %zmm6
+        vfmadd231pd {rn-sae}, %zmm15, %zmm3, %zmm4
+        vmovups   832+__svml_datanh_data_internal_avx512(%rip), %zmm13
+        vmovups   896+__svml_datanh_data_internal_avx512(%rip), %zmm14
+        vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm6
+        vfmadd213pd {rn-sae}, %zmm8, %zmm15, %zmm4
+        vmovups   1024+__svml_datanh_data_internal_avx512(%rip), %zmm8
+        vsubpd    {rn-sae}, %zmm11, %zmm7, %zmm12
+
+/* table values */
+        vsubpd    {rn-sae}, %zmm10, %zmm9, %zmm3
+        vmovups   704+__svml_datanh_data_internal_avx512(%rip), %zmm7
+        vmovups   768+__svml_datanh_data_internal_avx512(%rip), %zmm9
+
+/* K*L2H + Th */
+        vmovups   1152+__svml_datanh_data_internal_avx512(%rip), %zmm10
+
+/* K*L2L + Tl */
+        vmovups   1216+__svml_datanh_data_internal_avx512(%rip), %zmm11
+        vfmadd213pd {rn-sae}, %zmm7, %zmm0, %zmm6
+        vfmadd213pd {rn-sae}, %zmm7, %zmm15, %zmm4
+        vmovups   960+__svml_datanh_data_internal_avx512(%rip), %zmm7
+        vfmadd231pd {rn-sae}, %zmm5, %zmm10, %zmm3
+        vfmadd213pd {rn-sae}, %zmm12, %zmm11, %zmm5
+        vfmadd213pd {rn-sae}, %zmm9, %zmm0, %zmm6
+        vfmadd213pd {rn-sae}, %zmm9, %zmm15, %zmm4
+        vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm6
+        vfmadd213pd {rn-sae}, %zmm13, %zmm15, %zmm4
+        vfmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm6
+        vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm4
+        vfmadd213pd {rn-sae}, %zmm7, %zmm0, %zmm6
+        vfmadd213pd {rn-sae}, %zmm7, %zmm15, %zmm4
+        vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm6
+        vfmadd213pd {rn-sae}, %zmm8, %zmm15, %zmm4
+
+/* (K*L2L + Tl) + Rp*PolyP */
+        vfmadd213pd {rn-sae}, %zmm5, %zmm0, %zmm6
+        vorpd     1088+__svml_datanh_data_internal_avx512(%rip), %zmm1, %zmm0
+
+/* (K*L2L + Tl) + Rp*PolyP -Rm*PolyM */
+        vfnmadd213pd {rn-sae}, %zmm6, %zmm15, %zmm4
+        vaddpd    {rn-sae}, %zmm4, %zmm3, %zmm1
+        vmulpd    {rn-sae}, %zmm0, %zmm1, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm2, 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_datanh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_atanh8,@function
+       .size   __svml_atanh8,.-__svml_atanh8
+..LN__svml_atanh8.0:
+
+.L_2__routine_start___svml_datanh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_datanh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        movzwl    6(%rdi), %eax
+        andl      $32752, %eax
+        movsd     (%rdi), %xmm0
+        movb      7(%rdi), %dl
+        andb      $127, %dl
+        movsd     %xmm0, -8(%rsp)
+        cmpl      $32752, %eax
+        je        .LBL_2_6
+
+.LBL_2_2:
+
+        cmpl      $0, -8(%rsp)
+        jne       .LBL_2_5
+
+
+        movb      %dl, -1(%rsp)
+        cmpl      $1072693248, -4(%rsp)
+        jne       .LBL_2_5
+
+
+        divsd     8+__datanh_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, (%rsi)
+        movl      $2, %eax
+        ret
+
+.LBL_2_5:
+
+        movsd     8+__datanh_la_CoutTab(%rip), %xmm0
+        movl      $1, %eax
+        mulsd     16+__datanh_la_CoutTab(%rip), %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_6:
+
+        testl     $1048575, 4(%rdi)
+        jne       .LBL_2_8
+
+
+        cmpl      $0, (%rdi)
+        je        .LBL_2_2
+
+.LBL_2_8:
+
+        mulsd     %xmm0, %xmm0
+        xorl      %eax, %eax
+        movsd     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_datanh_cout_rare_internal,@function
+       .size   __svml_datanh_cout_rare_internal,.-__svml_datanh_cout_rare_internal
+..LN__svml_datanh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_datanh_data_internal_avx512:
+       .long   0
+       .long   0
+       .long   3222274048
+       .long   1068436016
+       .long   1848246272
+       .long   1069426439
+       .long   1890058240
+       .long   1069940528
+       .long   3348824064
+       .long   1070370807
+       .long   2880143360
+       .long   1070688092
+       .long   3256647680
+       .long   1070883211
+       .long   4139515904
+       .long   1071069655
+       .long   3971973120
+       .long   1071248163
+       .long   3348791296
+       .long   1071419383
+       .long   1605304320
+       .long   1071583887
+       .long   3827646464
+       .long   1071693426
+       .long   1584414720
+       .long   1071769695
+       .long   860815360
+       .long   1071843287
+       .long   3896934400
+       .long   1071914383
+       .long   643547136
+       .long   1071983149
+       .long   0
+       .long   0
+       .long   399283991
+       .long   1030105702
+       .long   1028718588
+       .long   1030642877
+       .long   3808918910
+       .long   3177909005
+       .long   4136237123
+       .long   3177805716
+       .long   3462654649
+       .long   1029900033
+       .long   2051171366
+       .long   3177225921
+       .long   2396640771
+       .long   3177708721
+       .long   3062724207
+       .long   1029196786
+       .long   634920691
+       .long   1029317036
+       .long   1913570380
+       .long   1027322573
+       .long   1734886604
+       .long   3177545033
+       .long   2335489660
+       .long   1025116093
+       .long   3046154741
+       .long   1029750303
+       .long   914782743
+       .long   3176833847
+       .long   3743595607
+       .long   1028041657
+       .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   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   32768
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   0
+       .long   4294901760
+       .long   1087603010
+       .long   1069318621
+       .long   1087603010
+       .long   1069318621
+       .long   1087603010
+       .long   1069318621
+       .long   1087603010
+       .long   1069318621
+       .long   1087603010
+       .long   1069318621
+       .long   1087603010
+       .long   1069318621
+       .long   1087603010
+       .long   1069318621
+       .long   1087603010
+       .long   1069318621
+       .long   3090058096
+       .long   3217033020
+       .long   3090058096
+       .long   3217033020
+       .long   3090058096
+       .long   3217033020
+       .long   3090058096
+       .long   3217033020
+       .long   3090058096
+       .long   3217033020
+       .long   3090058096
+       .long   3217033020
+       .long   3090058096
+       .long   3217033020
+       .long   3090058096
+       .long   3217033020
+       .long   2566904552
+       .long   1069697314
+       .long   2566904552
+       .long   1069697314
+       .long   2566904552
+       .long   1069697314
+       .long   2566904552
+       .long   1069697314
+       .long   2566904552
+       .long   1069697314
+       .long   2566904552
+       .long   1069697314
+       .long   2566904552
+       .long   1069697314
+       .long   2566904552
+       .long   1069697314
+       .long   4168213957
+       .long   3217380691
+       .long   4168213957
+       .long   3217380691
+       .long   4168213957
+       .long   3217380691
+       .long   4168213957
+       .long   3217380691
+       .long   4168213957
+       .long   3217380691
+       .long   4168213957
+       .long   3217380691
+       .long   4168213957
+       .long   3217380691
+       .long   4168213957
+       .long   3217380691
+       .long   2580363594
+       .long   1070176665
+       .long   2580363594
+       .long   1070176665
+       .long   2580363594
+       .long   1070176665
+       .long   2580363594
+       .long   1070176665
+       .long   2580363594
+       .long   1070176665
+       .long   2580363594
+       .long   1070176665
+       .long   2580363594
+       .long   1070176665
+       .long   2580363594
+       .long   1070176665
+       .long   797185
+       .long   3218079744
+       .long   797185
+       .long   3218079744
+       .long   797185
+       .long   3218079744
+       .long   797185
+       .long   3218079744
+       .long   797185
+       .long   3218079744
+       .long   797185
+       .long   3218079744
+       .long   797185
+       .long   3218079744
+       .long   797185
+       .long   3218079744
+       .long   1431655522
+       .long   1070945621
+       .long   1431655522
+       .long   1070945621
+       .long   1431655522
+       .long   1070945621
+       .long   1431655522
+       .long   1070945621
+       .long   1431655522
+       .long   1070945621
+       .long   1431655522
+       .long   1070945621
+       .long   1431655522
+       .long   1070945621
+       .long   1431655522
+       .long   1070945621
+       .long   4294967237
+       .long   3219128319
+       .long   4294967237
+       .long   3219128319
+       .long   4294967237
+       .long   3219128319
+       .long   4294967237
+       .long   3219128319
+       .long   4294967237
+       .long   3219128319
+       .long   4294967237
+       .long   3219128319
+       .long   4294967237
+       .long   3219128319
+       .long   4294967237
+       .long   3219128319
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   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   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   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .long   3164471296
+       .long   1031600026
+       .type   __svml_datanh_data_internal_avx512,@object
+       .size   __svml_datanh_data_internal_avx512,1280
+       .align 8
+__datanh_la_CoutTab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   2146435072
+       .long   0
+       .long   4293918720
+       .type   __datanh_la_CoutTab,@object
+       .size   __datanh_la_CoutTab,32
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_atanh_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_atanh_s_la.s
new file mode 100644 (file)
index 0000000..9177c0d
--- /dev/null
@@ -0,0 +1,558 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *
+ *  *   Compute 0.5*[log(1+x)-log(1-x)], using small table
+ *  *   lookups that map to AVX3 permute instructions
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_atanhf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_atanhf16
+
+__svml_atanhf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   256+__svml_satanh_data_internal_avx512(%rip), %zmm4
+
+/* round reciprocals to 1+5b mantissas */
+        vmovups   384+__svml_satanh_data_internal_avx512(%rip), %zmm14
+        vmovups   448+__svml_satanh_data_internal_avx512(%rip), %zmm1
+        vmovaps   %zmm0, %zmm11
+        vandps    320+__svml_satanh_data_internal_avx512(%rip), %zmm11, %zmm6
+
+/* 1+y */
+        vaddps    {rn-sae}, %zmm4, %zmm6, %zmm9
+
+/* 1-y */
+        vsubps    {rn-sae}, %zmm6, %zmm4, %zmm8
+        vxorps    %zmm6, %zmm11, %zmm10
+
+/* Yp_high */
+        vsubps    {rn-sae}, %zmm4, %zmm9, %zmm2
+
+/* -Ym_high */
+        vsubps    {rn-sae}, %zmm4, %zmm8, %zmm5
+
+/* RcpP ~ 1/Yp */
+        vrcp14ps  %zmm9, %zmm12
+
+/* RcpM ~ 1/Ym */
+        vrcp14ps  %zmm8, %zmm13
+
+/* input outside (-1, 1) ? */
+        vcmpps    $21, {sae}, %zmm4, %zmm6, %k0
+        vpaddd    %zmm14, %zmm12, %zmm15
+        vpaddd    %zmm14, %zmm13, %zmm0
+
+/* Yp_low */
+        vsubps    {rn-sae}, %zmm2, %zmm6, %zmm3
+        vandps    %zmm1, %zmm15, %zmm7
+        vandps    %zmm1, %zmm0, %zmm12
+
+/* Ym_low */
+        vaddps    {rn-sae}, %zmm5, %zmm6, %zmm5
+
+/* Reduced argument: Rp = (RcpP*Yp - 1)+RcpP*Yp_low */
+        vfmsub213ps {rn-sae}, %zmm4, %zmm7, %zmm9
+
+/* Reduced argument: Rm = (RcpM*Ym - 1)+RcpM*Ym_low */
+        vfmsub231ps {rn-sae}, %zmm12, %zmm8, %zmm4
+        vmovups   128+__svml_satanh_data_internal_avx512(%rip), %zmm8
+        vmovups   192+__svml_satanh_data_internal_avx512(%rip), %zmm13
+
+/* exponents */
+        vgetexpps {sae}, %zmm7, %zmm15
+        vfmadd231ps {rn-sae}, %zmm7, %zmm3, %zmm9
+
+/* Table lookups */
+        vmovups   __svml_satanh_data_internal_avx512(%rip), %zmm6
+        vgetexpps {sae}, %zmm12, %zmm14
+        vfnmadd231ps {rn-sae}, %zmm12, %zmm5, %zmm4
+
+/* Prepare table index */
+        vpsrld    $18, %zmm7, %zmm3
+        vpsrld    $18, %zmm12, %zmm2
+        vmovups   64+__svml_satanh_data_internal_avx512(%rip), %zmm7
+        vmovups   640+__svml_satanh_data_internal_avx512(%rip), %zmm12
+
+/* Km-Kp */
+        vsubps    {rn-sae}, %zmm15, %zmm14, %zmm1
+        kmovw     %k0, %edx
+        vmovaps   %zmm3, %zmm0
+        vpermi2ps %zmm13, %zmm8, %zmm3
+        vpermt2ps %zmm13, %zmm2, %zmm8
+        vpermi2ps %zmm7, %zmm6, %zmm0
+        vpermt2ps %zmm7, %zmm2, %zmm6
+        vsubps    {rn-sae}, %zmm3, %zmm8, %zmm5
+
+/* K*L2H + Th */
+        vmovups   832+__svml_satanh_data_internal_avx512(%rip), %zmm2
+
+/* K*L2L + Tl */
+        vmovups   896+__svml_satanh_data_internal_avx512(%rip), %zmm3
+
+/* polynomials */
+        vmovups   512+__svml_satanh_data_internal_avx512(%rip), %zmm7
+        vmovups   704+__svml_satanh_data_internal_avx512(%rip), %zmm13
+
+/* table values */
+        vsubps    {rn-sae}, %zmm0, %zmm6, %zmm0
+        vfmadd231ps {rn-sae}, %zmm1, %zmm2, %zmm0
+        vfmadd213ps {rn-sae}, %zmm5, %zmm3, %zmm1
+        vmovups   576+__svml_satanh_data_internal_avx512(%rip), %zmm3
+        vmovaps   %zmm3, %zmm2
+        vfmadd231ps {rn-sae}, %zmm9, %zmm7, %zmm2
+        vfmadd231ps {rn-sae}, %zmm4, %zmm7, %zmm3
+        vfmadd213ps {rn-sae}, %zmm12, %zmm9, %zmm2
+        vfmadd213ps {rn-sae}, %zmm12, %zmm4, %zmm3
+        vfmadd213ps {rn-sae}, %zmm13, %zmm9, %zmm2
+        vfmadd213ps {rn-sae}, %zmm13, %zmm4, %zmm3
+
+/* (K*L2L + Tl) + Rp*PolyP */
+        vfmadd213ps {rn-sae}, %zmm1, %zmm9, %zmm2
+        vorps     768+__svml_satanh_data_internal_avx512(%rip), %zmm10, %zmm9
+
+/* (K*L2L + Tl) + Rp*PolyP -Rm*PolyM */
+        vfnmadd213ps {rn-sae}, %zmm2, %zmm4, %zmm3
+        vaddps    {rn-sae}, %zmm3, %zmm0, %zmm4
+        vmulps    {rn-sae}, %zmm9, %zmm4, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm11, 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_satanh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_atanhf16,@function
+       .size   __svml_atanhf16,.-__svml_atanhf16
+..LN__svml_atanhf16.0:
+
+.L_2__routine_start___svml_satanh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_satanh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        movzwl    2(%rdi), %edx
+        movss     (%rdi), %xmm1
+        andl      $32640, %edx
+        movb      3(%rdi), %al
+        andb      $127, %al
+        movss     %xmm1, -8(%rsp)
+        movb      %al, -5(%rsp)
+        cmpl      $32640, %edx
+        je        .LBL_2_6
+
+
+        cmpl      $1065353216, -8(%rsp)
+        jne       .LBL_2_4
+
+
+        divss     4+__satanh_la__imlsAtanhTab(%rip), %xmm1
+        movss     %xmm1, (%rsi)
+        movl      $2, %eax
+        ret
+
+.LBL_2_4:
+
+        movss     8+__satanh_la__imlsAtanhTab(%rip), %xmm0
+        movl      $1, %eax
+        mulss     4+__satanh_la__imlsAtanhTab(%rip), %xmm0
+        movss     %xmm0, (%rsi)
+
+
+        ret
+
+.LBL_2_6:
+
+        cmpl      $2139095040, -8(%rsp)
+        jne       .LBL_2_8
+
+
+        movss     4+__satanh_la__imlsAtanhTab(%rip), %xmm0
+        movl      $1, %eax
+        mulss     %xmm0, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        mulss     (%rdi), %xmm1
+        xorl      %eax, %eax
+        movss     %xmm1, (%rsi)
+
+
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_satanh_cout_rare_internal,@function
+       .size   __svml_satanh_cout_rare_internal,.-__svml_satanh_cout_rare_internal
+..LN__svml_satanh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_satanh_data_internal_avx512:
+       .long   0
+       .long   1023148032
+       .long   1031274496
+       .long   1035436032
+       .long   1039204352
+       .long   1041547264
+       .long   1043333120
+       .long   1045069824
+       .long   1046773760
+       .long   1048428544
+       .long   1049313280
+       .long   1050099712
+       .long   1050869760
+       .long   1051623424
+       .long   1052360704
+       .long   1053089792
+       .long   1053794304
+       .long   1054482432
+       .long   1055162368
+       .long   1055825920
+       .long   1056481280
+       .long   1057042432
+       .long   1057353728
+       .long   1057660928
+       .long   1057964032
+       .long   1058263040
+       .long   1058553856
+       .long   1058840576
+       .long   1059123200
+       .long   1059397632
+       .long   1059672064
+       .long   1059942400
+       .long   0
+       .long   925287326
+       .long   950209537
+       .long   928156389
+       .long   954265029
+       .long   3098231288
+       .long   3083833176
+       .long   949397309
+       .long   3045295702
+       .long   940324527
+       .long   3089323092
+       .long   945994465
+       .long   952492302
+       .long   954130348
+       .long   954989406
+       .long   3102096543
+       .long   3093041984
+       .long   947354573
+       .long   3053684310
+       .long   936642948
+       .long   3099086888
+       .long   3098368602
+       .long   946194506
+       .long   952357621
+       .long   943635681
+       .long   3097619830
+       .long   3080925892
+       .long   3078186319
+       .long   3093311347
+       .long   955801008
+       .long   934582639
+       .long   3099571146
+       .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   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   131072
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   4294705152
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   3196061712
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   1051373854
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .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   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
+       .type   __svml_satanh_data_internal_avx512,@object
+       .size   __svml_satanh_data_internal_avx512,960
+       .align 4
+__satanh_la__imlsAtanhTab:
+       .long   1065353216
+       .long   0
+       .long   2139095040
+       .type   __satanh_la__imlsAtanhTab,@object
+       .size   __satanh_la__imlsAtanhTab,12
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_cbrt_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_cbrt_d_la.s
new file mode 100644 (file)
index 0000000..e9aa255
--- /dev/null
@@ -0,0 +1,911 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *   x=2^{3*k+j} * 1.b1 b2 ... b5 b6 ... b52
+ *   Let r=(x*2^{-3k-j} - 1.b1 b2 ... b5 1)* rcp[b1 b2 ..b5],
+ *   where rcp[b1 b2 .. b5]=1/(1.b1 b2 b3 b4 b5 1) in double precision
+ *   cbrt(2^j * 1. b1 b2 .. b5 1) is approximated as T[j][b1..b5]+D[j][b1..b5]
+ *   (T stores the high 53 bits, D stores the low order bits)
+ *   Result=2^k*T+(2^k*T*r)*P+2^k*D
+ *   where P=p1+p2*r+..+p8*r^7
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_cbrt8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_cbrt8
+
+__svml_cbrt8:
+
+
+       .cfi_startproc
+..L2:
+
+        vgetmantpd $0, {sae}, %zmm0, %zmm14
+
+/* GetExp(x) */
+        vgetexppd {sae}, %zmm0, %zmm7
+        vmovups   384+__svml_dcbrt_data_internal_avx512(%rip), %zmm8
+
+/* exponent/3 */
+        vmovups   512+__svml_dcbrt_data_internal_avx512(%rip), %zmm9
+        vmovups   576+__svml_dcbrt_data_internal_avx512(%rip), %zmm10
+
+/* Reduced argument: R = DblRcp*Mantissa - 1 */
+        vmovups   704+__svml_dcbrt_data_internal_avx512(%rip), %zmm2
+
+/* exponent%3 (to be used as index) */
+        vmovups   640+__svml_dcbrt_data_internal_avx512(%rip), %zmm11
+
+/* DblRcp ~ 1/Mantissa */
+        vrcp14pd  %zmm14, %zmm13
+        vaddpd    {rn-sae}, %zmm8, %zmm7, %zmm12
+        vandpd    448+__svml_dcbrt_data_internal_avx512(%rip), %zmm0, %zmm6
+
+/* round DblRcp to 3 fractional bits (RN mode, no Precision exception) */
+        vrndscalepd $72, {sae}, %zmm13, %zmm15
+        vfmsub231pd {rn-sae}, %zmm12, %zmm9, %zmm10
+
+/* polynomial */
+        vmovups   768+__svml_dcbrt_data_internal_avx512(%rip), %zmm0
+        vmovups   896+__svml_dcbrt_data_internal_avx512(%rip), %zmm7
+        vmovups   960+__svml_dcbrt_data_internal_avx512(%rip), %zmm9
+        vfmsub231pd {rn-sae}, %zmm15, %zmm14, %zmm2
+        vrndscalepd $9, {sae}, %zmm10, %zmm5
+
+/* Table lookup */
+        vmovups   128+__svml_dcbrt_data_internal_avx512(%rip), %zmm10
+        vmovups   1024+__svml_dcbrt_data_internal_avx512(%rip), %zmm8
+        vmovups   1216+__svml_dcbrt_data_internal_avx512(%rip), %zmm13
+        vfmadd231pd {rn-sae}, %zmm2, %zmm7, %zmm9
+        vfnmadd231pd {rn-sae}, %zmm5, %zmm11, %zmm12
+        vmovups   1088+__svml_dcbrt_data_internal_avx512(%rip), %zmm11
+        vmovups   1344+__svml_dcbrt_data_internal_avx512(%rip), %zmm14
+
+/* Prepare table index */
+        vpsrlq    $49, %zmm15, %zmm1
+
+/* Table lookup: 2^(exponent%3) */
+        vpermpd   __svml_dcbrt_data_internal_avx512(%rip), %zmm12, %zmm4
+        vpermpd   64+__svml_dcbrt_data_internal_avx512(%rip), %zmm12, %zmm3
+        vpermt2pd 192+__svml_dcbrt_data_internal_avx512(%rip), %zmm1, %zmm10
+        vmovups   832+__svml_dcbrt_data_internal_avx512(%rip), %zmm1
+        vfmadd231pd {rn-sae}, %zmm2, %zmm8, %zmm11
+        vmovups   1280+__svml_dcbrt_data_internal_avx512(%rip), %zmm12
+        vscalefpd {rn-sae}, %zmm5, %zmm10, %zmm15
+        vfmadd231pd {rn-sae}, %zmm2, %zmm0, %zmm1
+        vmovups   1152+__svml_dcbrt_data_internal_avx512(%rip), %zmm5
+        vfmadd231pd {rn-sae}, %zmm2, %zmm12, %zmm14
+        vmulpd    {rn-sae}, %zmm2, %zmm2, %zmm0
+        vfmadd231pd {rn-sae}, %zmm2, %zmm5, %zmm13
+
+/* Sh*R */
+        vmulpd    {rn-sae}, %zmm2, %zmm4, %zmm2
+        vfmadd213pd {rn-sae}, %zmm9, %zmm0, %zmm1
+        vfmadd213pd {rn-sae}, %zmm11, %zmm0, %zmm1
+        vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm1
+        vfmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm1
+
+/* Sl + (Sh*R)*Poly */
+        vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm2
+
+/*
+ * branch-free
+ * scaled_Th*(Sh+Sl+Sh*R*Poly)
+ */
+        vaddpd    {rn-sae}, %zmm4, %zmm2, %zmm3
+        vmulpd    {rn-sae}, %zmm15, %zmm3, %zmm4
+        vorpd     %zmm6, %zmm4, %zmm0
+
+/* no invcbrt in libm, so taking it out here */
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_cbrt8,@function
+       .size   __svml_cbrt8,.-__svml_cbrt8
+..LN__svml_cbrt8.0:
+
+.L_2__routine_start___svml_dcbrt_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dcbrt_cout_rare_internal:
+
+
+       .cfi_startproc
+..L5:
+
+        movq      %rsi, %r8
+        movzwl    6(%rdi), %r9d
+        andl      $32752, %r9d
+        shrl      $4, %r9d
+        movb      7(%rdi), %sil
+        movsd     (%rdi), %xmm1
+        cmpl      $2047, %r9d
+        je        .LBL_2_9
+
+
+        ucomisd   432+__dcbrt_la__vmldCbrtTab(%rip), %xmm1
+        jp        .LBL_2_3
+        je        .LBL_2_8
+
+.LBL_2_3:
+
+        movb      %sil, %al
+        lea       440+__dcbrt_la__vmldCbrtTab(%rip), %rdx
+        andb      $-128, %al
+        andb      $127, %sil
+        shrb      $7, %al
+        xorl      %edi, %edi
+        movsd     %xmm1, -56(%rsp)
+        movzbl    %al, %ecx
+        movb      %sil, -49(%rsp)
+        movsd     (%rdx,%rcx,8), %xmm5
+        testl     %r9d, %r9d
+        jne       .LBL_2_5
+
+
+        movsd     -56(%rsp), %xmm0
+        movl      $100, %edi
+        mulsd     360+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        movsd     %xmm0, -56(%rsp)
+        jmp       .LBL_2_6
+
+.LBL_2_5:
+
+        movsd     -56(%rsp), %xmm0
+
+.LBL_2_6:
+
+        movzwl    -50(%rsp), %esi
+        movl      $1431655766, %eax
+        andl      $32752, %esi
+        lea       __dcbrt_la__vmldCbrtTab(%rip), %r11
+        shrl      $4, %esi
+        movsd     %xmm0, -40(%rsp)
+        movsd     368+__dcbrt_la__vmldCbrtTab(%rip), %xmm14
+        imull     %esi
+        movl      $1431655766, %eax
+        lea       (%rdx,%rdx,2), %ecx
+        negl      %ecx
+        addl      %esi, %ecx
+        subl      %ecx, %esi
+        addl      %ecx, %ecx
+        addl      $-1023, %esi
+        imull     %esi
+        sarl      $31, %esi
+        subl      %esi, %edx
+        addl      $1023, %edx
+        subl      %edi, %edx
+        movzwl    -34(%rsp), %edi
+        andl      $2047, %edx
+        andl      $-32753, %edi
+        addl      $16368, %edi
+        movw      %di, -34(%rsp)
+        movsd     -40(%rsp), %xmm11
+        movaps    %xmm11, %xmm6
+        mulsd     376+__dcbrt_la__vmldCbrtTab(%rip), %xmm6
+        movsd     %xmm6, -32(%rsp)
+        movsd     -32(%rsp), %xmm7
+        movl      -36(%rsp), %r10d
+        andl      $1048575, %r10d
+        subsd     -40(%rsp), %xmm7
+        movsd     %xmm7, -24(%rsp)
+        movsd     -32(%rsp), %xmm9
+        movsd     -24(%rsp), %xmm8
+        shrl      $15, %r10d
+        subsd     %xmm8, %xmm9
+        movsd     %xmm9, -32(%rsp)
+        movsd     -32(%rsp), %xmm10
+        movsd     (%r11,%r10,8), %xmm4
+        subsd     %xmm10, %xmm11
+        movaps    %xmm4, %xmm12
+        movaps    %xmm4, %xmm13
+        mulsd     %xmm4, %xmm12
+        movsd     %xmm11, -24(%rsp)
+        movsd     -32(%rsp), %xmm2
+        mulsd     %xmm12, %xmm2
+        mulsd     %xmm2, %xmm13
+        movsd     440+__dcbrt_la__vmldCbrtTab(%rip), %xmm6
+        movsd     -24(%rsp), %xmm3
+        subsd     %xmm13, %xmm6
+        mulsd     %xmm12, %xmm3
+        mulsd     %xmm6, %xmm14
+        mulsd     %xmm3, %xmm4
+        movsd     %xmm14, -32(%rsp)
+        movsd     -32(%rsp), %xmm15
+        xorps     .L_2il0floatpacket.81(%rip), %xmm4
+        subsd     %xmm6, %xmm15
+        movsd     %xmm15, -24(%rsp)
+        movsd     -32(%rsp), %xmm1
+        movsd     -24(%rsp), %xmm0
+        movsd     256+__dcbrt_la__vmldCbrtTab(%rip), %xmm9
+        subsd     %xmm0, %xmm1
+        movsd     %xmm1, -32(%rsp)
+        movsd     -32(%rsp), %xmm13
+        movsd     352+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        subsd     %xmm13, %xmm6
+        movsd     %xmm6, -24(%rsp)
+        movsd     -32(%rsp), %xmm1
+        movsd     -24(%rsp), %xmm7
+        movaps    %xmm1, %xmm8
+        movsd     256+__dcbrt_la__vmldCbrtTab(%rip), %xmm11
+        addsd     %xmm7, %xmm4
+        movsd     256+__dcbrt_la__vmldCbrtTab(%rip), %xmm7
+        addsd     %xmm4, %xmm8
+        mulsd     %xmm8, %xmm0
+        movslq    %ecx, %rcx
+        addsd     344+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        movq      440+__dcbrt_la__vmldCbrtTab(%rip), %r9
+        movq      %r9, -48(%rsp)
+        shrq      $48, %r9
+        addsd     336+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        andl      $-32753, %r9d
+        shll      $4, %edx
+        addsd     328+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        orl       %edx, %r9d
+        movw      %r9w, -42(%rsp)
+        addsd     320+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        addsd     312+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        addsd     304+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        addsd     296+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        addsd     288+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        addsd     280+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        addsd     272+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm8, %xmm0
+        addsd     %xmm0, %xmm9
+        movsd     %xmm9, -32(%rsp)
+        movsd     -32(%rsp), %xmm10
+        movsd     368+__dcbrt_la__vmldCbrtTab(%rip), %xmm9
+        subsd     %xmm10, %xmm11
+        movsd     %xmm11, -24(%rsp)
+        movsd     -32(%rsp), %xmm14
+        movsd     -24(%rsp), %xmm12
+        addsd     %xmm12, %xmm14
+        movsd     %xmm14, -16(%rsp)
+        movaps    %xmm2, %xmm14
+        movsd     -24(%rsp), %xmm6
+        addsd     %xmm0, %xmm6
+        movsd     %xmm6, -24(%rsp)
+        movsd     -16(%rsp), %xmm15
+        subsd     %xmm15, %xmm7
+        movsd     %xmm7, -16(%rsp)
+        movsd     -24(%rsp), %xmm8
+        movsd     -16(%rsp), %xmm0
+        addsd     %xmm0, %xmm8
+        movsd     %xmm8, -16(%rsp)
+        movaps    %xmm1, %xmm8
+        movsd     -32(%rsp), %xmm13
+        mulsd     %xmm13, %xmm9
+        movsd     -16(%rsp), %xmm0
+        movsd     %xmm9, -32(%rsp)
+        movsd     -32(%rsp), %xmm10
+        subsd     %xmm13, %xmm10
+        addsd     264+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        movsd     %xmm10, -24(%rsp)
+        movsd     -32(%rsp), %xmm11
+        movsd     -24(%rsp), %xmm6
+        subsd     %xmm6, %xmm11
+        movsd     %xmm11, -32(%rsp)
+        movsd     -32(%rsp), %xmm12
+        subsd     %xmm12, %xmm13
+        movsd     %xmm13, -24(%rsp)
+        movsd     -32(%rsp), %xmm7
+        movsd     -24(%rsp), %xmm6
+        mulsd     %xmm7, %xmm8
+        addsd     %xmm0, %xmm6
+        mulsd     %xmm4, %xmm7
+        mulsd     %xmm6, %xmm4
+        mulsd     %xmm6, %xmm1
+        addsd     %xmm4, %xmm7
+        movsd     368+__dcbrt_la__vmldCbrtTab(%rip), %xmm4
+        addsd     %xmm1, %xmm7
+        mulsd     %xmm8, %xmm4
+        movsd     %xmm7, -32(%rsp)
+        movsd     -32(%rsp), %xmm10
+        movsd     %xmm4, -32(%rsp)
+        movsd     -32(%rsp), %xmm0
+        subsd     %xmm8, %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movsd     -32(%rsp), %xmm1
+        movsd     -24(%rsp), %xmm4
+        subsd     %xmm4, %xmm1
+        movsd     %xmm1, -32(%rsp)
+        movsd     -32(%rsp), %xmm6
+        subsd     %xmm6, %xmm8
+        movsd     %xmm8, -24(%rsp)
+        movsd     -32(%rsp), %xmm9
+        movsd     -24(%rsp), %xmm7
+        movaps    %xmm9, %xmm1
+        mulsd     %xmm3, %xmm9
+        addsd     %xmm7, %xmm10
+        mulsd     %xmm2, %xmm1
+        movaps    %xmm10, %xmm11
+        movaps    %xmm1, %xmm12
+        mulsd     %xmm3, %xmm10
+        addsd     %xmm2, %xmm12
+        mulsd     %xmm2, %xmm11
+        addsd     %xmm9, %xmm10
+        addsd     %xmm10, %xmm11
+        movsd     %xmm11, -32(%rsp)
+        movsd     -32(%rsp), %xmm0
+        movsd     %xmm12, -32(%rsp)
+        movsd     -32(%rsp), %xmm13
+        subsd     %xmm13, %xmm14
+        movsd     %xmm14, -24(%rsp)
+        movsd     -32(%rsp), %xmm9
+        movsd     -24(%rsp), %xmm15
+        addsd     %xmm15, %xmm9
+        movsd     %xmm9, -16(%rsp)
+        movsd     -24(%rsp), %xmm10
+        addsd     %xmm10, %xmm1
+        movsd     %xmm1, -24(%rsp)
+        movsd     -16(%rsp), %xmm4
+        subsd     %xmm4, %xmm2
+        movsd     368+__dcbrt_la__vmldCbrtTab(%rip), %xmm4
+        movsd     %xmm2, -16(%rsp)
+        movsd     -24(%rsp), %xmm1
+        movsd     -16(%rsp), %xmm2
+        addsd     %xmm2, %xmm1
+        movsd     %xmm1, -16(%rsp)
+        movsd     -32(%rsp), %xmm9
+        mulsd     %xmm9, %xmm4
+        movsd     -16(%rsp), %xmm11
+        movsd     %xmm4, -32(%rsp)
+        movsd     -32(%rsp), %xmm6
+        subsd     %xmm9, %xmm6
+        movsd     %xmm6, -24(%rsp)
+        movsd     -32(%rsp), %xmm7
+        movsd     -24(%rsp), %xmm2
+        subsd     %xmm2, %xmm7
+        movsd     %xmm7, -32(%rsp)
+        movsd     -32(%rsp), %xmm8
+        subsd     %xmm8, %xmm9
+        movsd     %xmm9, -24(%rsp)
+        movsd     -32(%rsp), %xmm12
+        movsd     -24(%rsp), %xmm10
+        addsd     %xmm0, %xmm10
+        addsd     %xmm3, %xmm10
+        movsd     392(%r11,%rcx,8), %xmm3
+        movaps    %xmm3, %xmm0
+        addsd     %xmm10, %xmm11
+        mulsd     %xmm12, %xmm3
+        mulsd     %xmm11, %xmm0
+        movsd     384(%r11,%rcx,8), %xmm10
+        addsd     %xmm3, %xmm0
+        mulsd     %xmm10, %xmm11
+        mulsd     %xmm10, %xmm12
+        addsd     %xmm11, %xmm0
+        movsd     %xmm0, -32(%rsp)
+        movsd     -32(%rsp), %xmm3
+        addsd     %xmm3, %xmm12
+        mulsd     -48(%rsp), %xmm12
+        mulsd     %xmm12, %xmm5
+        movsd     %xmm5, (%r8)
+
+.LBL_2_7:
+
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_8:
+
+        movsd     440+__dcbrt_la__vmldCbrtTab(%rip), %xmm0
+        mulsd     %xmm0, %xmm1
+        movsd     %xmm1, (%r8)
+        jmp       .LBL_2_7
+
+.LBL_2_9:
+
+        addsd     %xmm1, %xmm1
+        movsd     %xmm1, (%r8)
+        jmp       .LBL_2_7
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dcbrt_cout_rare_internal,@function
+       .size   __svml_dcbrt_cout_rare_internal,.-__svml_dcbrt_cout_rare_internal
+..LN__svml_dcbrt_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dcbrt_data_internal_avx512:
+       .long   0
+       .long   1072693248
+       .long   4186796683
+       .long   1072965794
+       .long   2772266557
+       .long   1073309182
+       .long   0
+       .long   0
+       .long   0
+       .long   3220176896
+       .long   4186796683
+       .long   3220449442
+       .long   2772266557
+       .long   3220792830
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1418634270
+       .long   3162364962
+       .long   2576690953
+       .long   3164558313
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1418634270
+       .long   1014881314
+       .long   2576690953
+       .long   1017074665
+       .long   0
+       .long   0
+       .long   4186796683
+       .long   1072965794
+       .long   1554061055
+       .long   1072914931
+       .long   3992368458
+       .long   1072871093
+       .long   3714535808
+       .long   1072832742
+       .long   954824104
+       .long   1072798779
+       .long   3256858690
+       .long   1072768393
+       .long   3858344660
+       .long   1072740974
+       .long   1027250248
+       .long   1072716050
+       .long   0
+       .long   1072693248
+       .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   1418634270
+       .long   3162364962
+       .long   629721892
+       .long   1016287007
+       .long   1776620500
+       .long   3163956186
+       .long   648592220
+       .long   1016269578
+       .long   1295766103
+       .long   3161896715
+       .long   1348094586
+       .long   3164476360
+       .long   2407028709
+       .long   1015925873
+       .long   497428409
+       .long   1014435402
+       .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   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .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   1431655766
+       .long   1070945621
+       .long   1431655766
+       .long   1070945621
+       .long   1431655766
+       .long   1070945621
+       .long   1431655766
+       .long   1070945621
+       .long   1431655766
+       .long   1070945621
+       .long   1431655766
+       .long   1070945621
+       .long   1431655766
+       .long   1070945621
+       .long   1431655766
+       .long   1070945621
+       .long   0
+       .long   1126170624
+       .long   0
+       .long   1126170624
+       .long   0
+       .long   1126170624
+       .long   0
+       .long   1126170624
+       .long   0
+       .long   1126170624
+       .long   0
+       .long   1126170624
+       .long   0
+       .long   1126170624
+       .long   0
+       .long   1126170624
+       .long   0
+       .long   1074266112
+       .long   0
+       .long   1074266112
+       .long   0
+       .long   1074266112
+       .long   0
+       .long   1074266112
+       .long   0
+       .long   1074266112
+       .long   0
+       .long   1074266112
+       .long   0
+       .long   1074266112
+       .long   0
+       .long   1074266112
+       .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   1792985698
+       .long   3213372987
+       .long   1792985698
+       .long   3213372987
+       .long   1792985698
+       .long   3213372987
+       .long   1792985698
+       .long   3213372987
+       .long   1792985698
+       .long   3213372987
+       .long   1792985698
+       .long   3213372987
+       .long   1792985698
+       .long   3213372987
+       .long   1792985698
+       .long   3213372987
+       .long   3135539317
+       .long   1066129956
+       .long   3135539317
+       .long   1066129956
+       .long   3135539317
+       .long   1066129956
+       .long   3135539317
+       .long   1066129956
+       .long   3135539317
+       .long   1066129956
+       .long   3135539317
+       .long   1066129956
+       .long   3135539317
+       .long   1066129956
+       .long   3135539317
+       .long   1066129956
+       .long   2087834975
+       .long   3213899448
+       .long   2087834975
+       .long   3213899448
+       .long   2087834975
+       .long   3213899448
+       .long   2087834975
+       .long   3213899448
+       .long   2087834975
+       .long   3213899448
+       .long   2087834975
+       .long   3213899448
+       .long   2087834975
+       .long   3213899448
+       .long   2087834975
+       .long   3213899448
+       .long   2476259604
+       .long   1066628333
+       .long   2476259604
+       .long   1066628333
+       .long   2476259604
+       .long   1066628333
+       .long   2476259604
+       .long   1066628333
+       .long   2476259604
+       .long   1066628333
+       .long   2476259604
+       .long   1066628333
+       .long   2476259604
+       .long   1066628333
+       .long   2476259604
+       .long   1066628333
+       .long   2012366478
+       .long   3214412045
+       .long   2012366478
+       .long   3214412045
+       .long   2012366478
+       .long   3214412045
+       .long   2012366478
+       .long   3214412045
+       .long   2012366478
+       .long   3214412045
+       .long   2012366478
+       .long   3214412045
+       .long   2012366478
+       .long   3214412045
+       .long   2012366478
+       .long   3214412045
+       .long   1104999785
+       .long   1067378449
+       .long   1104999785
+       .long   1067378449
+       .long   1104999785
+       .long   1067378449
+       .long   1104999785
+       .long   1067378449
+       .long   1104999785
+       .long   1067378449
+       .long   1104999785
+       .long   1067378449
+       .long   1104999785
+       .long   1067378449
+       .long   1104999785
+       .long   1067378449
+       .long   3534763582
+       .long   3215266280
+       .long   3534763582
+       .long   3215266280
+       .long   3534763582
+       .long   3215266280
+       .long   3534763582
+       .long   3215266280
+       .long   3534763582
+       .long   3215266280
+       .long   3534763582
+       .long   3215266280
+       .long   3534763582
+       .long   3215266280
+       .long   3534763582
+       .long   3215266280
+       .long   1007386161
+       .long   1068473053
+       .long   1007386161
+       .long   1068473053
+       .long   1007386161
+       .long   1068473053
+       .long   1007386161
+       .long   1068473053
+       .long   1007386161
+       .long   1068473053
+       .long   1007386161
+       .long   1068473053
+       .long   1007386161
+       .long   1068473053
+       .long   1007386161
+       .long   1068473053
+       .long   477218625
+       .long   3216798151
+       .long   477218625
+       .long   3216798151
+       .long   477218625
+       .long   3216798151
+       .long   477218625
+       .long   3216798151
+       .long   477218625
+       .long   3216798151
+       .long   477218625
+       .long   3216798151
+       .long   477218625
+       .long   3216798151
+       .long   477218625
+       .long   3216798151
+       .long   1431655767
+       .long   1070945621
+       .long   1431655767
+       .long   1070945621
+       .long   1431655767
+       .long   1070945621
+       .long   1431655767
+       .long   1070945621
+       .long   1431655767
+       .long   1070945621
+       .long   1431655767
+       .long   1070945621
+       .long   1431655767
+       .long   1070945621
+       .long   1431655767
+       .long   1070945621
+       .type   __svml_dcbrt_data_internal_avx512,@object
+       .size   __svml_dcbrt_data_internal_avx512,1408
+       .align 32
+__dcbrt_la__vmldCbrtTab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072668672
+       .long   0
+       .long   1072644096
+       .long   0
+       .long   1072627712
+       .long   0
+       .long   1072611328
+       .long   0
+       .long   1072586752
+       .long   0
+       .long   1072570368
+       .long   0
+       .long   1072553984
+       .long   0
+       .long   1072537600
+       .long   0
+       .long   1072521216
+       .long   0
+       .long   1072504832
+       .long   0
+       .long   1072488448
+       .long   0
+       .long   1072480256
+       .long   0
+       .long   1072463872
+       .long   0
+       .long   1072447488
+       .long   0
+       .long   1072439296
+       .long   0
+       .long   1072422912
+       .long   0
+       .long   1072414720
+       .long   0
+       .long   1072398336
+       .long   0
+       .long   1072390144
+       .long   0
+       .long   1072373760
+       .long   0
+       .long   1072365568
+       .long   0
+       .long   1072357376
+       .long   0
+       .long   1072340992
+       .long   0
+       .long   1072332800
+       .long   0
+       .long   1072324608
+       .long   0
+       .long   1072308224
+       .long   0
+       .long   1072300032
+       .long   0
+       .long   1072291840
+       .long   0
+       .long   1072283648
+       .long   0
+       .long   1072275456
+       .long   0
+       .long   1072267264
+       .long   1431655765
+       .long   1071994197
+       .long   1431655765
+       .long   1015371093
+       .long   1908874354
+       .long   1071761180
+       .long   1007461464
+       .long   1071618781
+       .long   565592401
+       .long   1071446176
+       .long   241555088
+       .long   1071319599
+       .long   943963244
+       .long   1071221150
+       .long   2330668378
+       .long   1071141453
+       .long   2770428108
+       .long   1071075039
+       .long   3622256836
+       .long   1071018464
+       .long   1497196870
+       .long   1070969433
+       .long   280472551
+       .long   1070926345
+       .long   1585032765
+       .long   1070888044
+       .long   0
+       .long   1387266048
+       .long   33554432
+       .long   1101004800
+       .long   512
+       .long   1117782016
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   4160749568
+       .long   1072965794
+       .long   2921479643
+       .long   1043912488
+       .long   2684354560
+       .long   1073309182
+       .long   4060791142
+       .long   1045755320
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3220176896
+       .type   __dcbrt_la__vmldCbrtTab,@object
+       .size   __dcbrt_la__vmldCbrtTab,456
+       .space 8, 0x00  
+       .align 16
+.L_2il0floatpacket.81:
+       .long   0x00000000,0x80000000,0x00000000,0x00000000
+       .type   .L_2il0floatpacket.81,@object
+       .size   .L_2il0floatpacket.81,16
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_cbrt_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_cbrt_s_la.s
new file mode 100644 (file)
index 0000000..b257437
--- /dev/null
@@ -0,0 +1,1012 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *     x=2^{3*k+j} * 1.b1 b2 ... b5 b6 ... b52
+ *     Let r=(x*2^{-3k-j} - 1.b1 b2 ... b5 1)* rcp[b1 b2 ..b5],
+ *     where rcp[b1 b2 .. b5]=1/(1.b1 b2 b3 b4 b5 1) in single precision
+ *     cbrtf(2^j * 1. b1 b2 .. b5 1) is approximated as T[j][b1..b5]+D[j][b1..b5]
+ *     (T stores the high 24 bits, D stores the low order bits)
+ *     Result=2^k*T+(2^k*T*r)*P+2^k*D
+ *      where P=p1+p2*r+..
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_cbrtf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_cbrtf16
+
+__svml_cbrtf16:
+
+
+       .cfi_startproc
+..L2:
+
+        vgetmantps $0, {sae}, %zmm0, %zmm8
+
+/* GetExp(x) */
+        vgetexpps {sae}, %zmm0, %zmm1
+        vmovups   384+__svml_scbrt_data_internal_avx512(%rip), %zmm2
+
+/* exponent/3 */
+        vmovups   512+__svml_scbrt_data_internal_avx512(%rip), %zmm3
+        vmovups   576+__svml_scbrt_data_internal_avx512(%rip), %zmm4
+        vmovups   704+__svml_scbrt_data_internal_avx512(%rip), %zmm15
+
+/* exponent%3 (to be used as index) */
+        vmovups   640+__svml_scbrt_data_internal_avx512(%rip), %zmm5
+
+/* polynomial */
+        vmovups   768+__svml_scbrt_data_internal_avx512(%rip), %zmm11
+        vmovups   896+__svml_scbrt_data_internal_avx512(%rip), %zmm14
+
+/* Table lookup */
+        vmovups   128+__svml_scbrt_data_internal_avx512(%rip), %zmm12
+
+/* DblRcp ~ 1/Mantissa */
+        vrcp14ps  %zmm8, %zmm7
+        vaddps    {rn-sae}, %zmm2, %zmm1, %zmm6
+        vandps    448+__svml_scbrt_data_internal_avx512(%rip), %zmm0, %zmm0
+
+/* round DblRcp to 3 fractional bits (RN mode, no Precision exception) */
+        vrndscaleps $88, {sae}, %zmm7, %zmm9
+        vfmsub231ps {rn-sae}, %zmm6, %zmm3, %zmm4
+        vmovups   832+__svml_scbrt_data_internal_avx512(%rip), %zmm7
+
+/* Reduced argument: R = DblRcp*Mantissa - 1 */
+        vfmsub231ps {rn-sae}, %zmm9, %zmm8, %zmm15
+        vrndscaleps $9, {sae}, %zmm4, %zmm13
+
+/* Prepare table index */
+        vpsrld    $19, %zmm9, %zmm10
+        vfmadd231ps {rn-sae}, %zmm15, %zmm11, %zmm7
+        vfnmadd231ps {rn-sae}, %zmm13, %zmm5, %zmm6
+        vpermt2ps 192+__svml_scbrt_data_internal_avx512(%rip), %zmm10, %zmm12
+        vfmadd213ps {rn-sae}, %zmm14, %zmm15, %zmm7
+        vscalefps {rn-sae}, %zmm13, %zmm12, %zmm2
+
+/* Table lookup: 2^(exponent%3) */
+        vpermps   __svml_scbrt_data_internal_avx512(%rip), %zmm6, %zmm1
+        vpermps   64+__svml_scbrt_data_internal_avx512(%rip), %zmm6, %zmm6
+
+/* Sh*R */
+        vmulps    {rn-sae}, %zmm15, %zmm1, %zmm14
+
+/* Sl + (Sh*R)*Poly */
+        vfmadd213ps {rn-sae}, %zmm6, %zmm7, %zmm14
+
+/*
+ * branch-free
+ * scaled_Th*(Sh+Sl+Sh*R*Poly)
+ */
+        vaddps    {rn-sae}, %zmm1, %zmm14, %zmm15
+        vmulps    {rn-sae}, %zmm2, %zmm15, %zmm3
+        vorps     %zmm0, %zmm3, %zmm0
+
+/* no invcbrt in libm, so taking it out here */
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_cbrtf16,@function
+       .size   __svml_cbrtf16,.-__svml_cbrtf16
+..LN__svml_cbrtf16.0:
+
+.L_2__routine_start___svml_scbrt_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_scbrt_cout_rare_internal:
+
+
+       .cfi_startproc
+..L5:
+
+        movq      %rsi, %r9
+        movl      $1065353216, -24(%rsp)
+        movss     (%rdi), %xmm0
+        movss     -24(%rsp), %xmm1
+        mulss     %xmm0, %xmm1
+        movss     %xmm1, -4(%rsp)
+        movzwl    -2(%rsp), %eax
+        andl      $32640, %eax
+        shrl      $7, %eax
+        cmpl      $255, %eax
+        je        .LBL_2_9
+
+
+        pxor      %xmm0, %xmm0
+        ucomiss   %xmm0, %xmm1
+        jp        .LBL_2_3
+        je        .LBL_2_8
+
+.LBL_2_3:
+
+        testl     %eax, %eax
+        jne       .LBL_2_5
+
+
+        movl      $2122317824, -24(%rsp)
+        movl      $713031680, -20(%rsp)
+        jmp       .LBL_2_6
+
+.LBL_2_5:
+
+        movl      $1065353216, %eax
+        movl      %eax, -24(%rsp)
+        movl      %eax, -20(%rsp)
+
+.LBL_2_6:
+
+        movss     -24(%rsp), %xmm0
+        lea       __scbrt_la_vscbrt_ha_cout_data(%rip), %rsi
+        mulss     %xmm0, %xmm1
+        movd      %xmm1, %ecx
+        movss     %xmm1, -4(%rsp)
+        movl      %ecx, %r10d
+        movl      %ecx, %edi
+        andl      $8388607, %r10d
+        movl      %ecx, %r11d
+        shrl      $23, %edi
+        andl      $8257536, %r11d
+        orl       $-1082130432, %r10d
+        orl       $-1081999360, %r11d
+        movl      %r10d, -16(%rsp)
+        movl      %ecx, %edx
+        movzbl    %dil, %r8d
+        andl      $2147483647, %ecx
+        movl      %r11d, -12(%rsp)
+        andl      $-256, %edi
+        movss     -16(%rsp), %xmm1
+        addl      $2139095040, %ecx
+        shrl      $16, %edx
+        subss     -12(%rsp), %xmm1
+        andl      $124, %edx
+        lea       (%r8,%r8,4), %r10d
+        mulss     (%rsi,%rdx), %xmm1
+        lea       (%r10,%r10), %r11d
+        movss     .L_2il0floatpacket.35(%rip), %xmm4
+        lea       (%r11,%r11), %eax
+        addl      %eax, %eax
+        lea       (%r10,%r11,8), %r10d
+        addl      %eax, %eax
+        decl      %r8d
+        mulss     %xmm1, %xmm4
+        shll      $7, %r8d
+        lea       (%r10,%rax,8), %r11d
+        lea       (%r11,%rax,8), %r10d
+        shrl      $12, %r10d
+        addss     .L_2il0floatpacket.34(%rip), %xmm4
+        mulss     %xmm1, %xmm4
+        lea       85(%r10), %eax
+        orl       %edi, %eax
+        xorl      %edi, %edi
+        cmpl      $-16777217, %ecx
+        addss     .L_2il0floatpacket.33(%rip), %xmm4
+        setg      %dil
+        shll      $7, %r10d
+        negl      %edi
+        subl      %r10d, %r8d
+        addl      %r10d, %r10d
+        subl      %r10d, %r8d
+        notl      %edi
+        addl      %r8d, %edx
+        andl      %edx, %edi
+        shll      $23, %eax
+        addl      %edi, %edi
+        movl      %eax, -8(%rsp)
+        movss     128(%rdi,%rsi), %xmm5
+        movss     -8(%rsp), %xmm2
+        mulss     %xmm1, %xmm4
+        mulss     %xmm2, %xmm5
+        addss     .L_2il0floatpacket.32(%rip), %xmm4
+        mulss     %xmm5, %xmm1
+        movss     132(%rsi,%rdi), %xmm3
+        mulss     %xmm1, %xmm4
+        mulss     %xmm2, %xmm3
+        addss     %xmm3, %xmm4
+        addss     %xmm4, %xmm5
+        mulss     -20(%rsp), %xmm5
+        movss     %xmm5, (%r9)
+
+.LBL_2_7:
+
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_8:
+
+        movss     %xmm1, (%r9)
+        jmp       .LBL_2_7
+
+.LBL_2_9:
+
+        addss     %xmm0, %xmm0
+        movss     %xmm0, (%r9)
+        jmp       .LBL_2_7
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_scbrt_cout_rare_internal,@function
+       .size   __svml_scbrt_cout_rare_internal,.-__svml_scbrt_cout_rare_internal
+..LN__svml_scbrt_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_scbrt_data_internal_avx512:
+       .long   1065353216
+       .long   1067533592
+       .long   1070280693
+       .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   2999865775
+       .long   849849800
+       .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   1067533592
+       .long   1067322155
+       .long   1067126683
+       .long   1066945178
+       .long   1066775983
+       .long   1066617708
+       .long   1066469175
+       .long   1066329382
+       .long   1066197466
+       .long   1066072682
+       .long   1065954382
+       .long   1065841998
+       .long   1065735031
+       .long   1065633040
+       .long   1065535634
+       .long   1065442463
+       .long   1065353216
+       .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   2999865775
+       .long   849353281
+       .long   2992093760
+       .long   858369405
+       .long   861891413
+       .long   3001900484
+       .long   2988845984
+       .long   3009185201
+       .long   3001209163
+       .long   847824101
+       .long   839380496
+       .long   845124191
+       .long   851391835
+       .long   856440803
+       .long   2989578734
+       .long   852890174
+       .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   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   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   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1249902592
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .long   1077936128
+       .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   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   1031603580
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   3185812323
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .long   1051372202
+       .type   __svml_scbrt_data_internal_avx512,@object
+       .size   __svml_scbrt_data_internal_avx512,960
+       .align 64
+__scbrt_la_vscbrt_ha_cout_data:
+       .long   3212578753
+       .long   3212085645
+       .long   3211621124
+       .long   3211182772
+       .long   3210768440
+       .long   3210376206
+       .long   3210004347
+       .long   3209651317
+       .long   3209315720
+       .long   3208996296
+       .long   3208691905
+       .long   3208401508
+       .long   3208124163
+       .long   3207859009
+       .long   3207605259
+       .long   3207362194
+       .long   3207129151
+       .long   3206905525
+       .long   3206690755
+       .long   3206484326
+       .long   3206285761
+       .long   3206094618
+       .long   3205910490
+       .long   3205732998
+       .long   3205561788
+       .long   3205396533
+       .long   3205236929
+       .long   3205082689
+       .long   3204933547
+       .long   3204789256
+       .long   3204649583
+       .long   3204514308
+       .long   1065396681
+       .long   839340838
+       .long   1065482291
+       .long   867750258
+       .long   1065566215
+       .long   851786446
+       .long   1065648532
+       .long   853949398
+       .long   1065729317
+       .long   864938789
+       .long   1065808640
+       .long   864102364
+       .long   1065886565
+       .long   864209792
+       .long   1065963152
+       .long   865422805
+       .long   1066038457
+       .long   867593594
+       .long   1066112533
+       .long   854482593
+       .long   1066185428
+       .long   848298042
+       .long   1066257188
+       .long   860064854
+       .long   1066327857
+       .long   844792593
+       .long   1066397474
+       .long   870701309
+       .long   1066466079
+       .long   872023170
+       .long   1066533708
+       .long   860255342
+       .long   1066600394
+       .long   849966899
+       .long   1066666169
+       .long   863561479
+       .long   1066731064
+       .long   869115319
+       .long   1066795108
+       .long   871961375
+       .long   1066858329
+       .long   859537336
+       .long   1066920751
+       .long   871954398
+       .long   1066982401
+       .long   863817578
+       .long   1067043301
+       .long   861687921
+       .long   1067103474
+       .long   849594757
+       .long   1067162941
+       .long   816486846
+       .long   1067221722
+       .long   858183533
+       .long   1067279837
+       .long   864500406
+       .long   1067337305
+       .long   850523240
+       .long   1067394143
+       .long   808125243
+       .long   1067450368
+       .long   0
+       .long   1067505996
+       .long   861173761
+       .long   1067588354
+       .long   859000219
+       .long   1067696217
+       .long   823158129
+       .long   1067801953
+       .long   871826232
+       .long   1067905666
+       .long   871183196
+       .long   1068007450
+       .long   839030530
+       .long   1068107390
+       .long   867690638
+       .long   1068205570
+       .long   840440923
+       .long   1068302063
+       .long   868033274
+       .long   1068396942
+       .long   855856030
+       .long   1068490271
+       .long   865094453
+       .long   1068582113
+       .long   860418487
+       .long   1068672525
+       .long   866225006
+       .long   1068761562
+       .long   866458226
+       .long   1068849275
+       .long   865124659
+       .long   1068935712
+       .long   864837702
+       .long   1069020919
+       .long   811742505
+       .long   1069104937
+       .long   869432099
+       .long   1069187809
+       .long   864584201
+       .long   1069269572
+       .long   864183978
+       .long   1069350263
+       .long   844810573
+       .long   1069429915
+       .long   869245699
+       .long   1069508563
+       .long   859556409
+       .long   1069586236
+       .long   870675446
+       .long   1069662966
+       .long   814190139
+       .long   1069738778
+       .long   870686941
+       .long   1069813702
+       .long   861800510
+       .long   1069887762
+       .long   855649163
+       .long   1069960982
+       .long   869347119
+       .long   1070033387
+       .long   864252033
+       .long   1070104998
+       .long   867276215
+       .long   1070175837
+       .long   868189817
+       .long   1070245925
+       .long   849541095
+       .long   1070349689
+       .long   866633177
+       .long   1070485588
+       .long   843967686
+       .long   1070618808
+       .long   857522493
+       .long   1070749478
+       .long   862339487
+       .long   1070877717
+       .long   850054662
+       .long   1071003634
+       .long   864048556
+       .long   1071127332
+       .long   868027089
+       .long   1071248907
+       .long   848093931
+       .long   1071368446
+       .long   865355299
+       .long   1071486034
+       .long   848111485
+       .long   1071601747
+       .long   865557362
+       .long   1071715659
+       .long   870297525
+       .long   1071827839
+       .long   863416216
+       .long   1071938350
+       .long   869675693
+       .long   1072047254
+       .long   865888071
+       .long   1072154608
+       .long   825332584
+       .long   1072260465
+       .long   843309506
+       .long   1072364876
+       .long   870885636
+       .long   1072467891
+       .long   869119784
+       .long   1072569555
+       .long   865466648
+       .long   1072669911
+       .long   867459244
+       .long   1072769001
+       .long   861192764
+       .long   1072866863
+       .long   871247716
+       .long   1072963536
+       .long   864927982
+       .long   1073059054
+       .long   869195129
+       .long   1073153452
+       .long   864849564
+       .long   1073246762
+       .long   840005936
+       .long   1073339014
+       .long   852579258
+       .long   1073430238
+       .long   860852782
+       .long   1073520462
+       .long   869711141
+       .long   1073609714
+       .long   862506141
+       .long   1073698019
+       .long   837959274
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   3173551943
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   1031591658
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   3185806905
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   1051372203
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   8257536
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   3212967936
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   85
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   1
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   2155872256
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .long   4278190079
+       .type   __scbrt_la_vscbrt_ha_cout_data,@object
+       .size   __scbrt_la_vscbrt_ha_cout_data,1920
+       .align 4
+.L_2il0floatpacket.28:
+       .long   0x007fffff
+       .type   .L_2il0floatpacket.28,@object
+       .size   .L_2il0floatpacket.28,4
+       .align 4
+.L_2il0floatpacket.29:
+       .long   0x007e0000
+       .type   .L_2il0floatpacket.29,@object
+       .size   .L_2il0floatpacket.29,4
+       .align 4
+.L_2il0floatpacket.30:
+       .long   0xbf800000
+       .type   .L_2il0floatpacket.30,@object
+       .size   .L_2il0floatpacket.30,4
+       .align 4
+.L_2il0floatpacket.31:
+       .long   0xbf820000
+       .type   .L_2il0floatpacket.31,@object
+       .size   .L_2il0floatpacket.31,4
+       .align 4
+.L_2il0floatpacket.32:
+       .long   0x3eaaaaab
+       .type   .L_2il0floatpacket.32,@object
+       .size   .L_2il0floatpacket.32,4
+       .align 4
+.L_2il0floatpacket.33:
+       .long   0xbde38e39
+       .type   .L_2il0floatpacket.33,@object
+       .size   .L_2il0floatpacket.33,4
+       .align 4
+.L_2il0floatpacket.34:
+       .long   0x3d7cd6ea
+       .type   .L_2il0floatpacket.34,@object
+       .size   .L_2il0floatpacket.34,4
+       .align 4
+.L_2il0floatpacket.35:
+       .long   0xbd288f47
+       .type   .L_2il0floatpacket.35,@object
+       .size   .L_2il0floatpacket.35,4
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_cos_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_cos_d_la.s
new file mode 100644 (file)
index 0000000..51d72fe
--- /dev/null
@@ -0,0 +1,17674 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *     ( low accuracy ( < 4ulp ) or enhanced performance ( half of correct mantissa ) implementation )
+ * 
+ *     Argument representation:
+ *     arg + Pi/2 = (N*Pi + R)
+ * 
+ *     Result calculation:
+ *     cos(arg) = sin(arg+Pi/2) = sin(N*Pi + R) = (-1)^N * sin(R)
+ *     sin(R) is approximated by corresponding polynomial
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_cos8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_cos8
+
+__svml_cos8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        xorl      %edx, %edx
+        vmovups   1472+__svml_dcos_data_internal(%rip), %zmm2
+        vmovups   1536+__svml_dcos_data_internal(%rip), %zmm5
+
+/* dN + .5 */
+        vmovups   1600+__svml_dcos_data_internal(%rip), %zmm3
+
+/* mask will be used to decide whether long arg. reduction is needed */
+        vmovups   640+__svml_dcos_data_internal(%rip), %zmm8
+        vmovups   704+__svml_dcos_data_internal(%rip), %zmm6
+
+/* ............... Polynomial approximation ................... */
+        vmovups   1280+__svml_dcos_data_internal(%rip), %zmm9
+        vmovups   1152+__svml_dcos_data_internal(%rip), %zmm10
+        vmovups   1088+__svml_dcos_data_internal(%rip), %zmm12
+        vmovups   768+__svml_dcos_data_internal(%rip), %zmm7
+        vmovups   1024+__svml_dcos_data_internal(%rip), %zmm13
+
+/* large arg. condition mask */
+        vmovups   1664+__svml_dcos_data_internal(%rip), %zmm4
+        vmovaps   %zmm0, %zmm11
+        vandpd    1408+__svml_dcos_data_internal(%rip), %zmm11, %zmm1
+        vmovups   1728+__svml_dcos_data_internal(%rip), %zmm0
+        vfmadd231pd {rz-sae}, %zmm1, %zmm2, %zmm5
+        vcmppd    $17, {sae}, %zmm0, %zmm1, %k2
+        vcmppd    $22, {sae}, %zmm4, %zmm5, %k1
+        vpsllq    $63, %zmm5, %zmm15
+        vsubpd    {rn-sae}, %zmm3, %zmm5, %zmm14
+        vmovups   1216+__svml_dcos_data_internal(%rip), %zmm3
+        vfmsub213pd {rn-sae}, %zmm1, %zmm14, %zmm8
+
+/* will branch if long arg. reduction needed */
+        kortestw  %k1, %k1
+        vfmadd231pd {rn-sae}, %zmm14, %zmm6, %zmm8
+        vmulpd    {rn-sae}, %zmm8, %zmm8, %zmm2
+        vfmadd213pd {rn-sae}, %zmm8, %zmm7, %zmm14
+        vfmadd231pd {rn-sae}, %zmm2, %zmm9, %zmm3
+        vmovups   960+__svml_dcos_data_internal(%rip), %zmm9
+        vfmadd213pd {rn-sae}, %zmm10, %zmm2, %zmm3
+        vmovups   832+__svml_dcos_data_internal(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm12, %zmm2, %zmm3
+        vfmadd213pd {rn-sae}, %zmm13, %zmm2, %zmm3
+        vxorpd    %zmm15, %zmm14, %zmm13
+        vfmadd213pd {rn-sae}, %zmm9, %zmm2, %zmm3
+        vmulpd    {rn-sae}, %zmm2, %zmm13, %zmm12
+        vfmadd213pd {rn-sae}, %zmm10, %zmm2, %zmm3
+        vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm3
+
+/* result = minabs(result, 1.0) with sign of result preserved */
+        vblendmpd 1344+__svml_dcos_data_internal(%rip), %zmm3, %zmm0{%k2}
+        jne       .LBL_1_12
+
+.LBL_1_2:
+
+        testl     %edx, %edx
+        jne       .LBL_1_4
+
+.LBL_1_3:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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_4:
+
+        vmovups   %zmm11, 64(%rsp)
+        vmovups   %zmm0, 128(%rsp)
+        je        .LBL_1_3
+
+
+        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_8:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_11
+
+.LBL_1_9:
+
+        incl      %r12d
+        cmpl      $8, %r12d
+        jl        .LBL_1_8
+
+
+        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_3
+       .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_11:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+
+        call      __svml_dcos_cout_rare_internal
+        jmp       .LBL_1_9
+       .cfi_restore 4
+       .cfi_restore 5
+       .cfi_restore 12
+       .cfi_restore 13
+       .cfi_restore 122
+       .cfi_restore 123
+       .cfi_restore 124
+       .cfi_restore 125
+
+.LBL_1_12:
+
+
+/* ............Check for Inf and NaNs................. */
+        vmovups   16512+__svml_dcos_data_internal_ha(%rip), %zmm7
+
+/*
+ * Get the (2^a / 2pi) mod 1 values from the table.
+ * Because VLANG doesn't have L-type gather, we need a trivial cast
+ */
+        lea       __svml_dcos_reduction_data_internal(%rip), %rax
+        vpbroadcastq .L_2il0floatpacket.28(%rip), %zmm9
+        vmovups   %zmm0, (%rsp)
+        vandpd    %zmm11, %zmm7, %zmm8
+        vcmppd    $4, {sae}, %zmm7, %zmm8, %k2
+
+/*
+ * The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND
+ * Now resume the original code.
+ * ..................... Table look-up ........................
+ */
+        lea       __svml_dcos_data_internal_ha(%rip), %rcx
+        vmovaps   %zmm9, %zmm6
+        vpandq    .L_2il0floatpacket.29(%rip){1to8}, %zmm11, %zmm3
+        vpsrlq    $52, %zmm3, %zmm12
+        vpsllq    $1, %zmm12, %zmm1
+        vpaddq    %zmm12, %zmm1, %zmm10
+        vpsllq    $3, %zmm10, %zmm4
+        vpmovqd   %zmm4, %ymm0
+        vpandnq   %zmm8, %zmm8, %zmm6{%k2}
+        vcmppd    $3, {sae}, %zmm6, %zmm6, %k0
+
+/*
+ * Break the P_xxx and m into 32-bit chunks ready for
+ * the long multiplication via 32x32->64 multiplications
+ */
+        vpbroadcastq .L_2il0floatpacket.32(%rip), %zmm6
+        kxnorw    %k0, %k0, %k3
+        kxnorw    %k0, %k0, %k2
+        kmovw     %k0, %edx
+        vpxord    %zmm7, %zmm7, %zmm7
+        vgatherdpd (%rax,%ymm0), %zmm7{%k3}
+        kxnorw    %k0, %k0, %k3
+        vpxord    %zmm8, %zmm8, %zmm8
+        vpxord    %zmm2, %zmm2, %zmm2
+        vgatherdpd 8(%rax,%ymm0), %zmm8{%k2}
+        vgatherdpd 16(%rax,%ymm0), %zmm2{%k3}
+        vpsrlq    $32, %zmm7, %zmm0
+        vpsrlq    $32, %zmm8, %zmm15
+        vpsrlq    $32, %zmm2, %zmm13
+
+/*
+ * Also get the significand as an integer
+ * NB: adding in the integer bit is wrong for denorms!
+ * To make this work for denorms we should do something slightly different
+ */
+        vpandq    .L_2il0floatpacket.30(%rip){1to8}, %zmm11, %zmm5
+        vpaddq    .L_2il0floatpacket.31(%rip){1to8}, %zmm5, %zmm3
+        vpsrlq    $32, %zmm3, %zmm10
+        vpmullq   %zmm13, %zmm10, %zmm1
+        vpandq    %zmm6, %zmm7, %zmm5
+        vpandq    %zmm6, %zmm8, %zmm12
+        vpandq    %zmm6, %zmm2, %zmm7
+        vpandq    %zmm6, %zmm3, %zmm14
+
+/* Now do the big multiplication and carry propagation */
+        vpmullq   %zmm5, %zmm10, %zmm4
+        vpmullq   %zmm15, %zmm10, %zmm3
+        vpmullq   %zmm12, %zmm10, %zmm2
+        vpmullq   %zmm7, %zmm10, %zmm8
+        vpmullq   %zmm15, %zmm14, %zmm10
+        vpmullq   %zmm13, %zmm14, %zmm15
+        vpmullq   %zmm0, %zmm14, %zmm7
+        vpmullq   %zmm12, %zmm14, %zmm0
+        vpmullq   %zmm5, %zmm14, %zmm5
+        vpsrlq    $32, %zmm15, %zmm13
+        vpsrlq    $32, %zmm0, %zmm14
+        vpsrlq    $32, %zmm5, %zmm12
+        vpsrlq    $32, %zmm10, %zmm15
+        vpaddq    %zmm13, %zmm1, %zmm1
+        vpaddq    %zmm14, %zmm2, %zmm13
+        vpaddq    %zmm12, %zmm4, %zmm4
+        vpaddq    %zmm15, %zmm3, %zmm2
+        vpandq    %zmm6, %zmm0, %zmm14
+        vpandq    %zmm6, %zmm10, %zmm12
+        vpandq    %zmm6, %zmm5, %zmm10
+        vpaddq    %zmm1, %zmm14, %zmm5
+        vpaddq    %zmm2, %zmm10, %zmm2
+        vpsrlq    $32, %zmm8, %zmm1
+        vpaddq    %zmm5, %zmm1, %zmm8
+        vpsrlq    $32, %zmm8, %zmm10
+        vpandq    %zmm6, %zmm7, %zmm0
+        vpaddq    %zmm13, %zmm12, %zmm7
+        vpaddq    %zmm4, %zmm0, %zmm3
+        vpaddq    %zmm7, %zmm10, %zmm14
+
+/*
+ * Now round at the 2^-9 bit position for reduction mod pi/2^8
+ * instead of the original 2pi (but still with the same 2pi scaling).
+ * Use a shifter of 2^43 + 2^42.
+ * The N we get is our final version; it has an offset of
+ * 2^9 because of the implicit integer bit, and anyway for negative
+ * starting value it's a 2s complement thing. But we need to mask
+ * off the exponent part anyway so it's fine.
+ */
+        vpbroadcastq .L_2il0floatpacket.35(%rip), %zmm7
+        vpsrlq    $32, %zmm14, %zmm4
+        vpaddq    %zmm2, %zmm4, %zmm15
+        vpsllq    $32, %zmm14, %zmm4
+        vpsrlq    $32, %zmm15, %zmm0
+        vpaddq    %zmm3, %zmm0, %zmm13
+
+/* Assemble reduced argument from the pieces */
+        vpandq    %zmm6, %zmm8, %zmm1
+        vpandq    %zmm6, %zmm15, %zmm10
+        vpsllq    $32, %zmm13, %zmm6
+        vpaddq    %zmm1, %zmm4, %zmm13
+        vpaddq    %zmm10, %zmm6, %zmm10
+        vpsrlq    $12, %zmm10, %zmm0
+        vpandq    .L_2il0floatpacket.38(%rip){1to8}, %zmm13, %zmm3
+        vpsllq    $28, %zmm3, %zmm12
+        vpsrlq    $24, %zmm13, %zmm13
+
+/*
+ * We want to incorporate the original sign now too.
+ * Do it here for convenience in getting the right N value,
+ * though we could wait right to the end if we were prepared
+ * to modify the sign of N later too.
+ * So get the appropriate sign mask now (or sooner).
+ */
+        vpandq    .L_2il0floatpacket.33(%rip){1to8}, %zmm11, %zmm14
+
+/*
+ * Create floating-point high part, implicitly adding integer bit 1
+ * Incorporate overall sign at this stage too.
+ */
+        vpxorq    .L_2il0floatpacket.34(%rip){1to8}, %zmm14, %zmm5
+        vporq     %zmm5, %zmm0, %zmm8
+        vaddpd    {rn-sae}, %zmm8, %zmm7, %zmm2
+        vsubpd    {rn-sae}, %zmm7, %zmm2, %zmm6
+        vsubpd    {rn-sae}, %zmm6, %zmm8, %zmm15
+
+/*
+ * If the magnitude of the input is <= 2^-20, then
+ * just pass through the input, since no reduction will be needed and
+ * the main path will only work accurately if the reduced argument is
+ * about >= 2^-70 (which it is for all large pi multiples)
+ */
+        vpbroadcastq .L_2il0floatpacket.44(%rip), %zmm8
+        vandpd    .L_2il0floatpacket.43(%rip){1to8}, %zmm11, %zmm6
+        vcmppd    $26, {sae}, %zmm8, %zmm6, %k2
+        vcmppd    $22, {sae}, %zmm8, %zmm6, %k3
+
+/*
+ * Create floating-point low and medium parts, respectively
+ * lo_23, ... lo_0, 0, ..., 0
+ * hi_11, ... hi_0, lo_63, ..., lo_24
+ * then subtract off the implicitly added integer bits,
+ * 2^-104 and 2^-52, respectively.
+ * Put the original sign into all of them at this stage.
+ */
+        vpxorq    .L_2il0floatpacket.37(%rip){1to8}, %zmm14, %zmm0
+        vporq     %zmm0, %zmm12, %zmm4
+        vsubpd    {rn-sae}, %zmm0, %zmm4, %zmm3
+        vpxorq    .L_2il0floatpacket.39(%rip){1to8}, %zmm14, %zmm0
+        vpandq    .L_2il0floatpacket.40(%rip){1to8}, %zmm10, %zmm14
+        vpsllq    $40, %zmm14, %zmm10
+        vmovups   17152+__svml_dcos_data_internal_ha(%rip), %zmm14
+        vporq     %zmm13, %zmm10, %zmm10
+        vporq     %zmm0, %zmm10, %zmm4
+        vsubpd    {rn-sae}, %zmm0, %zmm4, %zmm5
+        vpbroadcastq .L_2il0floatpacket.42(%rip), %zmm4
+
+/* Now add them up into 2 reasonably aligned pieces */
+        vaddpd    {rn-sae}, %zmm5, %zmm15, %zmm7
+        vsubpd    {rn-sae}, %zmm7, %zmm15, %zmm15
+        vaddpd    {rn-sae}, %zmm15, %zmm5, %zmm10
+
+/*
+ * Now multiply those numbers all by 2 pi, reasonably accurately.
+ * (RHi + RLo) * (pi_lead + pi_trail) ~=
+ * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead)
+ */
+        vpbroadcastq .L_2il0floatpacket.41(%rip), %zmm5
+        vaddpd    {rn-sae}, %zmm3, %zmm10, %zmm12
+        vmulpd    {rn-sae}, %zmm5, %zmm7, %zmm1
+        vmovaps   %zmm5, %zmm0
+        vfmsub213pd {rn-sae}, %zmm1, %zmm7, %zmm0
+        vfmadd213pd {rn-sae}, %zmm0, %zmm4, %zmm7
+        vfmadd213pd {rn-sae}, %zmm7, %zmm5, %zmm12
+        vmovaps   %zmm9, %zmm3
+
+/* Grab our final N value as an integer, appropriately masked mod 2^9 */
+        vpandq    .L_2il0floatpacket.36(%rip){1to8}, %zmm2, %zmm2
+        vpsllq    $5, %zmm2, %zmm5
+        vpmovqd   %zmm5, %ymm5
+        vpandnq   %zmm6, %zmm6, %zmm3{%k2}
+        kxnorw    %k0, %k0, %k2
+        vandpd    %zmm1, %zmm3, %zmm4
+        vandpd    %zmm12, %zmm3, %zmm0
+        vmovups   16960+__svml_dcos_data_internal_ha(%rip), %zmm3
+        vpandnq   %zmm6, %zmm6, %zmm9{%k3}
+        vandpd    %zmm11, %zmm9, %zmm10
+        kxnorw    %k0, %k0, %k3
+        vorpd     %zmm4, %zmm10, %zmm4
+
+/* ................. Reconstruction: res_hi ................... */
+        vmovaps   %zmm4, %zmm2
+        vmovaps   %zmm4, %zmm10
+        vpxord    %zmm9, %zmm9, %zmm9
+        vgatherdpd (%rcx,%ymm5), %zmm9{%k2}
+
+/* VGATHER_TABLE( L2D, dSLo, TAB_HA._dT, lIndex, 0, T_ITEM_SIZE, T_ITEM_GRAN, 3 ); */
+        kxnorw    %k0, %k0, %k2
+        vpxord    %zmm7, %zmm7, %zmm7
+        vpxord    %zmm6, %zmm6, %zmm6
+        vgatherdpd 16(%rcx,%ymm5), %zmm7{%k3}
+        vgatherdpd 8(%rcx,%ymm5), %zmm6{%k2}
+        kxnorw    %k0, %k0, %k3
+        vfmadd213pd {rn-sae}, %zmm7, %zmm6, %zmm2
+        vfmadd132pd {rn-sae}, %zmm9, %zmm2, %zmm10
+
+/* ................. Reconstruction: res_lo ................... */
+        vsubpd    {rn-sae}, %zmm2, %zmm7, %zmm1
+        vsubpd    {rn-sae}, %zmm10, %zmm2, %zmm8
+        vfmadd231pd {rn-sae}, %zmm4, %zmm6, %zmm1
+        vmovups   17024+__svml_dcos_data_internal_ha(%rip), %zmm2
+        vfmadd231pd {rn-sae}, %zmm9, %zmm4, %zmm8
+        vaddpd    {rn-sae}, %zmm1, %zmm8, %zmm13
+        vaddpd    {rn-sae}, %zmm6, %zmm9, %zmm1
+
+/* ............... Polynomial approximation ................... */
+        vmulpd    {rn-sae}, %zmm4, %zmm4, %zmm8
+        vmovups   17216+__svml_dcos_data_internal_ha(%rip), %zmm6
+        vmovups   17088+__svml_dcos_data_internal_ha(%rip), %zmm9
+        vfmadd231pd {rn-sae}, %zmm8, %zmm2, %zmm3
+        vfmadd231pd {rn-sae}, %zmm8, %zmm6, %zmm14
+        vmulpd    {rn-sae}, %zmm8, %zmm3, %zmm12
+        vfmadd213pd {rn-sae}, %zmm9, %zmm8, %zmm14
+        vmulpd    {rn-sae}, %zmm4, %zmm12, %zmm15
+        vmulpd    {rn-sae}, %zmm8, %zmm14, %zmm2
+
+/* ................. Reconstruction: res_lo+corr ................... */
+        vfnmadd213pd {rn-sae}, %zmm1, %zmm7, %zmm4
+        vfmadd213pd {rn-sae}, %zmm13, %zmm1, %zmm15
+        vfmadd213pd {rn-sae}, %zmm15, %zmm7, %zmm2
+        vpxord    %zmm7, %zmm7, %zmm7
+        vgatherdpd 24(%rcx,%ymm5), %zmm7{%k3}
+        vfmadd213pd {rn-sae}, %zmm7, %zmm4, %zmm0
+        vaddpd    {rn-sae}, %zmm0, %zmm2, %zmm1
+
+/* .................. Final reconstruction ................... */
+        vmovups   (%rsp), %zmm0
+        vaddpd    {rn-sae}, %zmm1, %zmm10, %zmm0{%k1}
+        jmp       .LBL_1_2
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_cos8,@function
+       .size   __svml_cos8,.-__svml_cos8
+..LN__svml_cos8.0:
+
+.L_2__routine_start___svml_dcos_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dcos_cout_rare_internal:
+
+
+       .cfi_startproc
+..L63:
+
+        movzwl    6(%rdi), %eax
+        andl      $32752, %eax
+        movsd     (%rdi), %xmm1
+        movb      7(%rdi), %dl
+        andb      $127, %dl
+        movsd     %xmm1, -8(%rsp)
+        cmpl      $32752, %eax
+        jne       .LBL_2_6
+
+
+        cmpl      $0, -8(%rsp)
+        jne       .LBL_2_5
+
+
+        movb      %dl, -1(%rsp)
+        cmpl      $2146435072, -4(%rsp)
+        jne       .LBL_2_5
+
+
+        movsd     __dcos_la_CoutTab(%rip), %xmm0
+        movl      $1, %eax
+        mulsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_5:
+
+        mulsd     %xmm1, %xmm1
+        xorl      %eax, %eax
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_6:
+
+        xorl      %eax, %eax
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dcos_cout_rare_internal,@function
+       .size   __svml_dcos_cout_rare_internal,.-__svml_dcos_cout_rare_internal
+..LN__svml_dcos_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dcos_data_internal:
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   0
+       .long   1096810496
+       .long   0
+       .long   1096810496
+       .long   0
+       .long   1096810496
+       .long   0
+       .long   1096810496
+       .long   0
+       .long   1096810496
+       .long   0
+       .long   1096810496
+       .long   0
+       .long   1096810496
+       .long   0
+       .long   1096810496
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .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   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   1431655591
+       .long   3217380693
+       .long   1431655591
+       .long   3217380693
+       .long   1431655591
+       .long   3217380693
+       .long   1431655591
+       .long   3217380693
+       .long   1431655591
+       .long   3217380693
+       .long   1431655591
+       .long   3217380693
+       .long   1431655591
+       .long   3217380693
+       .long   1431655591
+       .long   3217380693
+       .long   286303399
+       .long   1065423121
+       .long   286303399
+       .long   1065423121
+       .long   286303399
+       .long   1065423121
+       .long   286303399
+       .long   1065423121
+       .long   286303399
+       .long   1065423121
+       .long   286303399
+       .long   1065423121
+       .long   286303399
+       .long   1065423121
+       .long   286303399
+       .long   1065423121
+       .long   286303400
+       .long   1065423121
+       .long   286303400
+       .long   1065423121
+       .long   286303400
+       .long   1065423121
+       .long   286303400
+       .long   1065423121
+       .long   286303400
+       .long   1065423121
+       .long   286303400
+       .long   1065423121
+       .long   286303400
+       .long   1065423121
+       .long   286303400
+       .long   1065423121
+       .long   430291067
+       .long   3207201184
+       .long   430291067
+       .long   3207201184
+       .long   430291067
+       .long   3207201184
+       .long   430291067
+       .long   3207201184
+       .long   430291067
+       .long   3207201184
+       .long   430291067
+       .long   3207201184
+       .long   430291067
+       .long   3207201184
+       .long   430291067
+       .long   3207201184
+       .long   2150694560
+       .long   1053236707
+       .long   2150694560
+       .long   1053236707
+       .long   2150694560
+       .long   1053236707
+       .long   2150694560
+       .long   1053236707
+       .long   2150694560
+       .long   1053236707
+       .long   2150694560
+       .long   1053236707
+       .long   2150694560
+       .long   1053236707
+       .long   2150694560
+       .long   1053236707
+       .long   1174413873
+       .long   3193628213
+       .long   1174413873
+       .long   3193628213
+       .long   1174413873
+       .long   3193628213
+       .long   1174413873
+       .long   3193628213
+       .long   1174413873
+       .long   3193628213
+       .long   1174413873
+       .long   3193628213
+       .long   1174413873
+       .long   3193628213
+       .long   1174413873
+       .long   3193628213
+       .long   1470296608
+       .long   1038487144
+       .long   1470296608
+       .long   1038487144
+       .long   1470296608
+       .long   1038487144
+       .long   1470296608
+       .long   1038487144
+       .long   1470296608
+       .long   1038487144
+       .long   1470296608
+       .long   1038487144
+       .long   1470296608
+       .long   1038487144
+       .long   1470296608
+       .long   1038487144
+       .long   135375560
+       .long   3177836758
+       .long   135375560
+       .long   3177836758
+       .long   135375560
+       .long   3177836758
+       .long   135375560
+       .long   3177836758
+       .long   135375560
+       .long   3177836758
+       .long   135375560
+       .long   3177836758
+       .long   135375560
+       .long   3177836758
+       .long   135375560
+       .long   3177836758
+       .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   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   0
+       .long   1127219200
+       .long   0
+       .long   1127219200
+       .long   0
+       .long   1127219200
+       .long   0
+       .long   1127219200
+       .long   0
+       .long   1127219200
+       .long   0
+       .long   1127219200
+       .long   0
+       .long   1127219200
+       .long   0
+       .long   1127219200
+       .long   4294967295
+       .long   1127219199
+       .long   4294967295
+       .long   1127219199
+       .long   4294967295
+       .long   1127219199
+       .long   4294967295
+       .long   1127219199
+       .long   4294967295
+       .long   1127219199
+       .long   4294967295
+       .long   1127219199
+       .long   4294967295
+       .long   1127219199
+       .long   4294967295
+       .long   1127219199
+       .long   8388606
+       .long   1127219200
+       .long   8388606
+       .long   1127219200
+       .long   8388606
+       .long   1127219200
+       .long   8388606
+       .long   1127219200
+       .long   8388606
+       .long   1127219200
+       .long   8388606
+       .long   1127219200
+       .long   8388606
+       .long   1127219200
+       .long   8388606
+       .long   1127219200
+       .long   0
+       .long   1044381696
+       .long   0
+       .long   1044381696
+       .long   0
+       .long   1044381696
+       .long   0
+       .long   1044381696
+       .long   0
+       .long   1044381696
+       .long   0
+       .long   1044381696
+       .long   0
+       .long   1044381696
+       .long   0
+       .long   1044381696
+       .type   __svml_dcos_data_internal,@object
+       .size   __svml_dcos_data_internal,1792
+       .align 64
+__svml_dcos_data_internal_ha:
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   210035182
+       .long   1064007864
+       .long   0
+       .long   3213885440
+       .long   379294427
+       .long   1072693090
+       .long   3221225472
+       .long   1015405987
+       .long   561145352
+       .long   1065056936
+       .long   0
+       .long   3214934016
+       .long   1619315981
+       .long   1072692616
+       .long   1073741824
+       .long   3162584397
+       .long   2896342633
+       .long   3212231467
+       .long   0
+       .long   3214934016
+       .long   4026464093
+       .long   1072691826
+       .long   3221225472
+       .long   3163075789
+       .long   1003003824
+       .long   1066107496
+       .long   0
+       .long   3215982592
+       .long   3816385918
+       .long   1072690721
+       .long   536870912
+       .long   3161216956
+       .long   3237733378
+       .long   1062425136
+       .long   0
+       .long   3215982592
+       .long   1703834029
+       .long   1072689301
+       .long   3758096384
+       .long   1015028364
+       .long   2523975598
+       .long   3213273348
+       .long   0
+       .long   3215982592
+       .long   2902558778
+       .long   1072687565
+       .long   3221225472
+       .long   1013260780
+       .long   711626851
+       .long   3214400320
+       .long   0
+       .long   3215982592
+       .long   4240268041
+       .long   1072685514
+       .long   536870912
+       .long   1013588963
+       .long   257503056
+       .long   1067164005
+       .long   0
+       .long   3217031168
+       .long   2748392742
+       .long   1072683149
+       .long   536870912
+       .long   3163061750
+       .long   3272206680
+       .long   1066288081
+       .long   0
+       .long   3217031168
+       .long   4251821691
+       .long   1072680469
+       .long   2147483648
+       .long   3161841007
+       .long   718380601
+       .long   1063597621
+       .long   0
+       .long   3217031168
+       .long   1893834707
+       .long   1072677476
+       .long   1610612736
+       .long   1015147654
+       .long   3987691371
+       .long   3213074188
+       .long   0
+       .long   3217031168
+       .long   1905645377
+       .long   1072674169
+       .long   1610612736
+       .long   1014087596
+       .long   1953696209
+       .long   3214295171
+       .long   0
+       .long   3217031168
+       .long   2131272983
+       .long   1072670549
+       .long   3221225472
+       .long   3163005096
+       .long   3299146087
+       .long   3215021530
+       .long   0
+       .long   3217031168
+       .long   617154971
+       .long   1072666617
+       .long   3758096384
+       .long   3163433696
+       .long   304938777
+       .long   3215427665
+       .long   0
+       .long   3217031168
+       .long   4201728937
+       .long   1072662372
+       .long   1610612736
+       .long   1014674006
+       .long   2034433221
+       .long   3215832935
+       .long   0
+       .long   3217031168
+       .long   2745245815
+       .long   1072657817
+       .long   3221225472
+       .long   1015566129
+       .long   240740309
+       .long   1068244255
+       .long   0
+       .long   3218079744
+       .long   3489094832
+       .long   1072652951
+       .long   536870912
+       .long   1014325783
+       .long   1765797566
+       .long   1067840895
+       .long   0
+       .long   3218079744
+       .long   990588717
+       .long   1072647776
+       .long   3758096384
+       .long   3162041857
+       .long   2886567144
+       .long   1067426796
+       .long   0
+       .long   3218079744
+       .long   2892293513
+       .long   1072642291
+       .long   2684354560
+       .long   3162340271
+       .long   3587565429
+       .long   1066624384
+       .long   0
+       .long   3218079744
+       .long   4151720666
+       .long   1072636498
+       .long   0
+       .long   3162639544
+       .long   2614369450
+       .long   1065140432
+       .long   0
+       .long   3218079744
+       .long   4220661975
+       .long   1072630398
+       .long   3221225472
+       .long   1014312058
+       .long   2382326656
+       .long   3212045827
+       .long   0
+       .long   3218079744
+       .long   2749658050
+       .long   1072623992
+       .long   1610612736
+       .long   1015427338
+       .long   723478390
+       .long   3213958438
+       .long   0
+       .long   3218079744
+       .long   3882371427
+       .long   1072617280
+       .long   2147483648
+       .long   1014923975
+       .long   4107121629
+       .long   3214750787
+       .long   0
+       .long   3218079744
+       .long   3370060660
+       .long   1072610264
+       .long   1610612736
+       .long   1014787212
+       .long   1991047213
+       .long   3215237169
+       .long   0
+       .long   3218079744
+       .long   1455828442
+       .long   1072602945
+       .long   3758096384
+       .long   1015505073
+       .long   386665102
+       .long   3215630470
+       .long   0
+       .long   3218079744
+       .long   2873938189
+       .long   1072595323
+       .long   1610612736
+       .long   3162311422
+       .long   1348311045
+       .long   3216002418
+       .long   0
+       .long   3218079744
+       .long   3964199186
+       .long   1072587400
+       .long   3758096384
+       .long   3160501078
+       .long   165911977
+       .long   3216197513
+       .long   0
+       .long   3218079744
+       .long   1261158782
+       .long   1072579178
+       .long   2147483648
+       .long   1015711544
+       .long   3601629044
+       .long   3216391785
+       .long   0
+       .long   3218079744
+       .long   83265253
+       .long   1072570657
+       .long   1610612736
+       .long   3162510535
+       .long   1962712856
+       .long   3216585207
+       .long   0
+       .long   3218079744
+       .long   1647164971
+       .long   1072561838
+       .long   2147483648
+       .long   3162838250
+       .long   3286832763
+       .long   3216777748
+       .long   0
+       .long   3218079744
+       .long   3066872380
+       .long   1072552723
+       .long   3221225472
+       .long   1015561271
+       .long   3296146332
+       .long   3216969380
+       .long   0
+       .long   3218079744
+       .long   1647878299
+       .long   1072543314
+       .long   3758096384
+       .long   3162169063
+       .long   1699043957
+       .long   1069418613
+       .long   0
+       .long   3219128320
+       .long   3476196678
+       .long   1072533611
+       .long   0
+       .long   1014257638
+       .long   1896722595
+       .long   1069228886
+       .long   0
+       .long   3219128320
+       .long   1942611595
+       .long   1072523617
+       .long   3221225472
+       .long   3162410081
+       .long   4049357271
+       .long   1069040154
+       .long   0
+       .long   3219128320
+       .long   3511535930
+       .long   1072513332
+       .long   2147483648
+       .long   3162828626
+       .long   1380647130
+       .long   1068852447
+       .long   0
+       .long   3219128320
+       .long   1950234076
+       .long   1072502759
+       .long   536870912
+       .long   3159425498
+       .long   3631910143
+       .long   1068665791
+       .long   0
+       .long   3219128320
+       .long   4097623923
+       .long   1072491898
+       .long   2684354560
+       .long   3160308587
+       .long   1073154251
+       .long   1068461489
+       .long   0
+       .long   3219128320
+       .long   4093443164
+       .long   1072480752
+       .long   536870912
+       .long   1014912865
+       .long   913431823
+       .long   1068092555
+       .long   0
+       .long   3219128320
+       .long   557060597
+       .long   1072469323
+       .long   0
+       .long   3159554934
+       .long   600368053
+       .long   1067725893
+       .long   0
+       .long   3219128320
+       .long   881357723
+       .long   1072457611
+       .long   3221225472
+       .long   1013810890
+       .long   2140183630
+       .long   1067272748
+       .long   0
+       .long   3219128320
+       .long   4051746225
+       .long   1072445618
+       .long   1610612736
+       .long   3161907377
+       .long   3506991783
+       .long   1066548842
+       .long   0
+       .long   3219128320
+       .long   645027145
+       .long   1072433348
+       .long   3221225472
+       .long   1012602239
+       .long   31019393
+       .long   1065162441
+       .long   0
+       .long   3219128320
+       .long   2892993834
+       .long   1072420800
+       .long   536870912
+       .long   3163039143
+       .long   1279178457
+       .long   3211590791
+       .long   0
+       .long   3219128320
+       .long   1731563730
+       .long   1072407978
+       .long   536870912
+       .long   1015540302
+       .long   1220541286
+       .long   3213681126
+       .long   0
+       .long   3219128320
+       .long   1159294526
+       .long   1072394883
+       .long   536870912
+       .long   3163276959
+       .long   2880516564
+       .long   3214487049
+       .long   0
+       .long   3219128320
+       .long   1056266002
+       .long   1072381517
+       .long   2684354560
+       .long   3163469496
+       .long   1102361128
+       .long   3215059765
+       .long   0
+       .long   3219128320
+       .long   1477771776
+       .long   1072367882
+       .long   536870912
+       .long   3163104986
+       .long   1038988426
+       .long   3215406294
+       .long   0
+       .long   3219128320
+       .long   2653017361
+       .long   1072353980
+       .long   0
+       .long   3162800062
+       .long   2598800519
+       .long   3215750067
+       .long   0
+       .long   3219128320
+       .long   688824739
+       .long   1072339814
+       .long   3758096384
+       .long   1010431536
+       .long   3382663878
+       .long   3216036812
+       .long   0
+       .long   3219128320
+       .long   453180130
+       .long   1072325385
+       .long   1073741824
+       .long   3162411281
+       .long   1726519029
+       .long   3216205866
+       .long   0
+       .long   3219128320
+       .long   2688952194
+       .long   1072310695
+       .long   0
+       .long   3161532603
+       .long   802660176
+       .long   3216373465
+       .long   0
+       .long   3219128320
+       .long   4012486548
+       .long   1072295747
+       .long   2684354560
+       .long   1014701564
+       .long   3876290983
+       .long   3216539583
+       .long   0
+       .long   3219128320
+       .long   1207142209
+       .long   1072280544
+       .long   2147483648
+       .long   3162705634
+       .long   2285031318
+       .long   3216704197
+       .long   0
+       .long   3219128320
+       .long   4106737474
+       .long   1072265086
+       .long   2684354560
+       .long   3162592377
+       .long   1224902090
+       .long   3216867281
+       .long   0
+       .long   3219128320
+       .long   1234330619
+       .long   1072249378
+       .long   2684354560
+       .long   1015272473
+       .long   2586490530
+       .long   3217028810
+       .long   0
+       .long   3219128320
+       .long   2750387213
+       .long   1072233420
+       .long   2147483648
+       .long   3160858537
+       .long   2485417816
+       .long   3217109964
+       .long   0
+       .long   3219128320
+       .long   1796544321
+       .long   1072217216
+       .long   536870912
+       .long   3162686945
+       .long   1852581091
+       .long   3217189138
+       .long   0
+       .long   3219128320
+       .long   263859903
+       .long   1072200768
+       .long   0
+       .long   3162692284
+       .long   4019165092
+       .long   3217267498
+       .long   0
+       .long   3219128320
+       .long   201299822
+       .long   1072184078
+       .long   3758096384
+       .long   3161912352
+       .long   1250776663
+       .long   3217345034
+       .long   0
+       .long   3219128320
+       .long   3814135665
+       .long   1072167148
+       .long   3221225472
+       .long   3163146456
+       .long   3526603391
+       .long   3217421732
+       .long   0
+       .long   3219128320
+       .long   577417135
+       .long   1072149983
+       .long   2684354560
+       .long   3161519415
+       .long   4187227697
+       .long   3217497582
+       .long   0
+       .long   3219128320
+       .long   1594061409
+       .long   1072132583
+       .long   2147483648
+       .long   1014353870
+       .long   1416934267
+       .long   3217572573
+       .long   0
+       .long   3219128320
+       .long   938475414
+       .long   1072114952
+       .long   0
+       .long   1015076079
+       .long   2546065654
+       .long   3217646692
+       .long   0
+       .long   3219128320
+       .long   1424664751
+       .long   1072097092
+       .long   3221225472
+       .long   3163405315
+       .long   2583490354
+       .long   3217719929
+       .long   0
+       .long   3219128320
+       .long   1719614413
+       .long   1072079006
+       .long   0
+       .long   3163282740
+       .long   1403691706
+       .long   3217792273
+       .long   0
+       .long   3219128320
+       .long   636516413
+       .long   1072060697
+       .long   3758096384
+       .long   1015823716
+       .long   3753901657
+       .long   3217863712
+       .long   0
+       .long   3219128320
+       .long   1427975391
+       .long   1072042167
+       .long   1073741824
+       .long   3161608627
+       .long   2081278341
+       .long   3217934237
+       .long   0
+       .long   3219128320
+       .long   3194290572
+       .long   1072023419
+       .long   2147483648
+       .long   1015048682
+       .long   2309668539
+       .long   3218003836
+       .long   0
+       .long   3219128320
+       .long   881650848
+       .long   1072004457
+       .long   2147483648
+       .long   3162986272
+       .long   2371640770
+       .long   3218072499
+       .long   0
+       .long   3219128320
+       .long   2460177814
+       .long   1071985282
+       .long   2147483648
+       .long   3162116843
+       .long   3489768009
+       .long   1070535623
+       .long   0
+       .long   3220176896
+       .long   3152274921
+       .long   1071965898
+       .long   3758096384
+       .long   1013170835
+       .long   3239527685
+       .long   1070468863
+       .long   0
+       .long   3220176896
+       .long   2610628921
+       .long   1071946308
+       .long   1610612736
+       .long   3162668769
+       .long   1403757309
+       .long   1070403070
+       .long   0
+       .long   3220176896
+       .long   621354454
+       .long   1071926515
+       .long   536870912
+       .long   1013450602
+       .long   1883353036
+       .long   1070338253
+       .long   0
+       .long   3220176896
+       .long   1397053140
+       .long   1071906521
+       .long   1610612736
+       .long   1015245078
+       .long   3652612115
+       .long   1070274422
+       .long   0
+       .long   3220176896
+       .long   689983673
+       .long   1071886330
+       .long   3758096384
+       .long   1014906405
+       .long   752919289
+       .long   1070211588
+       .long   0
+       .long   3220176896
+       .long   2969983475
+       .long   1071865944
+       .long   2684354560
+       .long   3162635443
+       .long   3761365757
+       .long   1070149758
+       .long   0
+       .long   3220176896
+       .long   4242632757
+       .long   1071845367
+       .long   536870912
+       .long   3161390278
+       .long   1129922991
+       .long   1070088944
+       .long   0
+       .long   3220176896
+       .long   637203434
+       .long   1071824603
+       .long   3221225472
+       .long   3159443841
+       .long   2129093113
+       .long   1070029153
+       .long   0
+       .long   3220176896
+       .long   1289556703
+       .long   1071803653
+       .long   536870912
+       .long   3162888820
+       .long   2482246777
+       .long   1069970395
+       .long   0
+       .long   3220176896
+       .long   2570316633
+       .long   1071782521
+       .long   1610612736
+       .long   3162744753
+       .long   1539668340
+       .long   1069912679
+       .long   0
+       .long   3220176896
+       .long   967731400
+       .long   1071761211
+       .long   536870912
+       .long   1015752157
+       .long   2272832445
+       .long   1069856013
+       .long   0
+       .long   3220176896
+       .long   1675549513
+       .long   1071739725
+       .long   3221225472
+       .long   3163025138
+       .long   2678847490
+       .long   1069800406
+       .long   0
+       .long   3220176896
+       .long   1411074851
+       .long   1071718067
+       .long   1610612736
+       .long   3163484731
+       .long   69903290
+       .long   1069745867
+       .long   0
+       .long   3220176896
+       .long   1297975695
+       .long   1071696240
+       .long   3221225472
+       .long   3163083735
+       .long   3952756490
+       .long   1069692402
+       .long   0
+       .long   3220176896
+       .long   2569207790
+       .long   1071674247
+       .long   1073741824
+       .long   3163183617
+       .long   1663679671
+       .long   1069640022
+       .long   0
+       .long   3220176896
+       .long   2269920951
+       .long   1071652092
+       .long   3758096384
+       .long   3161672245
+       .long   1312926554
+       .long   1069588733
+       .long   0
+       .long   3220176896
+       .long   3690502842
+       .long   1071614884
+       .long   3221225472
+       .long   3157453855
+       .long   3429717432
+       .long   1069529566
+       .long   0
+       .long   3220176896
+       .long   1391425750
+       .long   1071569945
+       .long   3221225472
+       .long   3162362103
+       .long   1945768569
+       .long   1069431400
+       .long   0
+       .long   3220176896
+       .long   939980347
+       .long   1071524701
+       .long   0
+       .long   1012796809
+       .long   1539072807
+       .long   1069335462
+       .long   0
+       .long   3220176896
+       .long   1535566729
+       .long   1071479159
+       .long   2147483648
+       .long   1014321388
+       .long   4133449816
+       .long   1069241766
+       .long   0
+       .long   3220176896
+       .long   2570175582
+       .long   1071433326
+       .long   1073741824
+       .long   1012303118
+       .long   1612193054
+       .long   1069150328
+       .long   0
+       .long   3220176896
+       .long   3623952103
+       .long   1071387209
+       .long   2684354560
+       .long   3161985962
+       .long   1578746984
+       .long   1069061160
+       .long   0
+       .long   3220176896
+       .long   165764288
+       .long   1071340816
+       .long   3221225472
+       .long   1013298018
+       .long   1577996576
+       .long   1068974276
+       .long   0
+       .long   3220176896
+       .long   728580042
+       .long   1071294152
+       .long   1610612736
+       .long   3162332944
+       .long   1972483635
+       .long   1068889689
+       .long   0
+       .long   3220176896
+       .long   1135144330
+       .long   1071247225
+       .long   536870912
+       .long   1013373569
+       .long   1638976426
+       .long   1068807412
+       .long   0
+       .long   3220176896
+       .long   1673302999
+       .long   1071200042
+       .long   2147483648
+       .long   1013351473
+       .long   2255197647
+       .long   1068727457
+       .long   0
+       .long   3220176896
+       .long   2796464483
+       .long   1071152610
+       .long   3221225472
+       .long   3160878317
+       .long   3996842794
+       .long   1068649836
+       .long   0
+       .long   3220176896
+       .long   824036583
+       .long   1071104937
+       .long   0
+       .long   1008313330
+       .long   1234824733
+       .long   1068574562
+       .long   0
+       .long   3220176896
+       .long   821708191
+       .long   1071057029
+       .long   3758096384
+       .long   3161738009
+       .long   4002549419
+       .long   1068501644
+       .long   0
+       .long   3220176896
+       .long   3711903686
+       .long   1071008893
+       .long   1073741824
+       .long   1011944747
+       .long   2962723252
+       .long   1068363247
+       .long   0
+       .long   3220176896
+       .long   1974149085
+       .long   1070960538
+       .long   3221225472
+       .long   3156147648
+       .long   1296295961
+       .long   1068226907
+       .long   0
+       .long   3220176896
+       .long   1115219818
+       .long   1070911970
+       .long   0
+       .long   1013072242
+       .long   997322465
+       .long   1068095345
+       .long   0
+       .long   3220176896
+       .long   2484561409
+       .long   1070863196
+       .long   1073741824
+       .long   1014024572
+       .long   1261629236
+       .long   1067968581
+       .long   0
+       .long   3220176896
+       .long   3269558610
+       .long   1070814224
+       .long   536870912
+       .long   3161705216
+       .long   2476548698
+       .long   1067846634
+       .long   0
+       .long   3220176896
+       .long   785751814
+       .long   1070765062
+       .long   2684354560
+       .long   3161838221
+       .long   1913604284
+       .long   1067729523
+       .long   0
+       .long   3220176896
+       .long   1062001470
+       .long   1070715716
+       .long   0
+       .long   3160875220
+       .long   2306566604
+       .long   1067617265
+       .long   0
+       .long   3220176896
+       .long   1655830135
+       .long   1070666194
+       .long   0
+       .long   1014506690
+       .long   3250111450
+       .long   1067509877
+       .long   0
+       .long   3220176896
+       .long   238550446
+       .long   1070616504
+       .long   2684354560
+       .long   3154383565
+       .long   2377770267
+       .long   1067364384
+       .long   0
+       .long   3220176896
+       .long   2065784603
+       .long   1070537209
+       .long   3758096384
+       .long   3160681966
+       .long   288924873
+       .long   1067169185
+       .long   0
+       .long   3220176896
+       .long   3846521617
+       .long   1070437199
+       .long   536870912
+       .long   1013406610
+       .long   1935888103
+       .long   1066983818
+       .long   0
+       .long   3220176896
+       .long   1786662755
+       .long   1070336898
+       .long   2147483648
+       .long   3155882307
+       .long   2660899430
+       .long   1066808312
+       .long   0
+       .long   3220176896
+       .long   632292433
+       .long   1070236320
+       .long   3758096384
+       .long   3160963333
+       .long   18115067
+       .long   1066642694
+       .long   0
+       .long   3220176896
+       .long   1013556747
+       .long   1070135480
+       .long   2684354560
+       .long   3160567065
+       .long   2346447124
+       .long   1066486987
+       .long   0
+       .long   3220176896
+       .long   3729833777
+       .long   1070034393
+       .long   3758096384
+       .long   1013044718
+       .long   1672287667
+       .long   1066280641
+       .long   0
+       .long   3220176896
+       .long   1149976518
+       .long   1069933076
+       .long   1610612736
+       .long   1013264895
+       .long   3451754846
+       .long   1066009014
+       .long   0
+       .long   3220176896
+       .long   2972270170
+       .long   1069831542
+       .long   1073741824
+       .long   3159524770
+       .long   1037482584
+       .long   1065757344
+       .long   0
+       .long   3220176896
+       .long   1854824762
+       .long   1069729808
+       .long   2684354560
+       .long   1011953664
+       .long   2592747447
+       .long   1065525667
+       .long   0
+       .long   3220176896
+       .long   3470456183
+       .long   1069627888
+       .long   1073741824
+       .long   3160744771
+       .long   2402293340
+       .long   1065274823
+       .long   0
+       .long   3220176896
+       .long   1453945614
+       .long   1069504078
+       .long   1610612736
+       .long   1011492612
+       .long   1227670166
+       .long   1064891649
+       .long   0
+       .long   3220176896
+       .long   3349070549
+       .long   1069299589
+       .long   3758096384
+       .long   3156538269
+       .long   393047345
+       .long   1064548654
+       .long   0
+       .long   3220176896
+       .long   3156849708
+       .long   1069094822
+       .long   3221225472
+       .long   3158189848
+       .long   1118107366
+       .long   1064187139
+       .long   0
+       .long   3220176896
+       .long   177906713
+       .long   1068889808
+       .long   3221225472
+       .long   3159310370
+       .long   4269262315
+       .long   1063662162
+       .long   0
+       .long   3220176896
+       .long   2462980598
+       .long   1068684576
+       .long   2684354560
+       .long   3158941832
+       .long   3810305407
+       .long   1063179572
+       .long   0
+       .long   3220176896
+       .long   2046304480
+       .long   1068459374
+       .long   3758096384
+       .long   3156402667
+       .long   220529721
+       .long   1062452281
+       .long   0
+       .long   3220176896
+       .long   4044216340
+       .long   1068048229
+       .long   0
+       .long   3156808381
+       .long   69373323
+       .long   1061565504
+       .long   0
+       .long   3220176896
+       .long   1972655565
+       .long   1067636837
+       .long   1073741824
+       .long   1009157878
+       .long   3650591271
+       .long   1060355323
+       .long   0
+       .long   3220176896
+       .long   4154680958
+       .long   1067000149
+       .long   0
+       .long   3153796451
+       .long   2376373521
+       .long   1058258220
+       .long   0
+       .long   3220176896
+       .long   4242458500
+       .long   1065951697
+       .long   2684354560
+       .long   1009354638
+       .long   0
+       .long   0
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2376373521
+       .long   1058258220
+       .long   0
+       .long   3220176896
+       .long   4242458500
+       .long   3213435345
+       .long   2684354560
+       .long   3156838286
+       .long   3650591271
+       .long   1060355323
+       .long   0
+       .long   3220176896
+       .long   4154680958
+       .long   3214483797
+       .long   0
+       .long   1006312803
+       .long   69373323
+       .long   1061565504
+       .long   0
+       .long   3220176896
+       .long   1972655565
+       .long   3215120485
+       .long   1073741824
+       .long   3156641526
+       .long   220529721
+       .long   1062452281
+       .long   0
+       .long   3220176896
+       .long   4044216340
+       .long   3215531877
+       .long   0
+       .long   1009324733
+       .long   3810305407
+       .long   1063179572
+       .long   0
+       .long   3220176896
+       .long   2046304480
+       .long   3215943022
+       .long   3758096384
+       .long   1008919019
+       .long   4269262315
+       .long   1063662162
+       .long   0
+       .long   3220176896
+       .long   2462980598
+       .long   3216168224
+       .long   2684354560
+       .long   1011458184
+       .long   1118107366
+       .long   1064187139
+       .long   0
+       .long   3220176896
+       .long   177906713
+       .long   3216373456
+       .long   3221225472
+       .long   1011826722
+       .long   393047345
+       .long   1064548654
+       .long   0
+       .long   3220176896
+       .long   3156849708
+       .long   3216578470
+       .long   3221225472
+       .long   1010706200
+       .long   1227670166
+       .long   1064891649
+       .long   0
+       .long   3220176896
+       .long   3349070549
+       .long   3216783237
+       .long   3758096384
+       .long   1009054621
+       .long   2402293340
+       .long   1065274823
+       .long   0
+       .long   3220176896
+       .long   1453945614
+       .long   3216987726
+       .long   1610612736
+       .long   3158976260
+       .long   2592747447
+       .long   1065525667
+       .long   0
+       .long   3220176896
+       .long   3470456183
+       .long   3217111536
+       .long   1073741824
+       .long   1013261123
+       .long   1037482584
+       .long   1065757344
+       .long   0
+       .long   3220176896
+       .long   1854824762
+       .long   3217213456
+       .long   2684354560
+       .long   3159437312
+       .long   3451754846
+       .long   1066009014
+       .long   0
+       .long   3220176896
+       .long   2972270170
+       .long   3217315190
+       .long   1073741824
+       .long   1012041122
+       .long   1672287667
+       .long   1066280641
+       .long   0
+       .long   3220176896
+       .long   1149976518
+       .long   3217416724
+       .long   1610612736
+       .long   3160748543
+       .long   2346447124
+       .long   1066486987
+       .long   0
+       .long   3220176896
+       .long   3729833777
+       .long   3217518041
+       .long   3758096384
+       .long   3160528366
+       .long   18115067
+       .long   1066642694
+       .long   0
+       .long   3220176896
+       .long   1013556747
+       .long   3217619128
+       .long   2684354560
+       .long   1013083417
+       .long   2660899430
+       .long   1066808312
+       .long   0
+       .long   3220176896
+       .long   632292433
+       .long   3217719968
+       .long   3758096384
+       .long   1013479685
+       .long   1935888103
+       .long   1066983818
+       .long   0
+       .long   3220176896
+       .long   1786662755
+       .long   3217820546
+       .long   2147483648
+       .long   1008398659
+       .long   288924873
+       .long   1067169185
+       .long   0
+       .long   3220176896
+       .long   3846521617
+       .long   3217920847
+       .long   536870912
+       .long   3160890258
+       .long   2377770267
+       .long   1067364384
+       .long   0
+       .long   3220176896
+       .long   2065784603
+       .long   3218020857
+       .long   3758096384
+       .long   1013198318
+       .long   3250111450
+       .long   1067509877
+       .long   0
+       .long   3220176896
+       .long   238550446
+       .long   3218100152
+       .long   2684354560
+       .long   1006899917
+       .long   2306566604
+       .long   1067617265
+       .long   0
+       .long   3220176896
+       .long   1655830135
+       .long   3218149842
+       .long   0
+       .long   3161990338
+       .long   1913604284
+       .long   1067729523
+       .long   0
+       .long   3220176896
+       .long   1062001470
+       .long   3218199364
+       .long   0
+       .long   1013391572
+       .long   2476548698
+       .long   1067846634
+       .long   0
+       .long   3220176896
+       .long   785751814
+       .long   3218248710
+       .long   2684354560
+       .long   1014354573
+       .long   1261629236
+       .long   1067968581
+       .long   0
+       .long   3220176896
+       .long   3269558610
+       .long   3218297872
+       .long   536870912
+       .long   1014221568
+       .long   997322465
+       .long   1068095345
+       .long   0
+       .long   3220176896
+       .long   2484561409
+       .long   3218346844
+       .long   1073741824
+       .long   3161508220
+       .long   1296295961
+       .long   1068226907
+       .long   0
+       .long   3220176896
+       .long   1115219818
+       .long   3218395618
+       .long   0
+       .long   3160555890
+       .long   2962723252
+       .long   1068363247
+       .long   0
+       .long   3220176896
+       .long   1974149085
+       .long   3218444186
+       .long   3221225472
+       .long   1008664000
+       .long   4002549419
+       .long   1068501644
+       .long   0
+       .long   3220176896
+       .long   3711903686
+       .long   3218492541
+       .long   1073741824
+       .long   3159428395
+       .long   1234824733
+       .long   1068574562
+       .long   0
+       .long   3220176896
+       .long   821708191
+       .long   3218540677
+       .long   3758096384
+       .long   1014254361
+       .long   3996842794
+       .long   1068649836
+       .long   0
+       .long   3220176896
+       .long   824036583
+       .long   3218588585
+       .long   0
+       .long   3155796978
+       .long   2255197647
+       .long   1068727457
+       .long   0
+       .long   3220176896
+       .long   2796464483
+       .long   3218636258
+       .long   3221225472
+       .long   1013394669
+       .long   1638976426
+       .long   1068807412
+       .long   0
+       .long   3220176896
+       .long   1673302999
+       .long   3218683690
+       .long   2147483648
+       .long   3160835121
+       .long   1972483635
+       .long   1068889689
+       .long   0
+       .long   3220176896
+       .long   1135144330
+       .long   3218730873
+       .long   536870912
+       .long   3160857217
+       .long   1577996576
+       .long   1068974276
+       .long   0
+       .long   3220176896
+       .long   728580042
+       .long   3218777800
+       .long   1610612736
+       .long   1014849296
+       .long   1578746984
+       .long   1069061160
+       .long   0
+       .long   3220176896
+       .long   165764288
+       .long   3218824464
+       .long   3221225472
+       .long   3160781666
+       .long   1612193054
+       .long   1069150328
+       .long   0
+       .long   3220176896
+       .long   3623952103
+       .long   3218870857
+       .long   2684354560
+       .long   1014502314
+       .long   4133449816
+       .long   1069241766
+       .long   0
+       .long   3220176896
+       .long   2570175582
+       .long   3218916974
+       .long   1073741824
+       .long   3159786766
+       .long   1539072807
+       .long   1069335462
+       .long   0
+       .long   3220176896
+       .long   1535566729
+       .long   3218962807
+       .long   2147483648
+       .long   3161805036
+       .long   1945768569
+       .long   1069431400
+       .long   0
+       .long   3220176896
+       .long   939980347
+       .long   3219008349
+       .long   0
+       .long   3160280457
+       .long   3429717432
+       .long   1069529566
+       .long   0
+       .long   3220176896
+       .long   1391425750
+       .long   3219053593
+       .long   3221225472
+       .long   1014878455
+       .long   1312926554
+       .long   1069588733
+       .long   0
+       .long   3220176896
+       .long   3690502842
+       .long   3219098532
+       .long   3221225472
+       .long   1009970207
+       .long   1663679671
+       .long   1069640022
+       .long   0
+       .long   3220176896
+       .long   2269920951
+       .long   3219135740
+       .long   3758096384
+       .long   1014188597
+       .long   3952756490
+       .long   1069692402
+       .long   0
+       .long   3220176896
+       .long   2569207790
+       .long   3219157895
+       .long   1073741824
+       .long   1015699969
+       .long   69903290
+       .long   1069745867
+       .long   0
+       .long   3220176896
+       .long   1297975695
+       .long   3219179888
+       .long   3221225472
+       .long   1015600087
+       .long   2678847490
+       .long   1069800406
+       .long   0
+       .long   3220176896
+       .long   1411074851
+       .long   3219201715
+       .long   1610612736
+       .long   1016001083
+       .long   2272832445
+       .long   1069856013
+       .long   0
+       .long   3220176896
+       .long   1675549513
+       .long   3219223373
+       .long   3221225472
+       .long   1015541490
+       .long   1539668340
+       .long   1069912679
+       .long   0
+       .long   3220176896
+       .long   967731400
+       .long   3219244859
+       .long   536870912
+       .long   3163235805
+       .long   2482246777
+       .long   1069970395
+       .long   0
+       .long   3220176896
+       .long   2570316633
+       .long   3219266169
+       .long   1610612736
+       .long   1015261105
+       .long   2129093113
+       .long   1070029153
+       .long   0
+       .long   3220176896
+       .long   1289556703
+       .long   3219287301
+       .long   536870912
+       .long   1015405172
+       .long   1129922991
+       .long   1070088944
+       .long   0
+       .long   3220176896
+       .long   637203434
+       .long   3219308251
+       .long   3221225472
+       .long   1011960193
+       .long   3761365757
+       .long   1070149758
+       .long   0
+       .long   3220176896
+       .long   4242632757
+       .long   3219329015
+       .long   536870912
+       .long   1013906630
+       .long   752919289
+       .long   1070211588
+       .long   0
+       .long   3220176896
+       .long   2969983475
+       .long   3219349592
+       .long   2684354560
+       .long   1015151795
+       .long   3652612115
+       .long   1070274422
+       .long   0
+       .long   3220176896
+       .long   689983673
+       .long   3219369978
+       .long   3758096384
+       .long   3162390053
+       .long   1883353036
+       .long   1070338253
+       .long   0
+       .long   3220176896
+       .long   1397053140
+       .long   3219390169
+       .long   1610612736
+       .long   3162728726
+       .long   1403757309
+       .long   1070403070
+       .long   0
+       .long   3220176896
+       .long   621354454
+       .long   3219410163
+       .long   536870912
+       .long   3160934250
+       .long   3239527685
+       .long   1070468863
+       .long   0
+       .long   3220176896
+       .long   2610628921
+       .long   3219429956
+       .long   1610612736
+       .long   1015185121
+       .long   3489768009
+       .long   1070535623
+       .long   0
+       .long   3220176896
+       .long   3152274921
+       .long   3219449546
+       .long   3758096384
+       .long   3160654483
+       .long   2371640770
+       .long   3218072499
+       .long   0
+       .long   3219128320
+       .long   2460177814
+       .long   3219468930
+       .long   2147483648
+       .long   1014633195
+       .long   2309668539
+       .long   3218003836
+       .long   0
+       .long   3219128320
+       .long   881650848
+       .long   3219488105
+       .long   2147483648
+       .long   1015502624
+       .long   2081278341
+       .long   3217934237
+       .long   0
+       .long   3219128320
+       .long   3194290572
+       .long   3219507067
+       .long   2147483648
+       .long   3162532330
+       .long   3753901657
+       .long   3217863712
+       .long   0
+       .long   3219128320
+       .long   1427975391
+       .long   3219525815
+       .long   1073741824
+       .long   1014124979
+       .long   1403691706
+       .long   3217792273
+       .long   0
+       .long   3219128320
+       .long   636516413
+       .long   3219544345
+       .long   3758096384
+       .long   3163307364
+       .long   2583490354
+       .long   3217719929
+       .long   0
+       .long   3219128320
+       .long   1719614413
+       .long   3219562654
+       .long   0
+       .long   1015799092
+       .long   2546065654
+       .long   3217646692
+       .long   0
+       .long   3219128320
+       .long   1424664751
+       .long   3219580740
+       .long   3221225472
+       .long   1015921667
+       .long   1416934267
+       .long   3217572573
+       .long   0
+       .long   3219128320
+       .long   938475414
+       .long   3219598600
+       .long   0
+       .long   3162559727
+       .long   4187227697
+       .long   3217497582
+       .long   0
+       .long   3219128320
+       .long   1594061409
+       .long   3219616231
+       .long   2147483648
+       .long   3161837518
+       .long   3526603391
+       .long   3217421732
+       .long   0
+       .long   3219128320
+       .long   577417135
+       .long   3219633631
+       .long   2684354560
+       .long   1014035767
+       .long   1250776663
+       .long   3217345034
+       .long   0
+       .long   3219128320
+       .long   3814135665
+       .long   3219650796
+       .long   3221225472
+       .long   1015662808
+       .long   4019165092
+       .long   3217267498
+       .long   0
+       .long   3219128320
+       .long   201299822
+       .long   3219667726
+       .long   3758096384
+       .long   1014428704
+       .long   1852581091
+       .long   3217189138
+       .long   0
+       .long   3219128320
+       .long   263859903
+       .long   3219684416
+       .long   0
+       .long   1015208636
+       .long   2485417816
+       .long   3217109964
+       .long   0
+       .long   3219128320
+       .long   1796544321
+       .long   3219700864
+       .long   536870912
+       .long   1015203297
+       .long   2586490530
+       .long   3217028810
+       .long   0
+       .long   3219128320
+       .long   2750387213
+       .long   3219717068
+       .long   2147483648
+       .long   1013374889
+       .long   1224902090
+       .long   3216867281
+       .long   0
+       .long   3219128320
+       .long   1234330619
+       .long   3219733026
+       .long   2684354560
+       .long   3162756121
+       .long   2285031318
+       .long   3216704197
+       .long   0
+       .long   3219128320
+       .long   4106737474
+       .long   3219748734
+       .long   2684354560
+       .long   1015108729
+       .long   3876290983
+       .long   3216539583
+       .long   0
+       .long   3219128320
+       .long   1207142209
+       .long   3219764192
+       .long   2147483648
+       .long   1015221986
+       .long   802660176
+       .long   3216373465
+       .long   0
+       .long   3219128320
+       .long   4012486548
+       .long   3219779395
+       .long   2684354560
+       .long   3162185212
+       .long   1726519029
+       .long   3216205866
+       .long   0
+       .long   3219128320
+       .long   2688952194
+       .long   3219794343
+       .long   0
+       .long   1014048955
+       .long   3382663878
+       .long   3216036812
+       .long   0
+       .long   3219128320
+       .long   453180130
+       .long   3219809033
+       .long   1073741824
+       .long   1014927633
+       .long   2598800519
+       .long   3215750067
+       .long   0
+       .long   3219128320
+       .long   688824739
+       .long   3219823462
+       .long   3758096384
+       .long   3157915184
+       .long   1038988426
+       .long   3215406294
+       .long   0
+       .long   3219128320
+       .long   2653017361
+       .long   3219837628
+       .long   0
+       .long   1015316414
+       .long   1102361128
+       .long   3215059765
+       .long   0
+       .long   3219128320
+       .long   1477771776
+       .long   3219851530
+       .long   536870912
+       .long   1015621338
+       .long   2880516564
+       .long   3214487049
+       .long   0
+       .long   3219128320
+       .long   1056266002
+       .long   3219865165
+       .long   2684354560
+       .long   1015985848
+       .long   1220541286
+       .long   3213681126
+       .long   0
+       .long   3219128320
+       .long   1159294526
+       .long   3219878531
+       .long   536870912
+       .long   1015793311
+       .long   1279178457
+       .long   3211590791
+       .long   0
+       .long   3219128320
+       .long   1731563730
+       .long   3219891626
+       .long   536870912
+       .long   3163023950
+       .long   31019393
+       .long   1065162441
+       .long   0
+       .long   3219128320
+       .long   2892993834
+       .long   3219904448
+       .long   536870912
+       .long   1015555495
+       .long   3506991783
+       .long   1066548842
+       .long   0
+       .long   3219128320
+       .long   645027145
+       .long   3219916996
+       .long   3221225472
+       .long   3160085887
+       .long   2140183630
+       .long   1067272748
+       .long   0
+       .long   3219128320
+       .long   4051746225
+       .long   3219929266
+       .long   1610612736
+       .long   1014423729
+       .long   600368053
+       .long   1067725893
+       .long   0
+       .long   3219128320
+       .long   881357723
+       .long   3219941259
+       .long   3221225472
+       .long   3161294538
+       .long   913431823
+       .long   1068092555
+       .long   0
+       .long   3219128320
+       .long   557060597
+       .long   3219952971
+       .long   0
+       .long   1012071286
+       .long   1073154251
+       .long   1068461489
+       .long   0
+       .long   3219128320
+       .long   4093443164
+       .long   3219964400
+       .long   536870912
+       .long   3162396513
+       .long   3631910143
+       .long   1068665791
+       .long   0
+       .long   3219128320
+       .long   4097623923
+       .long   3219975546
+       .long   2684354560
+       .long   1012824939
+       .long   1380647130
+       .long   1068852447
+       .long   0
+       .long   3219128320
+       .long   1950234076
+       .long   3219986407
+       .long   536870912
+       .long   1011941850
+       .long   4049357271
+       .long   1069040154
+       .long   0
+       .long   3219128320
+       .long   3511535930
+       .long   3219996980
+       .long   2147483648
+       .long   1015344978
+       .long   1896722595
+       .long   1069228886
+       .long   0
+       .long   3219128320
+       .long   1942611595
+       .long   3220007265
+       .long   3221225472
+       .long   1014926433
+       .long   1699043957
+       .long   1069418613
+       .long   0
+       .long   3219128320
+       .long   3476196678
+       .long   3220017259
+       .long   0
+       .long   3161741286
+       .long   3296146332
+       .long   3216969380
+       .long   0
+       .long   3218079744
+       .long   1647878299
+       .long   3220026962
+       .long   3758096384
+       .long   1014685415
+       .long   3286832763
+       .long   3216777748
+       .long   0
+       .long   3218079744
+       .long   3066872380
+       .long   3220036371
+       .long   3221225472
+       .long   3163044919
+       .long   1962712856
+       .long   3216585207
+       .long   0
+       .long   3218079744
+       .long   1647164971
+       .long   3220045486
+       .long   2147483648
+       .long   1015354602
+       .long   3601629044
+       .long   3216391785
+       .long   0
+       .long   3218079744
+       .long   83265253
+       .long   3220054305
+       .long   1610612736
+       .long   1015026887
+       .long   165911977
+       .long   3216197513
+       .long   0
+       .long   3218079744
+       .long   1261158782
+       .long   3220062826
+       .long   2147483648
+       .long   3163195192
+       .long   1348311045
+       .long   3216002418
+       .long   0
+       .long   3218079744
+       .long   3964199186
+       .long   3220071048
+       .long   3758096384
+       .long   1013017430
+       .long   386665102
+       .long   3215630470
+       .long   0
+       .long   3218079744
+       .long   2873938189
+       .long   3220078971
+       .long   1610612736
+       .long   1014827774
+       .long   1991047213
+       .long   3215237169
+       .long   0
+       .long   3218079744
+       .long   1455828442
+       .long   3220086593
+       .long   3758096384
+       .long   3162988721
+       .long   4107121629
+       .long   3214750787
+       .long   0
+       .long   3218079744
+       .long   3370060660
+       .long   3220093912
+       .long   1610612736
+       .long   3162270860
+       .long   723478390
+       .long   3213958438
+       .long   0
+       .long   3218079744
+       .long   3882371427
+       .long   3220100928
+       .long   2147483648
+       .long   3162407623
+       .long   2382326656
+       .long   3212045827
+       .long   0
+       .long   3218079744
+       .long   2749658050
+       .long   3220107640
+       .long   1610612736
+       .long   3162910986
+       .long   2614369450
+       .long   1065140432
+       .long   0
+       .long   3218079744
+       .long   4220661975
+       .long   3220114046
+       .long   3221225472
+       .long   3161795706
+       .long   3587565429
+       .long   1066624384
+       .long   0
+       .long   3218079744
+       .long   4151720666
+       .long   3220120146
+       .long   0
+       .long   1015155896
+       .long   2886567144
+       .long   1067426796
+       .long   0
+       .long   3218079744
+       .long   2892293513
+       .long   3220125939
+       .long   2684354560
+       .long   1014856623
+       .long   1765797566
+       .long   1067840895
+       .long   0
+       .long   3218079744
+       .long   990588717
+       .long   3220131424
+       .long   3758096384
+       .long   1014558209
+       .long   240740309
+       .long   1068244255
+       .long   0
+       .long   3218079744
+       .long   3489094832
+       .long   3220136599
+       .long   536870912
+       .long   3161809431
+       .long   2034433221
+       .long   3215832935
+       .long   0
+       .long   3217031168
+       .long   2745245815
+       .long   3220141465
+       .long   3221225472
+       .long   3163049777
+       .long   304938777
+       .long   3215427665
+       .long   0
+       .long   3217031168
+       .long   4201728937
+       .long   3220146020
+       .long   1610612736
+       .long   3162157654
+       .long   3299146087
+       .long   3215021530
+       .long   0
+       .long   3217031168
+       .long   617154971
+       .long   3220150265
+       .long   3758096384
+       .long   1015950048
+       .long   1953696209
+       .long   3214295171
+       .long   0
+       .long   3217031168
+       .long   2131272983
+       .long   3220154197
+       .long   3221225472
+       .long   1015521448
+       .long   3987691371
+       .long   3213074188
+       .long   0
+       .long   3217031168
+       .long   1905645377
+       .long   3220157817
+       .long   1610612736
+       .long   3161571244
+       .long   718380601
+       .long   1063597621
+       .long   0
+       .long   3217031168
+       .long   1893834707
+       .long   3220161124
+       .long   1610612736
+       .long   3162631302
+       .long   3272206680
+       .long   1066288081
+       .long   0
+       .long   3217031168
+       .long   4251821691
+       .long   3220164117
+       .long   2147483648
+       .long   1014357359
+       .long   257503056
+       .long   1067164005
+       .long   0
+       .long   3217031168
+       .long   2748392742
+       .long   3220166797
+       .long   536870912
+       .long   1015578102
+       .long   711626851
+       .long   3214400320
+       .long   0
+       .long   3215982592
+       .long   4240268041
+       .long   3220169162
+       .long   536870912
+       .long   3161072611
+       .long   2523975598
+       .long   3213273348
+       .long   0
+       .long   3215982592
+       .long   2902558778
+       .long   3220171213
+       .long   3221225472
+       .long   3160744428
+       .long   3237733378
+       .long   1062425136
+       .long   0
+       .long   3215982592
+       .long   1703834029
+       .long   3220172949
+       .long   3758096384
+       .long   3162512012
+       .long   1003003824
+       .long   1066107496
+       .long   0
+       .long   3215982592
+       .long   3816385918
+       .long   3220174369
+       .long   536870912
+       .long   1013733308
+       .long   2896342633
+       .long   3212231467
+       .long   0
+       .long   3214934016
+       .long   4026464093
+       .long   3220175474
+       .long   3221225472
+       .long   1015592141
+       .long   561145352
+       .long   1065056936
+       .long   0
+       .long   3214934016
+       .long   1619315981
+       .long   3220176264
+       .long   1073741824
+       .long   1015100749
+       .long   210035182
+       .long   1064007864
+       .long   0
+       .long   3213885440
+       .long   379294427
+       .long   3220176738
+       .long   3221225472
+       .long   3162889635
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   0
+       .long   210035182
+       .long   3211491512
+       .long   0
+       .long   1066401792
+       .long   379294427
+       .long   3220176738
+       .long   3221225472
+       .long   3162889635
+       .long   561145352
+       .long   3212540584
+       .long   0
+       .long   1067450368
+       .long   1619315981
+       .long   3220176264
+       .long   1073741824
+       .long   1015100749
+       .long   2896342633
+       .long   1064747819
+       .long   0
+       .long   1067450368
+       .long   4026464093
+       .long   3220175474
+       .long   3221225472
+       .long   1015592141
+       .long   1003003824
+       .long   3213591144
+       .long   0
+       .long   1068498944
+       .long   3816385918
+       .long   3220174369
+       .long   536870912
+       .long   1013733308
+       .long   3237733378
+       .long   3209908784
+       .long   0
+       .long   1068498944
+       .long   1703834029
+       .long   3220172949
+       .long   3758096384
+       .long   3162512012
+       .long   2523975598
+       .long   1065789700
+       .long   0
+       .long   1068498944
+       .long   2902558778
+       .long   3220171213
+       .long   3221225472
+       .long   3160744428
+       .long   711626851
+       .long   1066916672
+       .long   0
+       .long   1068498944
+       .long   4240268041
+       .long   3220169162
+       .long   536870912
+       .long   3161072611
+       .long   257503056
+       .long   3214647653
+       .long   0
+       .long   1069547520
+       .long   2748392742
+       .long   3220166797
+       .long   536870912
+       .long   1015578102
+       .long   3272206680
+       .long   3213771729
+       .long   0
+       .long   1069547520
+       .long   4251821691
+       .long   3220164117
+       .long   2147483648
+       .long   1014357359
+       .long   718380601
+       .long   3211081269
+       .long   0
+       .long   1069547520
+       .long   1893834707
+       .long   3220161124
+       .long   1610612736
+       .long   3162631302
+       .long   3987691371
+       .long   1065590540
+       .long   0
+       .long   1069547520
+       .long   1905645377
+       .long   3220157817
+       .long   1610612736
+       .long   3161571244
+       .long   1953696209
+       .long   1066811523
+       .long   0
+       .long   1069547520
+       .long   2131272983
+       .long   3220154197
+       .long   3221225472
+       .long   1015521448
+       .long   3299146087
+       .long   1067537882
+       .long   0
+       .long   1069547520
+       .long   617154971
+       .long   3220150265
+       .long   3758096384
+       .long   1015950048
+       .long   304938777
+       .long   1067944017
+       .long   0
+       .long   1069547520
+       .long   4201728937
+       .long   3220146020
+       .long   1610612736
+       .long   3162157654
+       .long   2034433221
+       .long   1068349287
+       .long   0
+       .long   1069547520
+       .long   2745245815
+       .long   3220141465
+       .long   3221225472
+       .long   3163049777
+       .long   240740309
+       .long   3215727903
+       .long   0
+       .long   1070596096
+       .long   3489094832
+       .long   3220136599
+       .long   536870912
+       .long   3161809431
+       .long   1765797566
+       .long   3215324543
+       .long   0
+       .long   1070596096
+       .long   990588717
+       .long   3220131424
+       .long   3758096384
+       .long   1014558209
+       .long   2886567144
+       .long   3214910444
+       .long   0
+       .long   1070596096
+       .long   2892293513
+       .long   3220125939
+       .long   2684354560
+       .long   1014856623
+       .long   3587565429
+       .long   3214108032
+       .long   0
+       .long   1070596096
+       .long   4151720666
+       .long   3220120146
+       .long   0
+       .long   1015155896
+       .long   2614369450
+       .long   3212624080
+       .long   0
+       .long   1070596096
+       .long   4220661975
+       .long   3220114046
+       .long   3221225472
+       .long   3161795706
+       .long   2382326656
+       .long   1064562179
+       .long   0
+       .long   1070596096
+       .long   2749658050
+       .long   3220107640
+       .long   1610612736
+       .long   3162910986
+       .long   723478390
+       .long   1066474790
+       .long   0
+       .long   1070596096
+       .long   3882371427
+       .long   3220100928
+       .long   2147483648
+       .long   3162407623
+       .long   4107121629
+       .long   1067267139
+       .long   0
+       .long   1070596096
+       .long   3370060660
+       .long   3220093912
+       .long   1610612736
+       .long   3162270860
+       .long   1991047213
+       .long   1067753521
+       .long   0
+       .long   1070596096
+       .long   1455828442
+       .long   3220086593
+       .long   3758096384
+       .long   3162988721
+       .long   386665102
+       .long   1068146822
+       .long   0
+       .long   1070596096
+       .long   2873938189
+       .long   3220078971
+       .long   1610612736
+       .long   1014827774
+       .long   1348311045
+       .long   1068518770
+       .long   0
+       .long   1070596096
+       .long   3964199186
+       .long   3220071048
+       .long   3758096384
+       .long   1013017430
+       .long   165911977
+       .long   1068713865
+       .long   0
+       .long   1070596096
+       .long   1261158782
+       .long   3220062826
+       .long   2147483648
+       .long   3163195192
+       .long   3601629044
+       .long   1068908137
+       .long   0
+       .long   1070596096
+       .long   83265253
+       .long   3220054305
+       .long   1610612736
+       .long   1015026887
+       .long   1962712856
+       .long   1069101559
+       .long   0
+       .long   1070596096
+       .long   1647164971
+       .long   3220045486
+       .long   2147483648
+       .long   1015354602
+       .long   3286832763
+       .long   1069294100
+       .long   0
+       .long   1070596096
+       .long   3066872380
+       .long   3220036371
+       .long   3221225472
+       .long   3163044919
+       .long   3296146332
+       .long   1069485732
+       .long   0
+       .long   1070596096
+       .long   1647878299
+       .long   3220026962
+       .long   3758096384
+       .long   1014685415
+       .long   1699043957
+       .long   3216902261
+       .long   0
+       .long   1071644672
+       .long   3476196678
+       .long   3220017259
+       .long   0
+       .long   3161741286
+       .long   1896722595
+       .long   3216712534
+       .long   0
+       .long   1071644672
+       .long   1942611595
+       .long   3220007265
+       .long   3221225472
+       .long   1014926433
+       .long   4049357271
+       .long   3216523802
+       .long   0
+       .long   1071644672
+       .long   3511535930
+       .long   3219996980
+       .long   2147483648
+       .long   1015344978
+       .long   1380647130
+       .long   3216336095
+       .long   0
+       .long   1071644672
+       .long   1950234076
+       .long   3219986407
+       .long   536870912
+       .long   1011941850
+       .long   3631910143
+       .long   3216149439
+       .long   0
+       .long   1071644672
+       .long   4097623923
+       .long   3219975546
+       .long   2684354560
+       .long   1012824939
+       .long   1073154251
+       .long   3215945137
+       .long   0
+       .long   1071644672
+       .long   4093443164
+       .long   3219964400
+       .long   536870912
+       .long   3162396513
+       .long   913431823
+       .long   3215576203
+       .long   0
+       .long   1071644672
+       .long   557060597
+       .long   3219952971
+       .long   0
+       .long   1012071286
+       .long   600368053
+       .long   3215209541
+       .long   0
+       .long   1071644672
+       .long   881357723
+       .long   3219941259
+       .long   3221225472
+       .long   3161294538
+       .long   2140183630
+       .long   3214756396
+       .long   0
+       .long   1071644672
+       .long   4051746225
+       .long   3219929266
+       .long   1610612736
+       .long   1014423729
+       .long   3506991783
+       .long   3214032490
+       .long   0
+       .long   1071644672
+       .long   645027145
+       .long   3219916996
+       .long   3221225472
+       .long   3160085887
+       .long   31019393
+       .long   3212646089
+       .long   0
+       .long   1071644672
+       .long   2892993834
+       .long   3219904448
+       .long   536870912
+       .long   1015555495
+       .long   1279178457
+       .long   1064107143
+       .long   0
+       .long   1071644672
+       .long   1731563730
+       .long   3219891626
+       .long   536870912
+       .long   3163023950
+       .long   1220541286
+       .long   1066197478
+       .long   0
+       .long   1071644672
+       .long   1159294526
+       .long   3219878531
+       .long   536870912
+       .long   1015793311
+       .long   2880516564
+       .long   1067003401
+       .long   0
+       .long   1071644672
+       .long   1056266002
+       .long   3219865165
+       .long   2684354560
+       .long   1015985848
+       .long   1102361128
+       .long   1067576117
+       .long   0
+       .long   1071644672
+       .long   1477771776
+       .long   3219851530
+       .long   536870912
+       .long   1015621338
+       .long   1038988426
+       .long   1067922646
+       .long   0
+       .long   1071644672
+       .long   2653017361
+       .long   3219837628
+       .long   0
+       .long   1015316414
+       .long   2598800519
+       .long   1068266419
+       .long   0
+       .long   1071644672
+       .long   688824739
+       .long   3219823462
+       .long   3758096384
+       .long   3157915184
+       .long   3382663878
+       .long   1068553164
+       .long   0
+       .long   1071644672
+       .long   453180130
+       .long   3219809033
+       .long   1073741824
+       .long   1014927633
+       .long   1726519029
+       .long   1068722218
+       .long   0
+       .long   1071644672
+       .long   2688952194
+       .long   3219794343
+       .long   0
+       .long   1014048955
+       .long   802660176
+       .long   1068889817
+       .long   0
+       .long   1071644672
+       .long   4012486548
+       .long   3219779395
+       .long   2684354560
+       .long   3162185212
+       .long   3876290983
+       .long   1069055935
+       .long   0
+       .long   1071644672
+       .long   1207142209
+       .long   3219764192
+       .long   2147483648
+       .long   1015221986
+       .long   2285031318
+       .long   1069220549
+       .long   0
+       .long   1071644672
+       .long   4106737474
+       .long   3219748734
+       .long   2684354560
+       .long   1015108729
+       .long   1224902090
+       .long   1069383633
+       .long   0
+       .long   1071644672
+       .long   1234330619
+       .long   3219733026
+       .long   2684354560
+       .long   3162756121
+       .long   2586490530
+       .long   1069545162
+       .long   0
+       .long   1071644672
+       .long   2750387213
+       .long   3219717068
+       .long   2147483648
+       .long   1013374889
+       .long   2485417816
+       .long   1069626316
+       .long   0
+       .long   1071644672
+       .long   1796544321
+       .long   3219700864
+       .long   536870912
+       .long   1015203297
+       .long   1852581091
+       .long   1069705490
+       .long   0
+       .long   1071644672
+       .long   263859903
+       .long   3219684416
+       .long   0
+       .long   1015208636
+       .long   4019165092
+       .long   1069783850
+       .long   0
+       .long   1071644672
+       .long   201299822
+       .long   3219667726
+       .long   3758096384
+       .long   1014428704
+       .long   1250776663
+       .long   1069861386
+       .long   0
+       .long   1071644672
+       .long   3814135665
+       .long   3219650796
+       .long   3221225472
+       .long   1015662808
+       .long   3526603391
+       .long   1069938084
+       .long   0
+       .long   1071644672
+       .long   577417135
+       .long   3219633631
+       .long   2684354560
+       .long   1014035767
+       .long   4187227697
+       .long   1070013934
+       .long   0
+       .long   1071644672
+       .long   1594061409
+       .long   3219616231
+       .long   2147483648
+       .long   3161837518
+       .long   1416934267
+       .long   1070088925
+       .long   0
+       .long   1071644672
+       .long   938475414
+       .long   3219598600
+       .long   0
+       .long   3162559727
+       .long   2546065654
+       .long   1070163044
+       .long   0
+       .long   1071644672
+       .long   1424664751
+       .long   3219580740
+       .long   3221225472
+       .long   1015921667
+       .long   2583490354
+       .long   1070236281
+       .long   0
+       .long   1071644672
+       .long   1719614413
+       .long   3219562654
+       .long   0
+       .long   1015799092
+       .long   1403691706
+       .long   1070308625
+       .long   0
+       .long   1071644672
+       .long   636516413
+       .long   3219544345
+       .long   3758096384
+       .long   3163307364
+       .long   3753901657
+       .long   1070380064
+       .long   0
+       .long   1071644672
+       .long   1427975391
+       .long   3219525815
+       .long   1073741824
+       .long   1014124979
+       .long   2081278341
+       .long   1070450589
+       .long   0
+       .long   1071644672
+       .long   3194290572
+       .long   3219507067
+       .long   2147483648
+       .long   3162532330
+       .long   2309668539
+       .long   1070520188
+       .long   0
+       .long   1071644672
+       .long   881650848
+       .long   3219488105
+       .long   2147483648
+       .long   1015502624
+       .long   2371640770
+       .long   1070588851
+       .long   0
+       .long   1071644672
+       .long   2460177814
+       .long   3219468930
+       .long   2147483648
+       .long   1014633195
+       .long   3489768009
+       .long   3218019271
+       .long   0
+       .long   1072693248
+       .long   3152274921
+       .long   3219449546
+       .long   3758096384
+       .long   3160654483
+       .long   3239527685
+       .long   3217952511
+       .long   0
+       .long   1072693248
+       .long   2610628921
+       .long   3219429956
+       .long   1610612736
+       .long   1015185121
+       .long   1403757309
+       .long   3217886718
+       .long   0
+       .long   1072693248
+       .long   621354454
+       .long   3219410163
+       .long   536870912
+       .long   3160934250
+       .long   1883353036
+       .long   3217821901
+       .long   0
+       .long   1072693248
+       .long   1397053140
+       .long   3219390169
+       .long   1610612736
+       .long   3162728726
+       .long   3652612115
+       .long   3217758070
+       .long   0
+       .long   1072693248
+       .long   689983673
+       .long   3219369978
+       .long   3758096384
+       .long   3162390053
+       .long   752919289
+       .long   3217695236
+       .long   0
+       .long   1072693248
+       .long   2969983475
+       .long   3219349592
+       .long   2684354560
+       .long   1015151795
+       .long   3761365757
+       .long   3217633406
+       .long   0
+       .long   1072693248
+       .long   4242632757
+       .long   3219329015
+       .long   536870912
+       .long   1013906630
+       .long   1129922991
+       .long   3217572592
+       .long   0
+       .long   1072693248
+       .long   637203434
+       .long   3219308251
+       .long   3221225472
+       .long   1011960193
+       .long   2129093113
+       .long   3217512801
+       .long   0
+       .long   1072693248
+       .long   1289556703
+       .long   3219287301
+       .long   536870912
+       .long   1015405172
+       .long   2482246777
+       .long   3217454043
+       .long   0
+       .long   1072693248
+       .long   2570316633
+       .long   3219266169
+       .long   1610612736
+       .long   1015261105
+       .long   1539668340
+       .long   3217396327
+       .long   0
+       .long   1072693248
+       .long   967731400
+       .long   3219244859
+       .long   536870912
+       .long   3163235805
+       .long   2272832445
+       .long   3217339661
+       .long   0
+       .long   1072693248
+       .long   1675549513
+       .long   3219223373
+       .long   3221225472
+       .long   1015541490
+       .long   2678847490
+       .long   3217284054
+       .long   0
+       .long   1072693248
+       .long   1411074851
+       .long   3219201715
+       .long   1610612736
+       .long   1016001083
+       .long   69903290
+       .long   3217229515
+       .long   0
+       .long   1072693248
+       .long   1297975695
+       .long   3219179888
+       .long   3221225472
+       .long   1015600087
+       .long   3952756490
+       .long   3217176050
+       .long   0
+       .long   1072693248
+       .long   2569207790
+       .long   3219157895
+       .long   1073741824
+       .long   1015699969
+       .long   1663679671
+       .long   3217123670
+       .long   0
+       .long   1072693248
+       .long   2269920951
+       .long   3219135740
+       .long   3758096384
+       .long   1014188597
+       .long   1312926554
+       .long   3217072381
+       .long   0
+       .long   1072693248
+       .long   3690502842
+       .long   3219098532
+       .long   3221225472
+       .long   1009970207
+       .long   3429717432
+       .long   3217013214
+       .long   0
+       .long   1072693248
+       .long   1391425750
+       .long   3219053593
+       .long   3221225472
+       .long   1014878455
+       .long   1945768569
+       .long   3216915048
+       .long   0
+       .long   1072693248
+       .long   939980347
+       .long   3219008349
+       .long   0
+       .long   3160280457
+       .long   1539072807
+       .long   3216819110
+       .long   0
+       .long   1072693248
+       .long   1535566729
+       .long   3218962807
+       .long   2147483648
+       .long   3161805036
+       .long   4133449816
+       .long   3216725414
+       .long   0
+       .long   1072693248
+       .long   2570175582
+       .long   3218916974
+       .long   1073741824
+       .long   3159786766
+       .long   1612193054
+       .long   3216633976
+       .long   0
+       .long   1072693248
+       .long   3623952103
+       .long   3218870857
+       .long   2684354560
+       .long   1014502314
+       .long   1578746984
+       .long   3216544808
+       .long   0
+       .long   1072693248
+       .long   165764288
+       .long   3218824464
+       .long   3221225472
+       .long   3160781666
+       .long   1577996576
+       .long   3216457924
+       .long   0
+       .long   1072693248
+       .long   728580042
+       .long   3218777800
+       .long   1610612736
+       .long   1014849296
+       .long   1972483635
+       .long   3216373337
+       .long   0
+       .long   1072693248
+       .long   1135144330
+       .long   3218730873
+       .long   536870912
+       .long   3160857217
+       .long   1638976426
+       .long   3216291060
+       .long   0
+       .long   1072693248
+       .long   1673302999
+       .long   3218683690
+       .long   2147483648
+       .long   3160835121
+       .long   2255197647
+       .long   3216211105
+       .long   0
+       .long   1072693248
+       .long   2796464483
+       .long   3218636258
+       .long   3221225472
+       .long   1013394669
+       .long   3996842794
+       .long   3216133484
+       .long   0
+       .long   1072693248
+       .long   824036583
+       .long   3218588585
+       .long   0
+       .long   3155796978
+       .long   1234824733
+       .long   3216058210
+       .long   0
+       .long   1072693248
+       .long   821708191
+       .long   3218540677
+       .long   3758096384
+       .long   1014254361
+       .long   4002549419
+       .long   3215985292
+       .long   0
+       .long   1072693248
+       .long   3711903686
+       .long   3218492541
+       .long   1073741824
+       .long   3159428395
+       .long   2962723252
+       .long   3215846895
+       .long   0
+       .long   1072693248
+       .long   1974149085
+       .long   3218444186
+       .long   3221225472
+       .long   1008664000
+       .long   1296295961
+       .long   3215710555
+       .long   0
+       .long   1072693248
+       .long   1115219818
+       .long   3218395618
+       .long   0
+       .long   3160555890
+       .long   997322465
+       .long   3215578993
+       .long   0
+       .long   1072693248
+       .long   2484561409
+       .long   3218346844
+       .long   1073741824
+       .long   3161508220
+       .long   1261629236
+       .long   3215452229
+       .long   0
+       .long   1072693248
+       .long   3269558610
+       .long   3218297872
+       .long   536870912
+       .long   1014221568
+       .long   2476548698
+       .long   3215330282
+       .long   0
+       .long   1072693248
+       .long   785751814
+       .long   3218248710
+       .long   2684354560
+       .long   1014354573
+       .long   1913604284
+       .long   3215213171
+       .long   0
+       .long   1072693248
+       .long   1062001470
+       .long   3218199364
+       .long   0
+       .long   1013391572
+       .long   2306566604
+       .long   3215100913
+       .long   0
+       .long   1072693248
+       .long   1655830135
+       .long   3218149842
+       .long   0
+       .long   3161990338
+       .long   3250111450
+       .long   3214993525
+       .long   0
+       .long   1072693248
+       .long   238550446
+       .long   3218100152
+       .long   2684354560
+       .long   1006899917
+       .long   2377770267
+       .long   3214848032
+       .long   0
+       .long   1072693248
+       .long   2065784603
+       .long   3218020857
+       .long   3758096384
+       .long   1013198318
+       .long   288924873
+       .long   3214652833
+       .long   0
+       .long   1072693248
+       .long   3846521617
+       .long   3217920847
+       .long   536870912
+       .long   3160890258
+       .long   1935888103
+       .long   3214467466
+       .long   0
+       .long   1072693248
+       .long   1786662755
+       .long   3217820546
+       .long   2147483648
+       .long   1008398659
+       .long   2660899430
+       .long   3214291960
+       .long   0
+       .long   1072693248
+       .long   632292433
+       .long   3217719968
+       .long   3758096384
+       .long   1013479685
+       .long   18115067
+       .long   3214126342
+       .long   0
+       .long   1072693248
+       .long   1013556747
+       .long   3217619128
+       .long   2684354560
+       .long   1013083417
+       .long   2346447124
+       .long   3213970635
+       .long   0
+       .long   1072693248
+       .long   3729833777
+       .long   3217518041
+       .long   3758096384
+       .long   3160528366
+       .long   1672287667
+       .long   3213764289
+       .long   0
+       .long   1072693248
+       .long   1149976518
+       .long   3217416724
+       .long   1610612736
+       .long   3160748543
+       .long   3451754846
+       .long   3213492662
+       .long   0
+       .long   1072693248
+       .long   2972270170
+       .long   3217315190
+       .long   1073741824
+       .long   1012041122
+       .long   1037482584
+       .long   3213240992
+       .long   0
+       .long   1072693248
+       .long   1854824762
+       .long   3217213456
+       .long   2684354560
+       .long   3159437312
+       .long   2592747447
+       .long   3213009315
+       .long   0
+       .long   1072693248
+       .long   3470456183
+       .long   3217111536
+       .long   1073741824
+       .long   1013261123
+       .long   2402293340
+       .long   3212758471
+       .long   0
+       .long   1072693248
+       .long   1453945614
+       .long   3216987726
+       .long   1610612736
+       .long   3158976260
+       .long   1227670166
+       .long   3212375297
+       .long   0
+       .long   1072693248
+       .long   3349070549
+       .long   3216783237
+       .long   3758096384
+       .long   1009054621
+       .long   393047345
+       .long   3212032302
+       .long   0
+       .long   1072693248
+       .long   3156849708
+       .long   3216578470
+       .long   3221225472
+       .long   1010706200
+       .long   1118107366
+       .long   3211670787
+       .long   0
+       .long   1072693248
+       .long   177906713
+       .long   3216373456
+       .long   3221225472
+       .long   1011826722
+       .long   4269262315
+       .long   3211145810
+       .long   0
+       .long   1072693248
+       .long   2462980598
+       .long   3216168224
+       .long   2684354560
+       .long   1011458184
+       .long   3810305407
+       .long   3210663220
+       .long   0
+       .long   1072693248
+       .long   2046304480
+       .long   3215943022
+       .long   3758096384
+       .long   1008919019
+       .long   220529721
+       .long   3209935929
+       .long   0
+       .long   1072693248
+       .long   4044216340
+       .long   3215531877
+       .long   0
+       .long   1009324733
+       .long   69373323
+       .long   3209049152
+       .long   0
+       .long   1072693248
+       .long   1972655565
+       .long   3215120485
+       .long   1073741824
+       .long   3156641526
+       .long   3650591271
+       .long   3207838971
+       .long   0
+       .long   1072693248
+       .long   4154680958
+       .long   3214483797
+       .long   0
+       .long   1006312803
+       .long   2376373521
+       .long   3205741868
+       .long   0
+       .long   1072693248
+       .long   4242458500
+       .long   3213435345
+       .long   2684354560
+       .long   3156838286
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2376373521
+       .long   3205741868
+       .long   0
+       .long   1072693248
+       .long   4242458500
+       .long   1065951697
+       .long   2684354560
+       .long   1009354638
+       .long   3650591271
+       .long   3207838971
+       .long   0
+       .long   1072693248
+       .long   4154680958
+       .long   1067000149
+       .long   0
+       .long   3153796451
+       .long   69373323
+       .long   3209049152
+       .long   0
+       .long   1072693248
+       .long   1972655565
+       .long   1067636837
+       .long   1073741824
+       .long   1009157878
+       .long   220529721
+       .long   3209935929
+       .long   0
+       .long   1072693248
+       .long   4044216340
+       .long   1068048229
+       .long   0
+       .long   3156808381
+       .long   3810305407
+       .long   3210663220
+       .long   0
+       .long   1072693248
+       .long   2046304480
+       .long   1068459374
+       .long   3758096384
+       .long   3156402667
+       .long   4269262315
+       .long   3211145810
+       .long   0
+       .long   1072693248
+       .long   2462980598
+       .long   1068684576
+       .long   2684354560
+       .long   3158941832
+       .long   1118107366
+       .long   3211670787
+       .long   0
+       .long   1072693248
+       .long   177906713
+       .long   1068889808
+       .long   3221225472
+       .long   3159310370
+       .long   393047345
+       .long   3212032302
+       .long   0
+       .long   1072693248
+       .long   3156849708
+       .long   1069094822
+       .long   3221225472
+       .long   3158189848
+       .long   1227670166
+       .long   3212375297
+       .long   0
+       .long   1072693248
+       .long   3349070549
+       .long   1069299589
+       .long   3758096384
+       .long   3156538269
+       .long   2402293340
+       .long   3212758471
+       .long   0
+       .long   1072693248
+       .long   1453945614
+       .long   1069504078
+       .long   1610612736
+       .long   1011492612
+       .long   2592747447
+       .long   3213009315
+       .long   0
+       .long   1072693248
+       .long   3470456183
+       .long   1069627888
+       .long   1073741824
+       .long   3160744771
+       .long   1037482584
+       .long   3213240992
+       .long   0
+       .long   1072693248
+       .long   1854824762
+       .long   1069729808
+       .long   2684354560
+       .long   1011953664
+       .long   3451754846
+       .long   3213492662
+       .long   0
+       .long   1072693248
+       .long   2972270170
+       .long   1069831542
+       .long   1073741824
+       .long   3159524770
+       .long   1672287667
+       .long   3213764289
+       .long   0
+       .long   1072693248
+       .long   1149976518
+       .long   1069933076
+       .long   1610612736
+       .long   1013264895
+       .long   2346447124
+       .long   3213970635
+       .long   0
+       .long   1072693248
+       .long   3729833777
+       .long   1070034393
+       .long   3758096384
+       .long   1013044718
+       .long   18115067
+       .long   3214126342
+       .long   0
+       .long   1072693248
+       .long   1013556747
+       .long   1070135480
+       .long   2684354560
+       .long   3160567065
+       .long   2660899430
+       .long   3214291960
+       .long   0
+       .long   1072693248
+       .long   632292433
+       .long   1070236320
+       .long   3758096384
+       .long   3160963333
+       .long   1935888103
+       .long   3214467466
+       .long   0
+       .long   1072693248
+       .long   1786662755
+       .long   1070336898
+       .long   2147483648
+       .long   3155882307
+       .long   288924873
+       .long   3214652833
+       .long   0
+       .long   1072693248
+       .long   3846521617
+       .long   1070437199
+       .long   536870912
+       .long   1013406610
+       .long   2377770267
+       .long   3214848032
+       .long   0
+       .long   1072693248
+       .long   2065784603
+       .long   1070537209
+       .long   3758096384
+       .long   3160681966
+       .long   3250111450
+       .long   3214993525
+       .long   0
+       .long   1072693248
+       .long   238550446
+       .long   1070616504
+       .long   2684354560
+       .long   3154383565
+       .long   2306566604
+       .long   3215100913
+       .long   0
+       .long   1072693248
+       .long   1655830135
+       .long   1070666194
+       .long   0
+       .long   1014506690
+       .long   1913604284
+       .long   3215213171
+       .long   0
+       .long   1072693248
+       .long   1062001470
+       .long   1070715716
+       .long   0
+       .long   3160875220
+       .long   2476548698
+       .long   3215330282
+       .long   0
+       .long   1072693248
+       .long   785751814
+       .long   1070765062
+       .long   2684354560
+       .long   3161838221
+       .long   1261629236
+       .long   3215452229
+       .long   0
+       .long   1072693248
+       .long   3269558610
+       .long   1070814224
+       .long   536870912
+       .long   3161705216
+       .long   997322465
+       .long   3215578993
+       .long   0
+       .long   1072693248
+       .long   2484561409
+       .long   1070863196
+       .long   1073741824
+       .long   1014024572
+       .long   1296295961
+       .long   3215710555
+       .long   0
+       .long   1072693248
+       .long   1115219818
+       .long   1070911970
+       .long   0
+       .long   1013072242
+       .long   2962723252
+       .long   3215846895
+       .long   0
+       .long   1072693248
+       .long   1974149085
+       .long   1070960538
+       .long   3221225472
+       .long   3156147648
+       .long   4002549419
+       .long   3215985292
+       .long   0
+       .long   1072693248
+       .long   3711903686
+       .long   1071008893
+       .long   1073741824
+       .long   1011944747
+       .long   1234824733
+       .long   3216058210
+       .long   0
+       .long   1072693248
+       .long   821708191
+       .long   1071057029
+       .long   3758096384
+       .long   3161738009
+       .long   3996842794
+       .long   3216133484
+       .long   0
+       .long   1072693248
+       .long   824036583
+       .long   1071104937
+       .long   0
+       .long   1008313330
+       .long   2255197647
+       .long   3216211105
+       .long   0
+       .long   1072693248
+       .long   2796464483
+       .long   1071152610
+       .long   3221225472
+       .long   3160878317
+       .long   1638976426
+       .long   3216291060
+       .long   0
+       .long   1072693248
+       .long   1673302999
+       .long   1071200042
+       .long   2147483648
+       .long   1013351473
+       .long   1972483635
+       .long   3216373337
+       .long   0
+       .long   1072693248
+       .long   1135144330
+       .long   1071247225
+       .long   536870912
+       .long   1013373569
+       .long   1577996576
+       .long   3216457924
+       .long   0
+       .long   1072693248
+       .long   728580042
+       .long   1071294152
+       .long   1610612736
+       .long   3162332944
+       .long   1578746984
+       .long   3216544808
+       .long   0
+       .long   1072693248
+       .long   165764288
+       .long   1071340816
+       .long   3221225472
+       .long   1013298018
+       .long   1612193054
+       .long   3216633976
+       .long   0
+       .long   1072693248
+       .long   3623952103
+       .long   1071387209
+       .long   2684354560
+       .long   3161985962
+       .long   4133449816
+       .long   3216725414
+       .long   0
+       .long   1072693248
+       .long   2570175582
+       .long   1071433326
+       .long   1073741824
+       .long   1012303118
+       .long   1539072807
+       .long   3216819110
+       .long   0
+       .long   1072693248
+       .long   1535566729
+       .long   1071479159
+       .long   2147483648
+       .long   1014321388
+       .long   1945768569
+       .long   3216915048
+       .long   0
+       .long   1072693248
+       .long   939980347
+       .long   1071524701
+       .long   0
+       .long   1012796809
+       .long   3429717432
+       .long   3217013214
+       .long   0
+       .long   1072693248
+       .long   1391425750
+       .long   1071569945
+       .long   3221225472
+       .long   3162362103
+       .long   1312926554
+       .long   3217072381
+       .long   0
+       .long   1072693248
+       .long   3690502842
+       .long   1071614884
+       .long   3221225472
+       .long   3157453855
+       .long   1663679671
+       .long   3217123670
+       .long   0
+       .long   1072693248
+       .long   2269920951
+       .long   1071652092
+       .long   3758096384
+       .long   3161672245
+       .long   3952756490
+       .long   3217176050
+       .long   0
+       .long   1072693248
+       .long   2569207790
+       .long   1071674247
+       .long   1073741824
+       .long   3163183617
+       .long   69903290
+       .long   3217229515
+       .long   0
+       .long   1072693248
+       .long   1297975695
+       .long   1071696240
+       .long   3221225472
+       .long   3163083735
+       .long   2678847490
+       .long   3217284054
+       .long   0
+       .long   1072693248
+       .long   1411074851
+       .long   1071718067
+       .long   1610612736
+       .long   3163484731
+       .long   2272832445
+       .long   3217339661
+       .long   0
+       .long   1072693248
+       .long   1675549513
+       .long   1071739725
+       .long   3221225472
+       .long   3163025138
+       .long   1539668340
+       .long   3217396327
+       .long   0
+       .long   1072693248
+       .long   967731400
+       .long   1071761211
+       .long   536870912
+       .long   1015752157
+       .long   2482246777
+       .long   3217454043
+       .long   0
+       .long   1072693248
+       .long   2570316633
+       .long   1071782521
+       .long   1610612736
+       .long   3162744753
+       .long   2129093113
+       .long   3217512801
+       .long   0
+       .long   1072693248
+       .long   1289556703
+       .long   1071803653
+       .long   536870912
+       .long   3162888820
+       .long   1129922991
+       .long   3217572592
+       .long   0
+       .long   1072693248
+       .long   637203434
+       .long   1071824603
+       .long   3221225472
+       .long   3159443841
+       .long   3761365757
+       .long   3217633406
+       .long   0
+       .long   1072693248
+       .long   4242632757
+       .long   1071845367
+       .long   536870912
+       .long   3161390278
+       .long   752919289
+       .long   3217695236
+       .long   0
+       .long   1072693248
+       .long   2969983475
+       .long   1071865944
+       .long   2684354560
+       .long   3162635443
+       .long   3652612115
+       .long   3217758070
+       .long   0
+       .long   1072693248
+       .long   689983673
+       .long   1071886330
+       .long   3758096384
+       .long   1014906405
+       .long   1883353036
+       .long   3217821901
+       .long   0
+       .long   1072693248
+       .long   1397053140
+       .long   1071906521
+       .long   1610612736
+       .long   1015245078
+       .long   1403757309
+       .long   3217886718
+       .long   0
+       .long   1072693248
+       .long   621354454
+       .long   1071926515
+       .long   536870912
+       .long   1013450602
+       .long   3239527685
+       .long   3217952511
+       .long   0
+       .long   1072693248
+       .long   2610628921
+       .long   1071946308
+       .long   1610612736
+       .long   3162668769
+       .long   3489768009
+       .long   3218019271
+       .long   0
+       .long   1072693248
+       .long   3152274921
+       .long   1071965898
+       .long   3758096384
+       .long   1013170835
+       .long   2371640770
+       .long   1070588851
+       .long   0
+       .long   1071644672
+       .long   2460177814
+       .long   1071985282
+       .long   2147483648
+       .long   3162116843
+       .long   2309668539
+       .long   1070520188
+       .long   0
+       .long   1071644672
+       .long   881650848
+       .long   1072004457
+       .long   2147483648
+       .long   3162986272
+       .long   2081278341
+       .long   1070450589
+       .long   0
+       .long   1071644672
+       .long   3194290572
+       .long   1072023419
+       .long   2147483648
+       .long   1015048682
+       .long   3753901657
+       .long   1070380064
+       .long   0
+       .long   1071644672
+       .long   1427975391
+       .long   1072042167
+       .long   1073741824
+       .long   3161608627
+       .long   1403691706
+       .long   1070308625
+       .long   0
+       .long   1071644672
+       .long   636516413
+       .long   1072060697
+       .long   3758096384
+       .long   1015823716
+       .long   2583490354
+       .long   1070236281
+       .long   0
+       .long   1071644672
+       .long   1719614413
+       .long   1072079006
+       .long   0
+       .long   3163282740
+       .long   2546065654
+       .long   1070163044
+       .long   0
+       .long   1071644672
+       .long   1424664751
+       .long   1072097092
+       .long   3221225472
+       .long   3163405315
+       .long   1416934267
+       .long   1070088925
+       .long   0
+       .long   1071644672
+       .long   938475414
+       .long   1072114952
+       .long   0
+       .long   1015076079
+       .long   4187227697
+       .long   1070013934
+       .long   0
+       .long   1071644672
+       .long   1594061409
+       .long   1072132583
+       .long   2147483648
+       .long   1014353870
+       .long   3526603391
+       .long   1069938084
+       .long   0
+       .long   1071644672
+       .long   577417135
+       .long   1072149983
+       .long   2684354560
+       .long   3161519415
+       .long   1250776663
+       .long   1069861386
+       .long   0
+       .long   1071644672
+       .long   3814135665
+       .long   1072167148
+       .long   3221225472
+       .long   3163146456
+       .long   4019165092
+       .long   1069783850
+       .long   0
+       .long   1071644672
+       .long   201299822
+       .long   1072184078
+       .long   3758096384
+       .long   3161912352
+       .long   1852581091
+       .long   1069705490
+       .long   0
+       .long   1071644672
+       .long   263859903
+       .long   1072200768
+       .long   0
+       .long   3162692284
+       .long   2485417816
+       .long   1069626316
+       .long   0
+       .long   1071644672
+       .long   1796544321
+       .long   1072217216
+       .long   536870912
+       .long   3162686945
+       .long   2586490530
+       .long   1069545162
+       .long   0
+       .long   1071644672
+       .long   2750387213
+       .long   1072233420
+       .long   2147483648
+       .long   3160858537
+       .long   1224902090
+       .long   1069383633
+       .long   0
+       .long   1071644672
+       .long   1234330619
+       .long   1072249378
+       .long   2684354560
+       .long   1015272473
+       .long   2285031318
+       .long   1069220549
+       .long   0
+       .long   1071644672
+       .long   4106737474
+       .long   1072265086
+       .long   2684354560
+       .long   3162592377
+       .long   3876290983
+       .long   1069055935
+       .long   0
+       .long   1071644672
+       .long   1207142209
+       .long   1072280544
+       .long   2147483648
+       .long   3162705634
+       .long   802660176
+       .long   1068889817
+       .long   0
+       .long   1071644672
+       .long   4012486548
+       .long   1072295747
+       .long   2684354560
+       .long   1014701564
+       .long   1726519029
+       .long   1068722218
+       .long   0
+       .long   1071644672
+       .long   2688952194
+       .long   1072310695
+       .long   0
+       .long   3161532603
+       .long   3382663878
+       .long   1068553164
+       .long   0
+       .long   1071644672
+       .long   453180130
+       .long   1072325385
+       .long   1073741824
+       .long   3162411281
+       .long   2598800519
+       .long   1068266419
+       .long   0
+       .long   1071644672
+       .long   688824739
+       .long   1072339814
+       .long   3758096384
+       .long   1010431536
+       .long   1038988426
+       .long   1067922646
+       .long   0
+       .long   1071644672
+       .long   2653017361
+       .long   1072353980
+       .long   0
+       .long   3162800062
+       .long   1102361128
+       .long   1067576117
+       .long   0
+       .long   1071644672
+       .long   1477771776
+       .long   1072367882
+       .long   536870912
+       .long   3163104986
+       .long   2880516564
+       .long   1067003401
+       .long   0
+       .long   1071644672
+       .long   1056266002
+       .long   1072381517
+       .long   2684354560
+       .long   3163469496
+       .long   1220541286
+       .long   1066197478
+       .long   0
+       .long   1071644672
+       .long   1159294526
+       .long   1072394883
+       .long   536870912
+       .long   3163276959
+       .long   1279178457
+       .long   1064107143
+       .long   0
+       .long   1071644672
+       .long   1731563730
+       .long   1072407978
+       .long   536870912
+       .long   1015540302
+       .long   31019393
+       .long   3212646089
+       .long   0
+       .long   1071644672
+       .long   2892993834
+       .long   1072420800
+       .long   536870912
+       .long   3163039143
+       .long   3506991783
+       .long   3214032490
+       .long   0
+       .long   1071644672
+       .long   645027145
+       .long   1072433348
+       .long   3221225472
+       .long   1012602239
+       .long   2140183630
+       .long   3214756396
+       .long   0
+       .long   1071644672
+       .long   4051746225
+       .long   1072445618
+       .long   1610612736
+       .long   3161907377
+       .long   600368053
+       .long   3215209541
+       .long   0
+       .long   1071644672
+       .long   881357723
+       .long   1072457611
+       .long   3221225472
+       .long   1013810890
+       .long   913431823
+       .long   3215576203
+       .long   0
+       .long   1071644672
+       .long   557060597
+       .long   1072469323
+       .long   0
+       .long   3159554934
+       .long   1073154251
+       .long   3215945137
+       .long   0
+       .long   1071644672
+       .long   4093443164
+       .long   1072480752
+       .long   536870912
+       .long   1014912865
+       .long   3631910143
+       .long   3216149439
+       .long   0
+       .long   1071644672
+       .long   4097623923
+       .long   1072491898
+       .long   2684354560
+       .long   3160308587
+       .long   1380647130
+       .long   3216336095
+       .long   0
+       .long   1071644672
+       .long   1950234076
+       .long   1072502759
+       .long   536870912
+       .long   3159425498
+       .long   4049357271
+       .long   3216523802
+       .long   0
+       .long   1071644672
+       .long   3511535930
+       .long   1072513332
+       .long   2147483648
+       .long   3162828626
+       .long   1896722595
+       .long   3216712534
+       .long   0
+       .long   1071644672
+       .long   1942611595
+       .long   1072523617
+       .long   3221225472
+       .long   3162410081
+       .long   1699043957
+       .long   3216902261
+       .long   0
+       .long   1071644672
+       .long   3476196678
+       .long   1072533611
+       .long   0
+       .long   1014257638
+       .long   3296146332
+       .long   1069485732
+       .long   0
+       .long   1070596096
+       .long   1647878299
+       .long   1072543314
+       .long   3758096384
+       .long   3162169063
+       .long   3286832763
+       .long   1069294100
+       .long   0
+       .long   1070596096
+       .long   3066872380
+       .long   1072552723
+       .long   3221225472
+       .long   1015561271
+       .long   1962712856
+       .long   1069101559
+       .long   0
+       .long   1070596096
+       .long   1647164971
+       .long   1072561838
+       .long   2147483648
+       .long   3162838250
+       .long   3601629044
+       .long   1068908137
+       .long   0
+       .long   1070596096
+       .long   83265253
+       .long   1072570657
+       .long   1610612736
+       .long   3162510535
+       .long   165911977
+       .long   1068713865
+       .long   0
+       .long   1070596096
+       .long   1261158782
+       .long   1072579178
+       .long   2147483648
+       .long   1015711544
+       .long   1348311045
+       .long   1068518770
+       .long   0
+       .long   1070596096
+       .long   3964199186
+       .long   1072587400
+       .long   3758096384
+       .long   3160501078
+       .long   386665102
+       .long   1068146822
+       .long   0
+       .long   1070596096
+       .long   2873938189
+       .long   1072595323
+       .long   1610612736
+       .long   3162311422
+       .long   1991047213
+       .long   1067753521
+       .long   0
+       .long   1070596096
+       .long   1455828442
+       .long   1072602945
+       .long   3758096384
+       .long   1015505073
+       .long   4107121629
+       .long   1067267139
+       .long   0
+       .long   1070596096
+       .long   3370060660
+       .long   1072610264
+       .long   1610612736
+       .long   1014787212
+       .long   723478390
+       .long   1066474790
+       .long   0
+       .long   1070596096
+       .long   3882371427
+       .long   1072617280
+       .long   2147483648
+       .long   1014923975
+       .long   2382326656
+       .long   1064562179
+       .long   0
+       .long   1070596096
+       .long   2749658050
+       .long   1072623992
+       .long   1610612736
+       .long   1015427338
+       .long   2614369450
+       .long   3212624080
+       .long   0
+       .long   1070596096
+       .long   4220661975
+       .long   1072630398
+       .long   3221225472
+       .long   1014312058
+       .long   3587565429
+       .long   3214108032
+       .long   0
+       .long   1070596096
+       .long   4151720666
+       .long   1072636498
+       .long   0
+       .long   3162639544
+       .long   2886567144
+       .long   3214910444
+       .long   0
+       .long   1070596096
+       .long   2892293513
+       .long   1072642291
+       .long   2684354560
+       .long   3162340271
+       .long   1765797566
+       .long   3215324543
+       .long   0
+       .long   1070596096
+       .long   990588717
+       .long   1072647776
+       .long   3758096384
+       .long   3162041857
+       .long   240740309
+       .long   3215727903
+       .long   0
+       .long   1070596096
+       .long   3489094832
+       .long   1072652951
+       .long   536870912
+       .long   1014325783
+       .long   2034433221
+       .long   1068349287
+       .long   0
+       .long   1069547520
+       .long   2745245815
+       .long   1072657817
+       .long   3221225472
+       .long   1015566129
+       .long   304938777
+       .long   1067944017
+       .long   0
+       .long   1069547520
+       .long   4201728937
+       .long   1072662372
+       .long   1610612736
+       .long   1014674006
+       .long   3299146087
+       .long   1067537882
+       .long   0
+       .long   1069547520
+       .long   617154971
+       .long   1072666617
+       .long   3758096384
+       .long   3163433696
+       .long   1953696209
+       .long   1066811523
+       .long   0
+       .long   1069547520
+       .long   2131272983
+       .long   1072670549
+       .long   3221225472
+       .long   3163005096
+       .long   3987691371
+       .long   1065590540
+       .long   0
+       .long   1069547520
+       .long   1905645377
+       .long   1072674169
+       .long   1610612736
+       .long   1014087596
+       .long   718380601
+       .long   3211081269
+       .long   0
+       .long   1069547520
+       .long   1893834707
+       .long   1072677476
+       .long   1610612736
+       .long   1015147654
+       .long   3272206680
+       .long   3213771729
+       .long   0
+       .long   1069547520
+       .long   4251821691
+       .long   1072680469
+       .long   2147483648
+       .long   3161841007
+       .long   257503056
+       .long   3214647653
+       .long   0
+       .long   1069547520
+       .long   2748392742
+       .long   1072683149
+       .long   536870912
+       .long   3163061750
+       .long   711626851
+       .long   1066916672
+       .long   0
+       .long   1068498944
+       .long   4240268041
+       .long   1072685514
+       .long   536870912
+       .long   1013588963
+       .long   2523975598
+       .long   1065789700
+       .long   0
+       .long   1068498944
+       .long   2902558778
+       .long   1072687565
+       .long   3221225472
+       .long   1013260780
+       .long   3237733378
+       .long   3209908784
+       .long   0
+       .long   1068498944
+       .long   1703834029
+       .long   1072689301
+       .long   3758096384
+       .long   1015028364
+       .long   1003003824
+       .long   3213591144
+       .long   0
+       .long   1068498944
+       .long   3816385918
+       .long   1072690721
+       .long   536870912
+       .long   3161216956
+       .long   2896342633
+       .long   1064747819
+       .long   0
+       .long   1067450368
+       .long   4026464093
+       .long   1072691826
+       .long   3221225472
+       .long   3163075789
+       .long   561145352
+       .long   3212540584
+       .long   0
+       .long   1067450368
+       .long   1619315981
+       .long   1072692616
+       .long   1073741824
+       .long   3162584397
+       .long   210035182
+       .long   3211491512
+       .long   0
+       .long   1066401792
+       .long   379294427
+       .long   1072693090
+       .long   3221225472
+       .long   1015405987
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .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   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .type   __svml_dcos_data_internal_ha,@object
+       .size   __svml_dcos_data_internal_ha,17280
+       .align 64
+__svml_dcos_reduction_data_internal:
+       .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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   1
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   5
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   10
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   20
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   40
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   81
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   162
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   325
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   651
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1303
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2607
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   5215
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   10430
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   20860
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   41721
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   83443
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   166886
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   333772
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   667544
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1335088
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2670176
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   5340353
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   10680707
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   21361414
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   42722829
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   85445659
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   170891318
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   341782637
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   683565275
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1367130551
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2734261102
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1173554908
+       .long   1
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2347109817
+       .long   2
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   399252338
+       .long   5
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   798504676
+       .long   10
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1597009353
+       .long   20
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3194018707
+       .long   40
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2093070119
+       .long   81
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4186140238
+       .long   162
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4077313180
+       .long   325
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3859659065
+       .long   651
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3424350834
+       .long   1303
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2553734372
+       .long   2607
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   812501448
+       .long   5215
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1625002897
+       .long   10430
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3250005794
+       .long   20860
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2205044292
+       .long   41721
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   115121288
+       .long   83443
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   230242576
+       .long   166886
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   460485152
+       .long   333772
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   920970305
+       .long   667544
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1841940610
+       .long   1335088
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3683881221
+       .long   2670176
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3072795146
+       .long   5340353
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1850622997
+       .long   10680707
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3701245994
+       .long   21361414
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3107524692
+       .long   42722829
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1920082089
+       .long   85445659
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3840164178
+       .long   170891318
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3385361061
+       .long   341782637
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2475754826
+       .long   683565275
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   656542356
+       .long   1367130551
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1313084713
+       .long   2734261102
+       .long   0
+       .long   0
+       .long   1
+       .long   0
+       .long   2626169427
+       .long   1173554908
+       .long   0
+       .long   0
+       .long   2
+       .long   0
+       .long   957371559
+       .long   2347109817
+       .long   0
+       .long   0
+       .long   5
+       .long   0
+       .long   1914743119
+       .long   399252338
+       .long   0
+       .long   0
+       .long   10
+       .long   0
+       .long   3829486239
+       .long   798504676
+       .long   0
+       .long   0
+       .long   20
+       .long   0
+       .long   3364005183
+       .long   1597009353
+       .long   0
+       .long   0
+       .long   40
+       .long   0
+       .long   2433043071
+       .long   3194018707
+       .long   0
+       .long   0
+       .long   81
+       .long   0
+       .long   571118846
+       .long   2093070119
+       .long   0
+       .long   0
+       .long   162
+       .long   0
+       .long   1142237692
+       .long   4186140238
+       .long   0
+       .long   0
+       .long   325
+       .long   0
+       .long   2284475384
+       .long   4077313180
+       .long   0
+       .long   0
+       .long   651
+       .long   0
+       .long   273983472
+       .long   3859659065
+       .long   0
+       .long   0
+       .long   1303
+       .long   0
+       .long   547966945
+       .long   3424350834
+       .long   0
+       .long   0
+       .long   2607
+       .long   0
+       .long   1095933890
+       .long   2553734372
+       .long   0
+       .long   0
+       .long   5215
+       .long   0
+       .long   2191867780
+       .long   812501448
+       .long   0
+       .long   0
+       .long   10430
+       .long   0
+       .long   88768265
+       .long   1625002897
+       .long   0
+       .long   0
+       .long   20860
+       .long   0
+       .long   177536531
+       .long   3250005794
+       .long   0
+       .long   0
+       .long   41721
+       .long   0
+       .long   355073063
+       .long   2205044292
+       .long   0
+       .long   0
+       .long   83443
+       .long   0
+       .long   710146126
+       .long   115121288
+       .long   0
+       .long   0
+       .long   166886
+       .long   0
+       .long   1420292253
+       .long   230242576
+       .long   0
+       .long   0
+       .long   333772
+       .long   0
+       .long   2840584506
+       .long   460485152
+       .long   0
+       .long   0
+       .long   667544
+       .long   0
+       .long   1386201717
+       .long   920970305
+       .long   0
+       .long   0
+       .long   1335088
+       .long   0
+       .long   2772403434
+       .long   1841940610
+       .long   0
+       .long   0
+       .long   2670176
+       .long   0
+       .long   1249839573
+       .long   3683881221
+       .long   0
+       .long   0
+       .long   5340353
+       .long   0
+       .long   2499679147
+       .long   3072795146
+       .long   0
+       .long   0
+       .long   10680707
+       .long   0
+       .long   704390999
+       .long   1850622997
+       .long   0
+       .long   0
+       .long   21361414
+       .long   0
+       .long   1408781999
+       .long   3701245994
+       .long   0
+       .long   0
+       .long   42722829
+       .long   0
+       .long   2817563999
+       .long   3107524692
+       .long   0
+       .long   0
+       .long   85445659
+       .long   0
+       .long   1340160702
+       .long   1920082089
+       .long   0
+       .long   0
+       .long   170891318
+       .long   0
+       .long   2680321405
+       .long   3840164178
+       .long   0
+       .long   0
+       .long   341782637
+       .long   0
+       .long   1065675514
+       .long   3385361061
+       .long   0
+       .long   0
+       .long   683565275
+       .long   0
+       .long   2131351028
+       .long   2475754826
+       .long   0
+       .long   0
+       .long   1367130551
+       .long   0
+       .long   4262702056
+       .long   656542356
+       .long   0
+       .long   0
+       .long   2734261102
+       .long   0
+       .long   4230436817
+       .long   1313084713
+       .long   0
+       .long   0
+       .long   1173554908
+       .long   1
+       .long   4165906339
+       .long   2626169427
+       .long   0
+       .long   0
+       .long   2347109817
+       .long   2
+       .long   4036845383
+       .long   957371559
+       .long   0
+       .long   0
+       .long   399252338
+       .long   5
+       .long   3778723471
+       .long   1914743119
+       .long   0
+       .long   0
+       .long   798504676
+       .long   10
+       .long   3262479647
+       .long   3829486239
+       .long   0
+       .long   0
+       .long   1597009353
+       .long   20
+       .long   2229991998
+       .long   3364005183
+       .long   0
+       .long   0
+       .long   3194018707
+       .long   40
+       .long   165016701
+       .long   2433043071
+       .long   0
+       .long   0
+       .long   2093070119
+       .long   81
+       .long   330033402
+       .long   571118846
+       .long   0
+       .long   0
+       .long   4186140238
+       .long   162
+       .long   660066805
+       .long   1142237692
+       .long   0
+       .long   0
+       .long   4077313180
+       .long   325
+       .long   1320133610
+       .long   2284475384
+       .long   0
+       .long   0
+       .long   3859659065
+       .long   651
+       .long   2640267220
+       .long   273983472
+       .long   0
+       .long   0
+       .long   3424350834
+       .long   1303
+       .long   985567145
+       .long   547966945
+       .long   0
+       .long   0
+       .long   2553734372
+       .long   2607
+       .long   1971134291
+       .long   1095933890
+       .long   0
+       .long   0
+       .long   812501448
+       .long   5215
+       .long   3942268582
+       .long   2191867780
+       .long   0
+       .long   0
+       .long   1625002897
+       .long   10430
+       .long   3589569869
+       .long   88768265
+       .long   0
+       .long   0
+       .long   3250005794
+       .long   20860
+       .long   2884172442
+       .long   177536531
+       .long   0
+       .long   0
+       .long   2205044292
+       .long   41721
+       .long   1473377588
+       .long   355073063
+       .long   0
+       .long   0
+       .long   115121288
+       .long   83443
+       .long   2946755177
+       .long   710146126
+       .long   0
+       .long   0
+       .long   230242576
+       .long   166886
+       .long   1598543059
+       .long   1420292253
+       .long   0
+       .long   0
+       .long   460485152
+       .long   333772
+       .long   3197086118
+       .long   2840584506
+       .long   0
+       .long   0
+       .long   920970305
+       .long   667544
+       .long   2099204941
+       .long   1386201717
+       .long   0
+       .long   0
+       .long   1841940610
+       .long   1335088
+       .long   4198409883
+       .long   2772403434
+       .long   0
+       .long   0
+       .long   3683881221
+       .long   2670176
+       .long   4101852471
+       .long   1249839573
+       .long   0
+       .long   0
+       .long   3072795146
+       .long   5340353
+       .long   3908737646
+       .long   2499679147
+       .long   0
+       .long   0
+       .long   1850622997
+       .long   10680707
+       .long   3522507997
+       .long   704390999
+       .long   0
+       .long   0
+       .long   3701245994
+       .long   21361414
+       .long   2750048699
+       .long   1408781999
+       .long   0
+       .long   0
+       .long   3107524692
+       .long   42722829
+       .long   1205130103
+       .long   2817563999
+       .long   0
+       .long   0
+       .long   1920082089
+       .long   85445659
+       .long   2410260206
+       .long   1340160702
+       .long   0
+       .long   0
+       .long   3840164178
+       .long   170891318
+       .long   525553116
+       .long   2680321405
+       .long   0
+       .long   0
+       .long   3385361061
+       .long   341782637
+       .long   1051106232
+       .long   1065675514
+       .long   0
+       .long   0
+       .long   2475754826
+       .long   683565275
+       .long   2102212464
+       .long   2131351028
+       .long   0
+       .long   0
+       .long   656542356
+       .long   1367130551
+       .long   4204424928
+       .long   4262702056
+       .long   0
+       .long   0
+       .long   1313084713
+       .long   2734261102
+       .long   4113882560
+       .long   4230436817
+       .long   1
+       .long   0
+       .long   2626169427
+       .long   1173554908
+       .long   3932797825
+       .long   4165906339
+       .long   2
+       .long   0
+       .long   957371559
+       .long   2347109817
+       .long   3570628355
+       .long   4036845383
+       .long   5
+       .long   0
+       .long   1914743119
+       .long   399252338
+       .long   2846289414
+       .long   3778723471
+       .long   10
+       .long   0
+       .long   3829486239
+       .long   798504676
+       .long   1397611533
+       .long   3262479647
+       .long   20
+       .long   0
+       .long   3364005183
+       .long   1597009353
+       .long   2795223067
+       .long   2229991998
+       .long   40
+       .long   0
+       .long   2433043071
+       .long   3194018707
+       .long   1295478838
+       .long   165016701
+       .long   81
+       .long   0
+       .long   571118846
+       .long   2093070119
+       .long   2590957677
+       .long   330033402
+       .long   162
+       .long   0
+       .long   1142237692
+       .long   4186140238
+       .long   886948059
+       .long   660066805
+       .long   325
+       .long   0
+       .long   2284475384
+       .long   4077313180
+       .long   1773896118
+       .long   1320133610
+       .long   651
+       .long   0
+       .long   273983472
+       .long   3859659065
+       .long   3547792237
+       .long   2640267220
+       .long   1303
+       .long   0
+       .long   547966945
+       .long   3424350834
+       .long   2800617179
+       .long   985567145
+       .long   2607
+       .long   0
+       .long   1095933890
+       .long   2553734372
+       .long   1306267062
+       .long   1971134291
+       .long   5215
+       .long   0
+       .long   2191867780
+       .long   812501448
+       .long   2612534124
+       .long   3942268582
+       .long   10430
+       .long   0
+       .long   88768265
+       .long   1625002897
+       .long   930100952
+       .long   3589569869
+       .long   20860
+       .long   0
+       .long   177536531
+       .long   3250005794
+       .long   1860201905
+       .long   2884172442
+       .long   41721
+       .long   0
+       .long   355073063
+       .long   2205044292
+       .long   3720403810
+       .long   1473377588
+       .long   83443
+       .long   0
+       .long   710146126
+       .long   115121288
+       .long   3145840325
+       .long   2946755177
+       .long   166886
+       .long   0
+       .long   1420292253
+       .long   230242576
+       .long   1996713354
+       .long   1598543059
+       .long   333772
+       .long   0
+       .long   2840584506
+       .long   460485152
+       .long   3993426708
+       .long   3197086118
+       .long   667544
+       .long   0
+       .long   1386201717
+       .long   920970305
+       .long   3691886121
+       .long   2099204941
+       .long   1335088
+       .long   0
+       .long   2772403434
+       .long   1841940610
+       .long   3088804946
+       .long   4198409883
+       .long   2670176
+       .long   0
+       .long   1249839573
+       .long   3683881221
+       .long   1882642597
+       .long   4101852471
+       .long   5340353
+       .long   0
+       .long   2499679147
+       .long   3072795146
+       .long   3765285194
+       .long   3908737646
+       .long   10680707
+       .long   0
+       .long   704390999
+       .long   1850622997
+       .long   3235603093
+       .long   3522507997
+       .long   21361414
+       .long   0
+       .long   1408781999
+       .long   3701245994
+       .long   2176238891
+       .long   2750048699
+       .long   42722829
+       .long   0
+       .long   2817563999
+       .long   3107524692
+       .long   57510486
+       .long   1205130103
+       .long   85445659
+       .long   0
+       .long   1340160702
+       .long   1920082089
+       .long   115020972
+       .long   2410260206
+       .long   170891318
+       .long   0
+       .long   2680321405
+       .long   3840164178
+       .long   230041945
+       .long   525553116
+       .long   341782637
+       .long   0
+       .long   1065675514
+       .long   3385361061
+       .long   460083891
+       .long   1051106232
+       .long   683565275
+       .long   0
+       .long   2131351028
+       .long   2475754826
+       .long   920167782
+       .long   2102212464
+       .long   1367130551
+       .long   0
+       .long   4262702056
+       .long   656542356
+       .long   1840335564
+       .long   4204424928
+       .long   2734261102
+       .long   0
+       .long   4230436817
+       .long   1313084713
+       .long   3680671129
+       .long   4113882560
+       .long   1173554908
+       .long   1
+       .long   4165906339
+       .long   2626169427
+       .long   3066374962
+       .long   3932797825
+       .long   2347109817
+       .long   2
+       .long   4036845383
+       .long   957371559
+       .long   1837782628
+       .long   3570628355
+       .long   399252338
+       .long   5
+       .long   3778723471
+       .long   1914743119
+       .long   3675565257
+       .long   2846289414
+       .long   798504676
+       .long   10
+       .long   3262479647
+       .long   3829486239
+       .long   3056163219
+       .long   1397611533
+       .long   1597009353
+       .long   20
+       .long   2229991998
+       .long   3364005183
+       .long   1817359143
+       .long   2795223067
+       .long   3194018707
+       .long   40
+       .long   165016701
+       .long   2433043071
+       .long   3634718287
+       .long   1295478838
+       .long   2093070119
+       .long   81
+       .long   330033402
+       .long   571118846
+       .long   2974469278
+       .long   2590957677
+       .long   4186140238
+       .long   162
+       .long   660066805
+       .long   1142237692
+       .long   1653971260
+       .long   886948059
+       .long   4077313180
+       .long   325
+       .long   1320133610
+       .long   2284475384
+       .long   3307942520
+       .long   1773896118
+       .long   3859659065
+       .long   651
+       .long   2640267220
+       .long   273983472
+       .long   2320917745
+       .long   3547792237
+       .long   3424350834
+       .long   1303
+       .long   985567145
+       .long   547966945
+       .long   346868194
+       .long   2800617179
+       .long   2553734372
+       .long   2607
+       .long   1971134291
+       .long   1095933890
+       .long   693736388
+       .long   1306267062
+       .long   812501448
+       .long   5215
+       .long   3942268582
+       .long   2191867780
+       .long   1387472776
+       .long   2612534124
+       .long   1625002897
+       .long   10430
+       .long   3589569869
+       .long   88768265
+       .long   2774945552
+       .long   930100952
+       .long   3250005794
+       .long   20860
+       .long   2884172442
+       .long   177536531
+       .long   1254923809
+       .long   1860201905
+       .long   2205044292
+       .long   41721
+       .long   1473377588
+       .long   355073063
+       .long   2509847619
+       .long   3720403810
+       .long   115121288
+       .long   83443
+       .long   2946755177
+       .long   710146126
+       .long   724727943
+       .long   3145840325
+       .long   230242576
+       .long   166886
+       .long   1598543059
+       .long   1420292253
+       .long   1449455886
+       .long   1996713354
+       .long   460485152
+       .long   333772
+       .long   3197086118
+       .long   2840584506
+       .long   2898911772
+       .long   3993426708
+       .long   920970305
+       .long   667544
+       .long   2099204941
+       .long   1386201717
+       .long   1502856249
+       .long   3691886121
+       .long   1841940610
+       .long   1335088
+       .long   4198409883
+       .long   2772403434
+       .long   3005712498
+       .long   3088804946
+       .long   3683881221
+       .long   2670176
+       .long   4101852471
+       .long   1249839573
+       .long   1716457700
+       .long   1882642597
+       .long   3072795146
+       .long   5340353
+       .long   3908737646
+       .long   2499679147
+       .long   3432915400
+       .long   3765285194
+       .long   1850622997
+       .long   10680707
+       .long   3522507997
+       .long   704390999
+       .long   2570863504
+       .long   3235603093
+       .long   3701245994
+       .long   21361414
+       .long   2750048699
+       .long   1408781999
+       .long   846759712
+       .long   2176238891
+       .long   3107524692
+       .long   42722829
+       .long   1205130103
+       .long   2817563999
+       .long   1693519425
+       .long   57510486
+       .long   1920082089
+       .long   85445659
+       .long   2410260206
+       .long   1340160702
+       .long   3387038850
+       .long   115020972
+       .long   3840164178
+       .long   170891318
+       .long   525553116
+       .long   2680321405
+       .long   2479110404
+       .long   230041945
+       .long   3385361061
+       .long   341782637
+       .long   1051106232
+       .long   1065675514
+       .long   663253512
+       .long   460083891
+       .long   2475754826
+       .long   683565275
+       .long   2102212464
+       .long   2131351028
+       .long   1326507024
+       .long   920167782
+       .long   656542356
+       .long   1367130551
+       .long   4204424928
+       .long   4262702056
+       .long   2653014048
+       .long   1840335564
+       .long   1313084713
+       .long   2734261102
+       .long   4113882560
+       .long   4230436817
+       .long   1011060801
+       .long   3680671129
+       .long   2626169427
+       .long   1173554908
+       .long   3932797825
+       .long   4165906339
+       .long   2022121603
+       .long   3066374962
+       .long   957371559
+       .long   2347109817
+       .long   3570628355
+       .long   4036845383
+       .long   4044243207
+       .long   1837782628
+       .long   1914743119
+       .long   399252338
+       .long   2846289414
+       .long   3778723471
+       .long   3793519119
+       .long   3675565257
+       .long   3829486239
+       .long   798504676
+       .long   1397611533
+       .long   3262479647
+       .long   3292070943
+       .long   3056163219
+       .long   3364005183
+       .long   1597009353
+       .long   2795223067
+       .long   2229991998
+       .long   2289174591
+       .long   1817359143
+       .long   2433043071
+       .long   3194018707
+       .long   1295478838
+       .long   165016701
+       .long   283381887
+       .long   3634718287
+       .long   571118846
+       .long   2093070119
+       .long   2590957677
+       .long   330033402
+       .long   566763775
+       .long   2974469278
+       .long   1142237692
+       .long   4186140238
+       .long   886948059
+       .long   660066805
+       .long   1133527550
+       .long   1653971260
+       .long   2284475384
+       .long   4077313180
+       .long   1773896118
+       .long   1320133610
+       .long   2267055100
+       .long   3307942520
+       .long   273983472
+       .long   3859659065
+       .long   3547792237
+       .long   2640267220
+       .long   239142905
+       .long   2320917745
+       .long   547966945
+       .long   3424350834
+       .long   2800617179
+       .long   985567145
+       .long   478285810
+       .long   346868194
+       .long   1095933890
+       .long   2553734372
+       .long   1306267062
+       .long   1971134291
+       .long   956571621
+       .long   693736388
+       .long   2191867780
+       .long   812501448
+       .long   2612534124
+       .long   3942268582
+       .long   1913143242
+       .long   1387472776
+       .long   88768265
+       .long   1625002897
+       .long   930100952
+       .long   3589569869
+       .long   3826286484
+       .long   2774945552
+       .long   177536531
+       .long   3250005794
+       .long   1860201905
+       .long   2884172442
+       .long   3357605672
+       .long   1254923809
+       .long   355073063
+       .long   2205044292
+       .long   3720403810
+       .long   1473377588
+       .long   2420244049
+       .long   2509847619
+       .long   710146126
+       .long   115121288
+       .long   3145840325
+       .long   2946755177
+       .long   545520802
+       .long   724727943
+       .long   1420292253
+       .long   230242576
+       .long   1996713354
+       .long   1598543059
+       .long   1091041605
+       .long   1449455886
+       .long   2840584506
+       .long   460485152
+       .long   3993426708
+       .long   3197086118
+       .long   2182083211
+       .long   2898911772
+       .long   1386201717
+       .long   920970305
+       .long   3691886121
+       .long   2099204941
+       .long   69199126
+       .long   1502856249
+       .long   2772403434
+       .long   1841940610
+       .long   3088804946
+       .long   4198409883
+       .long   138398252
+       .long   3005712498
+       .long   1249839573
+       .long   3683881221
+       .long   1882642597
+       .long   4101852471
+       .long   276796504
+       .long   1716457700
+       .long   2499679147
+       .long   3072795146
+       .long   3765285194
+       .long   3908737646
+       .long   553593009
+       .long   3432915400
+       .long   704390999
+       .long   1850622997
+       .long   3235603093
+       .long   3522507997
+       .long   1107186019
+       .long   2570863504
+       .long   1408781999
+       .long   3701245994
+       .long   2176238891
+       .long   2750048699
+       .long   2214372039
+       .long   846759712
+       .long   2817563999
+       .long   3107524692
+       .long   57510486
+       .long   1205130103
+       .long   133776782
+       .long   1693519425
+       .long   1340160702
+       .long   1920082089
+       .long   115020972
+       .long   2410260206
+       .long   267553565
+       .long   3387038850
+       .long   2680321405
+       .long   3840164178
+       .long   230041945
+       .long   525553116
+       .long   535107130
+       .long   2479110404
+       .long   1065675514
+       .long   3385361061
+       .long   460083891
+       .long   1051106232
+       .long   1070214261
+       .long   663253512
+       .long   2131351028
+       .long   2475754826
+       .long   920167782
+       .long   2102212464
+       .long   2140428522
+       .long   1326507024
+       .long   4262702056
+       .long   656542356
+       .long   1840335564
+       .long   4204424928
+       .long   4280857045
+       .long   2653014048
+       .long   4230436817
+       .long   1313084713
+       .long   3680671129
+       .long   4113882560
+       .long   4266746795
+       .long   1011060801
+       .long   4165906339
+       .long   2626169427
+       .long   3066374962
+       .long   3932797825
+       .long   4238526295
+       .long   2022121603
+       .long   4036845383
+       .long   957371559
+       .long   1837782628
+       .long   3570628355
+       .long   4182085295
+       .long   4044243207
+       .long   3778723471
+       .long   1914743119
+       .long   3675565257
+       .long   2846289414
+       .long   4069203294
+       .long   3793519119
+       .long   3262479647
+       .long   3829486239
+       .long   3056163219
+       .long   1397611533
+       .long   3843439293
+       .long   3292070943
+       .long   2229991998
+       .long   3364005183
+       .long   1817359143
+       .long   2795223067
+       .long   3391911291
+       .long   2289174591
+       .long   165016701
+       .long   2433043071
+       .long   3634718287
+       .long   1295478838
+       .long   2488855287
+       .long   283381887
+       .long   330033402
+       .long   571118846
+       .long   2974469278
+       .long   2590957677
+       .long   682743279
+       .long   566763775
+       .long   660066805
+       .long   1142237692
+       .long   1653971260
+       .long   886948059
+       .long   1365486558
+       .long   1133527550
+       .long   1320133610
+       .long   2284475384
+       .long   3307942520
+       .long   1773896118
+       .long   2730973117
+       .long   2267055100
+       .long   2640267220
+       .long   273983472
+       .long   2320917745
+       .long   3547792237
+       .long   1166978938
+       .long   239142905
+       .long   985567145
+       .long   547966945
+       .long   346868194
+       .long   2800617179
+       .long   2333957877
+       .long   478285810
+       .long   1971134291
+       .long   1095933890
+       .long   693736388
+       .long   1306267062
+       .long   372948459
+       .long   956571621
+       .long   3942268582
+       .long   2191867780
+       .long   1387472776
+       .long   2612534124
+       .long   745896919
+       .long   1913143242
+       .long   3589569869
+       .long   88768265
+       .long   2774945552
+       .long   930100952
+       .long   1491793838
+       .long   3826286484
+       .long   2884172442
+       .long   177536531
+       .long   1254923809
+       .long   1860201905
+       .long   2983587677
+       .long   3357605672
+       .long   1473377588
+       .long   355073063
+       .long   2509847619
+       .long   3720403810
+       .long   1672208059
+       .long   2420244049
+       .long   2946755177
+       .long   710146126
+       .long   724727943
+       .long   3145840325
+       .long   3344416119
+       .long   545520802
+       .long   1598543059
+       .long   1420292253
+       .long   1449455886
+       .long   1996713354
+       .long   2393864943
+       .long   1091041605
+       .long   3197086118
+       .long   2840584506
+       .long   2898911772
+       .long   3993426708
+       .long   492762590
+       .long   2182083211
+       .long   2099204941
+       .long   1386201717
+       .long   1502856249
+       .long   3691886121
+       .long   985525180
+       .long   69199126
+       .long   4198409883
+       .long   2772403434
+       .long   3005712498
+       .long   3088804946
+       .long   1971050360
+       .long   138398252
+       .long   4101852471
+       .long   1249839573
+       .long   1716457700
+       .long   1882642597
+       .long   3942100721
+       .long   276796504
+       .long   3908737646
+       .long   2499679147
+       .long   3432915400
+       .long   3765285194
+       .long   3589234146
+       .long   553593009
+       .long   3522507997
+       .long   704390999
+       .long   2570863504
+       .long   3235603093
+       .long   2883500997
+       .long   1107186019
+       .long   2750048699
+       .long   1408781999
+       .long   846759712
+       .long   2176238891
+       .long   1472034698
+       .long   2214372039
+       .long   1205130103
+       .long   2817563999
+       .long   1693519425
+       .long   57510486
+       .long   2944069397
+       .long   133776782
+       .long   2410260206
+       .long   1340160702
+       .long   3387038850
+       .long   115020972
+       .long   1593171499
+       .long   267553565
+       .long   525553116
+       .long   2680321405
+       .long   2479110404
+       .long   230041945
+       .long   3186342998
+       .long   535107130
+       .long   1051106232
+       .long   1065675514
+       .long   663253512
+       .long   460083891
+       .long   2077718700
+       .long   1070214261
+       .long   2102212464
+       .long   2131351028
+       .long   1326507024
+       .long   920167782
+       .long   4155437400
+       .long   2140428522
+       .long   4204424928
+       .long   4262702056
+       .long   2653014048
+       .long   1840335564
+       .long   4015907504
+       .long   4280857045
+       .long   4113882560
+       .long   4230436817
+       .long   1011060801
+       .long   3680671129
+       .long   3736847713
+       .long   4266746795
+       .long   3932797825
+       .long   4165906339
+       .long   2022121603
+       .long   3066374962
+       .long   3178728131
+       .long   4238526295
+       .long   3570628355
+       .long   4036845383
+       .long   4044243207
+       .long   1837782628
+       .long   2062488966
+       .long   4182085295
+       .long   2846289414
+       .long   3778723471
+       .long   3793519119
+       .long   3675565257
+       .long   4124977933
+       .long   4069203294
+       .long   1397611533
+       .long   3262479647
+       .long   3292070943
+       .long   3056163219
+       .long   3954988571
+       .long   3843439293
+       .long   2795223067
+       .long   2229991998
+       .long   2289174591
+       .long   1817359143
+       .long   3615009846
+       .long   3391911291
+       .long   1295478838
+       .long   165016701
+       .long   283381887
+       .long   3634718287
+       .long   2935052397
+       .long   2488855287
+       .long   2590957677
+       .long   330033402
+       .long   566763775
+       .long   2974469278
+       .long   1575137499
+       .long   682743279
+       .long   886948059
+       .long   660066805
+       .long   1133527550
+       .long   1653971260
+       .long   3150274999
+       .long   1365486558
+       .long   1773896118
+       .long   1320133610
+       .long   2267055100
+       .long   3307942520
+       .long   2005582702
+       .long   2730973117
+       .long   3547792237
+       .long   2640267220
+       .long   239142905
+       .long   2320917745
+       .long   4011165404
+       .long   1166978938
+       .long   2800617179
+       .long   985567145
+       .long   478285810
+       .long   346868194
+       .long   3727363513
+       .long   2333957877
+       .long   1306267062
+       .long   1971134291
+       .long   956571621
+       .long   693736388
+       .long   3159759730
+       .long   372948459
+       .long   2612534124
+       .long   3942268582
+       .long   1913143242
+       .long   1387472776
+       .long   2024552164
+       .long   745896919
+       .long   930100952
+       .long   3589569869
+       .long   3826286484
+       .long   2774945552
+       .long   4049104329
+       .long   1491793838
+       .long   1860201905
+       .long   2884172442
+       .long   3357605672
+       .long   1254923809
+       .long   3803241362
+       .long   2983587677
+       .long   3720403810
+       .long   1473377588
+       .long   2420244049
+       .long   2509847619
+       .long   3311515428
+       .long   1672208059
+       .long   3145840325
+       .long   2946755177
+       .long   545520802
+       .long   724727943
+       .long   2328063560
+       .long   3344416119
+       .long   1996713354
+       .long   1598543059
+       .long   1091041605
+       .long   1449455886
+       .long   361159825
+       .long   2393864943
+       .long   3993426708
+       .long   3197086118
+       .long   2182083211
+       .long   2898911772
+       .long   722319651
+       .long   492762590
+       .long   3691886121
+       .long   2099204941
+       .long   69199126
+       .long   1502856249
+       .long   1444639302
+       .long   985525180
+       .long   3088804946
+       .long   4198409883
+       .long   138398252
+       .long   3005712498
+       .long   2889278605
+       .long   1971050360
+       .long   1882642597
+       .long   4101852471
+       .long   276796504
+       .long   1716457700
+       .long   1483589915
+       .long   3942100721
+       .long   3765285194
+       .long   3908737646
+       .long   553593009
+       .long   3432915400
+       .long   2967179831
+       .long   3589234146
+       .long   3235603093
+       .long   3522507997
+       .long   1107186019
+       .long   2570863504
+       .long   1639392366
+       .long   2883500997
+       .long   2176238891
+       .long   2750048699
+       .long   2214372039
+       .long   846759712
+       .long   3278784732
+       .long   1472034698
+       .long   57510486
+       .long   1205130103
+       .long   133776782
+       .long   1693519425
+       .long   2262602168
+       .long   2944069397
+       .long   115020972
+       .long   2410260206
+       .long   267553565
+       .long   3387038850
+       .long   230237041
+       .long   1593171499
+       .long   230041945
+       .long   525553116
+       .long   535107130
+       .long   2479110404
+       .long   460474083
+       .long   3186342998
+       .long   460083891
+       .long   1051106232
+       .long   1070214261
+       .long   663253512
+       .long   920948167
+       .long   2077718700
+       .long   920167782
+       .long   2102212464
+       .long   2140428522
+       .long   1326507024
+       .long   1841896334
+       .long   4155437400
+       .long   1840335564
+       .long   4204424928
+       .long   4280857045
+       .long   2653014048
+       .long   3683792669
+       .long   4015907504
+       .long   3680671129
+       .long   4113882560
+       .long   4266746795
+       .long   1011060801
+       .long   3072618042
+       .long   3736847713
+       .long   3066374962
+       .long   3932797825
+       .long   4238526295
+       .long   2022121603
+       .long   1850268788
+       .long   3178728131
+       .long   1837782628
+       .long   3570628355
+       .long   4182085295
+       .long   4044243207
+       .long   3700537577
+       .long   2062488966
+       .long   3675565257
+       .long   2846289414
+       .long   4069203294
+       .long   3793519119
+       .long   3106107858
+       .long   4124977933
+       .long   3056163219
+       .long   1397611533
+       .long   3843439293
+       .long   3292070943
+       .long   1917248420
+       .long   3954988571
+       .long   1817359143
+       .long   2795223067
+       .long   3391911291
+       .long   2289174591
+       .long   3834496840
+       .long   3615009846
+       .long   3634718287
+       .long   1295478838
+       .long   2488855287
+       .long   283381887
+       .long   3374026384
+       .long   2935052397
+       .long   2974469278
+       .long   2590957677
+       .long   682743279
+       .long   566763775
+       .long   2453085473
+       .long   1575137499
+       .long   1653971260
+       .long   886948059
+       .long   1365486558
+       .long   1133527550
+       .long   611203650
+       .long   3150274999
+       .long   3307942520
+       .long   1773896118
+       .long   2730973117
+       .long   2267055100
+       .long   1222407300
+       .long   2005582702
+       .long   2320917745
+       .long   3547792237
+       .long   1166978938
+       .long   239142905
+       .long   2444814601
+       .long   4011165404
+       .long   346868194
+       .long   2800617179
+       .long   2333957877
+       .long   478285810
+       .long   594661906
+       .long   3727363513
+       .long   693736388
+       .long   1306267062
+       .long   372948459
+       .long   956571621
+       .long   1189323812
+       .long   3159759730
+       .long   1387472776
+       .long   2612534124
+       .long   745896919
+       .long   1913143242
+       .long   2378647625
+       .long   2024552164
+       .long   2774945552
+       .long   930100952
+       .long   1491793838
+       .long   3826286484
+       .long   462327955
+       .long   4049104329
+       .long   1254923809
+       .long   1860201905
+       .long   2983587677
+       .long   3357605672
+       .long   924655910
+       .long   3803241362
+       .long   2509847619
+       .long   3720403810
+       .long   1672208059
+       .long   2420244049
+       .long   1849311821
+       .long   3311515428
+       .long   724727943
+       .long   3145840325
+       .long   3344416119
+       .long   545520802
+       .long   3698623643
+       .long   2328063560
+       .long   1449455886
+       .long   1996713354
+       .long   2393864943
+       .long   1091041605
+       .long   3102279991
+       .long   361159825
+       .long   2898911772
+       .long   3993426708
+       .long   492762590
+       .long   2182083211
+       .long   1909592686
+       .long   722319651
+       .long   1502856249
+       .long   3691886121
+       .long   985525180
+       .long   69199126
+       .long   3819185373
+       .long   1444639302
+       .long   3005712498
+       .long   3088804946
+       .long   1971050360
+       .long   138398252
+       .long   3343403450
+       .long   2889278605
+       .long   1716457700
+       .long   1882642597
+       .long   3942100721
+       .long   276796504
+       .long   2391839604
+       .long   1483589915
+       .long   3432915400
+       .long   3765285194
+       .long   3589234146
+       .long   553593009
+       .long   488711913
+       .long   2967179831
+       .long   2570863504
+       .long   3235603093
+       .long   2883500997
+       .long   1107186019
+       .long   977423826
+       .long   1639392366
+       .long   846759712
+       .long   2176238891
+       .long   1472034698
+       .long   2214372039
+       .long   1954847653
+       .long   3278784732
+       .long   1693519425
+       .long   57510486
+       .long   2944069397
+       .long   133776782
+       .long   3909695307
+       .long   2262602168
+       .long   3387038850
+       .long   115020972
+       .long   1593171499
+       .long   267553565
+       .long   3524423319
+       .long   230237041
+       .long   2479110404
+       .long   230041945
+       .long   3186342998
+       .long   535107130
+       .long   2753879342
+       .long   460474083
+       .long   663253512
+       .long   460083891
+       .long   2077718700
+       .long   1070214261
+       .long   1212791388
+       .long   920948167
+       .long   1326507024
+       .long   920167782
+       .long   4155437400
+       .long   2140428522
+       .long   2425582776
+       .long   1841896334
+       .long   2653014048
+       .long   1840335564
+       .long   4015907504
+       .long   4280857045
+       .long   556198256
+       .long   3683792669
+       .long   1011060801
+       .long   3680671129
+       .long   3736847713
+       .long   4266746795
+       .long   1112396512
+       .long   3072618042
+       .long   2022121603
+       .long   3066374962
+       .long   3178728131
+       .long   4238526295
+       .long   2224793024
+       .long   1850268788
+       .long   4044243207
+       .long   1837782628
+       .long   2062488966
+       .long   4182085295
+       .long   154618752
+       .long   3700537577
+       .long   3793519119
+       .long   3675565257
+       .long   4124977933
+       .long   4069203294
+       .long   309237504
+       .long   3106107858
+       .long   3292070943
+       .long   3056163219
+       .long   3954988571
+       .long   3843439293
+       .long   618475008
+       .long   1917248420
+       .long   2289174591
+       .long   1817359143
+       .long   3615009846
+       .long   3391911291
+       .long   1236950016
+       .long   3834496840
+       .long   283381887
+       .long   3634718287
+       .long   2935052397
+       .long   2488855287
+       .long   2473900033
+       .long   3374026384
+       .long   566763775
+       .long   2974469278
+       .long   1575137499
+       .long   682743279
+       .long   652832771
+       .long   2453085473
+       .long   1133527550
+       .long   1653971260
+       .long   3150274999
+       .long   1365486558
+       .long   1305665542
+       .long   611203650
+       .long   2267055100
+       .long   3307942520
+       .long   2005582702
+       .long   2730973117
+       .long   2611331084
+       .long   1222407300
+       .long   239142905
+       .long   2320917745
+       .long   4011165404
+       .long   1166978938
+       .long   927694873
+       .long   2444814601
+       .long   478285810
+       .long   346868194
+       .long   3727363513
+       .long   2333957877
+       .long   1855389746
+       .long   594661906
+       .long   956571621
+       .long   693736388
+       .long   3159759730
+       .long   372948459
+       .long   3710779492
+       .long   1189323812
+       .long   1913143242
+       .long   1387472776
+       .long   2024552164
+       .long   745896919
+       .long   3126591689
+       .long   2378647625
+       .long   3826286484
+       .long   2774945552
+       .long   4049104329
+       .long   1491793838
+       .long   1958216082
+       .long   462327955
+       .long   3357605672
+       .long   1254923809
+       .long   3803241362
+       .long   2983587677
+       .long   3916432164
+       .long   924655910
+       .long   2420244049
+       .long   2509847619
+       .long   3311515428
+       .long   1672208059
+       .long   3537897033
+       .long   1849311821
+       .long   545520802
+       .long   724727943
+       .long   2328063560
+       .long   3344416119
+       .long   2780826770
+       .long   3698623643
+       .long   1091041605
+       .long   1449455886
+       .long   361159825
+       .long   2393864943
+       .long   1266686244
+       .long   3102279991
+       .long   2182083211
+       .long   2898911772
+       .long   722319651
+       .long   492762590
+       .long   2533372489
+       .long   1909592686
+       .long   69199126
+       .long   1502856249
+       .long   1444639302
+       .long   985525180
+       .long   771777682
+       .long   3819185373
+       .long   138398252
+       .long   3005712498
+       .long   2889278605
+       .long   1971050360
+       .long   1543555365
+       .long   3343403450
+       .long   276796504
+       .long   1716457700
+       .long   1483589915
+       .long   3942100721
+       .long   3087110731
+       .long   2391839604
+       .long   553593009
+       .long   3432915400
+       .long   2967179831
+       .long   3589234146
+       .long   1879254167
+       .long   488711913
+       .long   1107186019
+       .long   2570863504
+       .long   1639392366
+       .long   2883500997
+       .long   3758508334
+       .long   977423826
+       .long   2214372039
+       .long   846759712
+       .long   3278784732
+       .long   1472034698
+       .long   3222049373
+       .long   1954847653
+       .long   133776782
+       .long   1693519425
+       .long   2262602168
+       .long   2944069397
+       .long   2149131451
+       .long   3909695307
+       .long   267553565
+       .long   3387038850
+       .long   230237041
+       .long   1593171499
+       .long   3295607
+       .long   3524423319
+       .long   535107130
+       .long   2479110404
+       .long   460474083
+       .long   3186342998
+       .long   6591214
+       .long   2753879342
+       .long   1070214261
+       .long   663253512
+       .long   920948167
+       .long   2077718700
+       .long   13182429
+       .long   1212791388
+       .long   2140428522
+       .long   1326507024
+       .long   1841896334
+       .long   4155437400
+       .long   26364858
+       .long   2425582776
+       .long   4280857045
+       .long   2653014048
+       .long   3683792669
+       .long   4015907504
+       .long   52729717
+       .long   556198256
+       .long   4266746795
+       .long   1011060801
+       .long   3072618042
+       .long   3736847713
+       .long   105459434
+       .long   1112396512
+       .long   4238526295
+       .long   2022121603
+       .long   1850268788
+       .long   3178728131
+       .long   210918868
+       .long   2224793024
+       .long   4182085295
+       .long   4044243207
+       .long   3700537577
+       .long   2062488966
+       .long   421837736
+       .long   154618752
+       .long   4069203294
+       .long   3793519119
+       .long   3106107858
+       .long   4124977933
+       .long   843675472
+       .long   309237504
+       .long   3843439293
+       .long   3292070943
+       .long   1917248420
+       .long   3954988571
+       .long   1687350944
+       .long   618475008
+       .long   3391911291
+       .long   2289174591
+       .long   3834496840
+       .long   3615009846
+       .long   3374701889
+       .long   1236950016
+       .long   2488855287
+       .long   283381887
+       .long   3374026384
+       .long   2935052397
+       .long   2454436482
+       .long   2473900033
+       .long   682743279
+       .long   566763775
+       .long   2453085473
+       .long   1575137499
+       .long   613905668
+       .long   652832771
+       .long   1365486558
+       .long   1133527550
+       .long   611203650
+       .long   3150274999
+       .long   1227811337
+       .long   1305665542
+       .long   2730973117
+       .long   2267055100
+       .long   1222407300
+       .long   2005582702
+       .long   2455622675
+       .long   2611331084
+       .long   1166978938
+       .long   239142905
+       .long   2444814601
+       .long   4011165404
+       .long   616278055
+       .long   927694873
+       .long   2333957877
+       .long   478285810
+       .long   594661906
+       .long   3727363513
+       .long   1232556110
+       .long   1855389746
+       .long   372948459
+       .long   956571621
+       .long   1189323812
+       .long   3159759730
+       .long   2465112221
+       .long   3710779492
+       .long   745896919
+       .long   1913143242
+       .long   2378647625
+       .long   2024552164
+       .long   635257146
+       .long   3126591689
+       .long   1491793838
+       .long   3826286484
+       .long   462327955
+       .long   4049104329
+       .long   1270514292
+       .long   1958216082
+       .long   2983587677
+       .long   3357605672
+       .long   924655910
+       .long   3803241362
+       .long   2541028584
+       .long   3916432164
+       .long   1672208059
+       .long   2420244049
+       .long   1849311821
+       .long   3311515428
+       .long   787089873
+       .long   3537897033
+       .long   3344416119
+       .long   545520802
+       .long   3698623643
+       .long   2328063560
+       .long   1574179747
+       .long   2780826770
+       .long   2393864943
+       .long   1091041605
+       .long   3102279991
+       .long   361159825
+       .long   3148359494
+       .long   1266686244
+       .long   492762590
+       .long   2182083211
+       .long   1909592686
+       .long   722319651
+       .long   2001751692
+       .long   2533372489
+       .long   985525180
+       .long   69199126
+       .long   3819185373
+       .long   1444639302
+       .long   4003503385
+       .long   771777682
+       .long   1971050360
+       .long   138398252
+       .long   3343403450
+       .long   2889278605
+       .long   3712039474
+       .long   1543555365
+       .long   3942100721
+       .long   276796504
+       .long   2391839604
+       .long   1483589915
+       .long   3129111652
+       .long   3087110731
+       .long   3589234146
+       .long   553593009
+       .long   488711913
+       .long   2967179831
+       .long   1963256009
+       .long   1879254167
+       .long   2883500997
+       .long   1107186019
+       .long   977423826
+       .long   1639392366
+       .long   3926512018
+       .long   3758508334
+       .long   1472034698
+       .long   2214372039
+       .long   1954847653
+       .long   3278784732
+       .long   3558056740
+       .long   3222049373
+       .long   2944069397
+       .long   133776782
+       .long   3909695307
+       .long   2262602168
+       .long   2821146184
+       .long   2149131451
+       .long   1593171499
+       .long   267553565
+       .long   3524423319
+       .long   230237041
+       .long   1347325072
+       .long   3295607
+       .long   3186342998
+       .long   535107130
+       .long   2753879342
+       .long   460474083
+       .long   2694650145
+       .long   6591214
+       .long   2077718700
+       .long   1070214261
+       .long   1212791388
+       .long   920948167
+       .long   1094332995
+       .long   13182429
+       .long   4155437400
+       .long   2140428522
+       .long   2425582776
+       .long   1841896334
+       .long   2188665991
+       .long   26364858
+       .long   4015907504
+       .long   4280857045
+       .long   556198256
+       .long   3683792669
+       .long   82364686
+       .long   52729717
+       .long   3736847713
+       .long   4266746795
+       .long   1112396512
+       .long   3072618042
+       .long   164729372
+       .long   105459434
+       .long   3178728131
+       .long   4238526295
+       .long   2224793024
+       .long   1850268788
+       .long   329458745
+       .long   210918868
+       .long   2062488966
+       .long   4182085295
+       .long   154618752
+       .long   3700537577
+       .long   658917491
+       .long   421837736
+       .long   4124977933
+       .long   4069203294
+       .long   309237504
+       .long   3106107858
+       .long   1317834983
+       .long   843675472
+       .long   3954988571
+       .long   3843439293
+       .long   618475008
+       .long   1917248420
+       .long   2635669967
+       .long   1687350944
+       .long   3615009846
+       .long   3391911291
+       .long   1236950016
+       .long   3834496840
+       .long   976372639
+       .long   3374701889
+       .long   2935052397
+       .long   2488855287
+       .long   2473900033
+       .long   3374026384
+       .long   1952745279
+       .long   2454436482
+       .long   1575137499
+       .long   682743279
+       .long   652832771
+       .long   2453085473
+       .long   3905490559
+       .long   613905668
+       .long   3150274999
+       .long   1365486558
+       .long   1305665542
+       .long   611203650
+       .long   3516013822
+       .long   1227811337
+       .long   2005582702
+       .long   2730973117
+       .long   2611331084
+       .long   1222407300
+       .long   2737060348
+       .long   2455622675
+       .long   4011165404
+       .long   1166978938
+       .long   927694873
+       .long   2444814601
+       .long   1179153400
+       .long   616278055
+       .long   3727363513
+       .long   2333957877
+       .long   1855389746
+       .long   594661906
+       .long   2358306800
+       .long   1232556110
+       .long   3159759730
+       .long   372948459
+       .long   3710779492
+       .long   1189323812
+       .long   421646305
+       .long   2465112221
+       .long   2024552164
+       .long   745896919
+       .long   3126591689
+       .long   2378647625
+       .long   843292611
+       .long   635257146
+       .long   4049104329
+       .long   1491793838
+       .long   1958216082
+       .long   462327955
+       .long   1686585223
+       .long   1270514292
+       .long   3803241362
+       .long   2983587677
+       .long   3916432164
+       .long   924655910
+       .long   3373170446
+       .long   2541028584
+       .long   3311515428
+       .long   1672208059
+       .long   3537897033
+       .long   1849311821
+       .long   2451373597
+       .long   787089873
+       .long   2328063560
+       .long   3344416119
+       .long   2780826770
+       .long   3698623643
+       .long   607779899
+       .long   1574179747
+       .long   361159825
+       .long   2393864943
+       .long   1266686244
+       .long   3102279991
+       .long   1215559799
+       .long   3148359494
+       .long   722319651
+       .long   492762590
+       .long   2533372489
+       .long   1909592686
+       .long   2431119599
+       .long   2001751692
+       .long   1444639302
+       .long   985525180
+       .long   771777682
+       .long   3819185373
+       .long   567271902
+       .long   4003503385
+       .long   2889278605
+       .long   1971050360
+       .long   1543555365
+       .long   3343403450
+       .long   1134543805
+       .long   3712039474
+       .long   1483589915
+       .long   3942100721
+       .long   3087110731
+       .long   2391839604
+       .long   2269087610
+       .long   3129111652
+       .long   2967179831
+       .long   3589234146
+       .long   1879254167
+       .long   488711913
+       .long   243207925
+       .long   1963256009
+       .long   1639392366
+       .long   2883500997
+       .long   3758508334
+       .long   977423826
+       .long   486415851
+       .long   3926512018
+       .long   3278784732
+       .long   1472034698
+       .long   3222049373
+       .long   1954847653
+       .long   972831702
+       .long   3558056740
+       .long   2262602168
+       .long   2944069397
+       .long   2149131451
+       .long   3909695307
+       .long   1945663404
+       .long   2821146184
+       .long   230237041
+       .long   1593171499
+       .long   3295607
+       .long   3524423319
+       .long   3891326808
+       .long   1347325072
+       .long   460474083
+       .long   3186342998
+       .long   6591214
+       .long   2753879342
+       .long   3487686321
+       .long   2694650145
+       .long   920948167
+       .long   2077718700
+       .long   13182429
+       .long   1212791388
+       .long   2680405347
+       .long   1094332995
+       .long   1841896334
+       .long   4155437400
+       .long   26364858
+       .long   2425582776
+       .long   1065843399
+       .long   2188665991
+       .long   3683792669
+       .long   4015907504
+       .long   52729717
+       .long   556198256
+       .long   2131686798
+       .long   82364686
+       .long   3072618042
+       .long   3736847713
+       .long   105459434
+       .long   1112396512
+       .long   4263373596
+       .long   164729372
+       .long   1850268788
+       .long   3178728131
+       .long   210918868
+       .long   2224793024
+       .long   4231779897
+       .long   329458745
+       .long   3700537577
+       .long   2062488966
+       .long   421837736
+       .long   154618752
+       .long   4168592498
+       .long   658917491
+       .long   3106107858
+       .long   4124977933
+       .long   843675472
+       .long   309237504
+       .long   4042217701
+       .long   1317834983
+       .long   1917248420
+       .long   3954988571
+       .long   1687350944
+       .long   618475008
+       .long   3789468107
+       .long   2635669967
+       .long   3834496840
+       .long   3615009846
+       .long   3374701889
+       .long   1236950016
+       .long   3283968918
+       .long   976372639
+       .long   3374026384
+       .long   2935052397
+       .long   2454436482
+       .long   2473900033
+       .long   2272970540
+       .long   1952745279
+       .long   2453085473
+       .long   1575137499
+       .long   613905668
+       .long   652832771
+       .long   250973784
+       .long   3905490559
+       .long   611203650
+       .long   3150274999
+       .long   1227811337
+       .long   1305665542
+       .long   501947569
+       .long   3516013822
+       .long   1222407300
+       .long   2005582702
+       .long   2455622675
+       .long   2611331084
+       .long   1003895138
+       .long   2737060348
+       .long   2444814601
+       .long   4011165404
+       .long   616278055
+       .long   927694873
+       .long   2007790276
+       .long   1179153400
+       .long   594661906
+       .long   3727363513
+       .long   1232556110
+       .long   1855389746
+       .long   4015580553
+       .long   2358306800
+       .long   1189323812
+       .long   3159759730
+       .long   2465112221
+       .long   3710779492
+       .long   3736193810
+       .long   421646305
+       .long   2378647625
+       .long   2024552164
+       .long   635257146
+       .long   3126591689
+       .long   3177420325
+       .long   843292611
+       .long   462327955
+       .long   4049104329
+       .long   1270514292
+       .long   1958216082
+       .long   2059873354
+       .long   1686585223
+       .long   924655910
+       .long   3803241362
+       .long   2541028584
+       .long   3916432164
+       .long   4119746708
+       .long   3373170446
+       .long   1849311821
+       .long   3311515428
+       .long   787089873
+       .long   3537897033
+       .long   3944526121
+       .long   2451373597
+       .long   3698623643
+       .long   2328063560
+       .long   1574179747
+       .long   2780826770
+       .long   3594084947
+       .long   607779899
+       .long   3102279991
+       .long   361159825
+       .long   3148359494
+       .long   1266686244
+       .long   2893202598
+       .long   1215559799
+       .long   1909592686
+       .long   722319651
+       .long   2001751692
+       .long   2533372489
+       .long   1491437901
+       .long   2431119599
+       .long   3819185373
+       .long   1444639302
+       .long   4003503385
+       .long   771777682
+       .long   2982875802
+       .long   567271902
+       .long   3343403450
+       .long   2889278605
+       .long   3712039474
+       .long   1543555365
+       .long   1670784308
+       .long   1134543805
+       .long   2391839604
+       .long   1483589915
+       .long   3129111652
+       .long   3087110731
+       .long   3341568617
+       .long   2269087610
+       .long   488711913
+       .long   2967179831
+       .long   1963256009
+       .long   1879254167
+       .long   2388169939
+       .long   243207925
+       .long   977423826
+       .long   1639392366
+       .long   3926512018
+       .long   3758508334
+       .long   481372583
+       .long   486415851
+       .long   1954847653
+       .long   3278784732
+       .long   3558056740
+       .long   3222049373
+       .long   962745166
+       .long   972831702
+       .long   3909695307
+       .long   2262602168
+       .long   2821146184
+       .long   2149131451
+       .long   1925490332
+       .long   1945663404
+       .long   3524423319
+       .long   230237041
+       .long   1347325072
+       .long   3295607
+       .long   3850980665
+       .long   3891326808
+       .long   2753879342
+       .long   460474083
+       .long   2694650145
+       .long   6591214
+       .long   3406994035
+       .long   3487686321
+       .long   1212791388
+       .long   920948167
+       .long   1094332995
+       .long   13182429
+       .long   2519020775
+       .long   2680405347
+       .long   2425582776
+       .long   1841896334
+       .long   2188665991
+       .long   26364858
+       .long   743074255
+       .long   1065843399
+       .long   556198256
+       .long   3683792669
+       .long   82364686
+       .long   52729717
+       .long   1486148511
+       .long   2131686798
+       .long   1112396512
+       .long   3072618042
+       .long   164729372
+       .long   105459434
+       .long   2972297022
+       .long   4263373596
+       .long   2224793024
+       .long   1850268788
+       .long   329458745
+       .long   210918868
+       .long   1649626749
+       .long   4231779897
+       .long   154618752
+       .long   3700537577
+       .long   658917491
+       .long   421837736
+       .long   3299253499
+       .long   4168592498
+       .long   309237504
+       .long   3106107858
+       .long   1317834983
+       .long   843675472
+       .long   2303539703
+       .long   4042217701
+       .long   618475008
+       .long   1917248420
+       .long   2635669967
+       .long   1687350944
+       .long   312112110
+       .long   3789468107
+       .long   1236950016
+       .long   3834496840
+       .long   976372639
+       .long   3374701889
+       .long   624224221
+       .long   3283968918
+       .long   2473900033
+       .long   3374026384
+       .long   1952745279
+       .long   2454436482
+       .long   1248448442
+       .long   2272970540
+       .long   652832771
+       .long   2453085473
+       .long   3905490559
+       .long   613905668
+       .long   2496896884
+       .long   250973784
+       .long   1305665542
+       .long   611203650
+       .long   3516013822
+       .long   1227811337
+       .long   698826472
+       .long   501947569
+       .long   2611331084
+       .long   1222407300
+       .long   2737060348
+       .long   2455622675
+       .long   1397652945
+       .long   1003895138
+       .long   927694873
+       .long   2444814601
+       .long   1179153400
+       .long   616278055
+       .long   2795305890
+       .long   2007790276
+       .long   1855389746
+       .long   594661906
+       .long   2358306800
+       .long   1232556110
+       .long   1295644484
+       .long   4015580553
+       .long   3710779492
+       .long   1189323812
+       .long   421646305
+       .long   2465112221
+       .long   2591288968
+       .long   3736193810
+       .long   3126591689
+       .long   2378647625
+       .long   843292611
+       .long   635257146
+       .long   887610640
+       .long   3177420325
+       .long   1958216082
+       .long   462327955
+       .long   1686585223
+       .long   1270514292
+       .long   1775221280
+       .long   2059873354
+       .long   3916432164
+       .long   924655910
+       .long   3373170446
+       .long   2541028584
+       .long   3550442561
+       .long   4119746708
+       .long   3537897033
+       .long   1849311821
+       .long   2451373597
+       .long   787089873
+       .long   2805917826
+       .long   3944526121
+       .long   2780826770
+       .long   3698623643
+       .long   607779899
+       .long   1574179747
+       .long   1316868356
+       .long   3594084947
+       .long   1266686244
+       .long   3102279991
+       .long   1215559799
+       .long   3148359494
+       .long   2633736712
+       .long   2893202598
+       .long   2533372489
+       .long   1909592686
+       .long   2431119599
+       .long   2001751692
+       .long   972506129
+       .long   1491437901
+       .long   771777682
+       .long   3819185373
+       .long   567271902
+       .long   4003503385
+       .long   1945012259
+       .long   2982875802
+       .long   1543555365
+       .long   3343403450
+       .long   1134543805
+       .long   3712039474
+       .long   3890024518
+       .long   1670784308
+       .long   3087110731
+       .long   2391839604
+       .long   2269087610
+       .long   3129111652
+       .long   3485081741
+       .long   3341568617
+       .long   1879254167
+       .long   488711913
+       .long   243207925
+       .long   1963256009
+       .long   2675196186
+       .long   2388169939
+       .long   3758508334
+       .long   977423826
+       .long   486415851
+       .long   3926512018
+       .long   1055425077
+       .long   481372583
+       .long   3222049373
+       .long   1954847653
+       .long   972831702
+       .long   3558056740
+       .long   2110850155
+       .long   962745166
+       .long   2149131451
+       .long   3909695307
+       .long   1945663404
+       .long   2821146184
+       .long   4221700311
+       .long   1925490332
+       .long   3295607
+       .long   3524423319
+       .long   3891326808
+       .long   1347325072
+       .long   4148433327
+       .long   3850980665
+       .long   6591214
+       .long   2753879342
+       .long   3487686321
+       .long   2694650145
+       .long   4001899359
+       .long   3406994035
+       .long   13182429
+       .long   1212791388
+       .long   2680405347
+       .long   1094332995
+       .long   3708831422
+       .long   2519020775
+       .long   26364858
+       .long   2425582776
+       .long   1065843399
+       .long   2188665991
+       .long   3122695549
+       .long   743074255
+       .long   52729717
+       .long   556198256
+       .long   2131686798
+       .long   82364686
+       .long   1950423802
+       .long   1486148511
+       .long   105459434
+       .long   1112396512
+       .long   4263373596
+       .long   164729372
+       .long   3900847605
+       .long   2972297022
+       .long   210918868
+       .long   2224793024
+       .long   4231779897
+       .long   329458745
+       .long   3506727914
+       .long   1649626749
+       .long   421837736
+       .long   154618752
+       .long   4168592498
+       .long   658917491
+       .long   2718488532
+       .long   3299253499
+       .long   843675472
+       .long   309237504
+       .long   4042217701
+       .long   1317834983
+       .long   1142009769
+       .long   2303539703
+       .long   1687350944
+       .long   618475008
+       .long   3789468107
+       .long   2635669967
+       .long   2284019538
+       .long   312112110
+       .long   3374701889
+       .long   1236950016
+       .long   3283968918
+       .long   976372639
+       .long   273071781
+       .long   624224221
+       .long   2454436482
+       .long   2473900033
+       .long   2272970540
+       .long   1952745279
+       .long   546143563
+       .long   1248448442
+       .long   613905668
+       .long   652832771
+       .long   250973784
+       .long   3905490559
+       .long   1092287127
+       .long   2496896884
+       .long   1227811337
+       .long   1305665542
+       .long   501947569
+       .long   3516013822
+       .long   2184574254
+       .long   698826472
+       .long   2455622675
+       .long   2611331084
+       .long   1003895138
+       .long   2737060348
+       .long   74181213
+       .long   1397652945
+       .long   616278055
+       .long   927694873
+       .long   2007790276
+       .long   1179153400
+       .long   148362426
+       .long   2795305890
+       .long   1232556110
+       .long   1855389746
+       .long   4015580553
+       .long   2358306800
+       .long   296724853
+       .long   1295644484
+       .long   2465112221
+       .long   3710779492
+       .long   3736193810
+       .long   421646305
+       .long   593449707
+       .long   2591288968
+       .long   635257146
+       .long   3126591689
+       .long   3177420325
+       .long   843292611
+       .long   1186899415
+       .long   887610640
+       .long   1270514292
+       .long   1958216082
+       .long   2059873354
+       .long   1686585223
+       .long   2373798830
+       .long   1775221280
+       .long   2541028584
+       .long   3916432164
+       .long   4119746708
+       .long   3373170446
+       .long   452630365
+       .long   3550442561
+       .long   787089873
+       .long   3537897033
+       .long   3944526121
+       .long   2451373597
+       .long   905260731
+       .long   2805917826
+       .long   1574179747
+       .long   2780826770
+       .long   3594084947
+       .long   607779899
+       .long   1810521462
+       .long   1316868356
+       .long   3148359494
+       .long   1266686244
+       .long   2893202598
+       .long   1215559799
+       .long   3621042925
+       .long   2633736712
+       .long   2001751692
+       .long   2533372489
+       .long   1491437901
+       .long   2431119599
+       .long   2947118554
+       .long   972506129
+       .long   4003503385
+       .long   771777682
+       .long   2982875802
+       .long   567271902
+       .long   1599269812
+       .long   1945012259
+       .long   3712039474
+       .long   1543555365
+       .long   1670784308
+       .long   1134543805
+       .long   3198539624
+       .long   3890024518
+       .long   3129111652
+       .long   3087110731
+       .long   3341568617
+       .long   2269087610
+       .long   2102111953
+       .long   3485081741
+       .long   1963256009
+       .long   1879254167
+       .long   2388169939
+       .long   243207925
+       .long   4204223906
+       .long   2675196186
+       .long   3926512018
+       .long   3758508334
+       .long   481372583
+       .long   486415851
+       .long   4113480516
+       .long   1055425077
+       .long   3558056740
+       .long   3222049373
+       .long   962745166
+       .long   972831702
+       .long   3931993737
+       .long   2110850155
+       .long   2821146184
+       .long   2149131451
+       .long   1925490332
+       .long   1945663404
+       .long   3569020178
+       .long   4221700311
+       .long   1347325072
+       .long   3295607
+       .long   3850980665
+       .long   3891326808
+       .long   2843073060
+       .long   4148433327
+       .long   2694650145
+       .long   6591214
+       .long   3406994035
+       .long   3487686321
+       .long   1391178824
+       .long   4001899359
+       .long   1094332995
+       .long   13182429
+       .long   2519020775
+       .long   2680405347
+       .long   2782357648
+       .long   3708831422
+       .long   2188665991
+       .long   26364858
+       .long   743074255
+       .long   1065843399
+       .long   1269748001
+       .long   3122695549
+       .long   82364686
+       .long   52729717
+       .long   1486148511
+       .long   2131686798
+       .long   2539496002
+       .long   1950423802
+       .long   164729372
+       .long   105459434
+       .long   2972297022
+       .long   4263373596
+       .long   784024708
+       .long   3900847605
+       .long   329458745
+       .long   210918868
+       .long   1649626749
+       .long   4231779897
+       .long   1568049417
+       .long   3506727914
+       .long   658917491
+       .long   421837736
+       .long   3299253499
+       .long   4168592498
+       .long   3136098835
+       .long   2718488532
+       .long   1317834983
+       .long   843675472
+       .long   2303539703
+       .long   4042217701
+       .long   1977230375
+       .long   1142009769
+       .long   2635669967
+       .long   1687350944
+       .long   312112110
+       .long   3789468107
+       .long   3954460750
+       .long   2284019538
+       .long   976372639
+       .long   3374701889
+       .long   624224221
+       .long   3283968918
+       .long   3613954205
+       .long   273071781
+       .long   1952745279
+       .long   2454436482
+       .long   1248448442
+       .long   2272970540
+       .long   2932941114
+       .long   546143563
+       .long   3905490559
+       .long   613905668
+       .long   2496896884
+       .long   250973784
+       .long   1570914932
+       .long   1092287127
+       .long   3516013822
+       .long   1227811337
+       .long   698826472
+       .long   501947569
+       .long   3141829865
+       .long   2184574254
+       .long   2737060348
+       .long   2455622675
+       .long   1397652945
+       .long   1003895138
+       .long   1988692435
+       .long   74181213
+       .long   1179153400
+       .long   616278055
+       .long   2795305890
+       .long   2007790276
+       .long   3977384870
+       .long   148362426
+       .long   2358306800
+       .long   1232556110
+       .long   1295644484
+       .long   4015580553
+       .long   3659802444
+       .long   296724853
+       .long   421646305
+       .long   2465112221
+       .long   2591288968
+       .long   3736193810
+       .long   3024637593
+       .long   593449707
+       .long   843292611
+       .long   635257146
+       .long   887610640
+       .long   3177420325
+       .long   1754307891
+       .long   1186899415
+       .long   1686585223
+       .long   1270514292
+       .long   1775221280
+       .long   2059873354
+       .long   3508615783
+       .long   2373798830
+       .long   3373170446
+       .long   2541028584
+       .long   3550442561
+       .long   4119746708
+       .long   2722264270
+       .long   452630365
+       .long   2451373597
+       .long   787089873
+       .long   2805917826
+       .long   3944526121
+       .long   1149561244
+       .long   905260731
+       .long   607779899
+       .long   1574179747
+       .long   1316868356
+       .long   3594084947
+       .long   2299122488
+       .long   1810521462
+       .long   1215559799
+       .long   3148359494
+       .long   2633736712
+       .long   2893202598
+       .long   303277681
+       .long   3621042925
+       .long   2431119599
+       .long   2001751692
+       .long   972506129
+       .long   1491437901
+       .long   606555363
+       .long   2947118554
+       .long   567271902
+       .long   4003503385
+       .long   1945012259
+       .long   2982875802
+       .long   1213110727
+       .long   1599269812
+       .long   1134543805
+       .long   3712039474
+       .long   3890024518
+       .long   1670784308
+       .long   2426221454
+       .long   3198539624
+       .long   2269087610
+       .long   3129111652
+       .long   3485081741
+       .long   3341568617
+       .long   557475612
+       .long   2102111953
+       .long   243207925
+       .long   1963256009
+       .long   2675196186
+       .long   2388169939
+       .long   1114951224
+       .long   4204223906
+       .long   486415851
+       .long   3926512018
+       .long   1055425077
+       .long   481372583
+       .long   2229902448
+       .long   4113480516
+       .long   972831702
+       .long   3558056740
+       .long   2110850155
+       .long   962745166
+       .long   164837600
+       .long   3931993737
+       .long   1945663404
+       .long   2821146184
+       .long   4221700311
+       .long   1925490332
+       .long   329675200
+       .long   3569020178
+       .long   3891326808
+       .long   1347325072
+       .long   4148433327
+       .long   3850980665
+       .long   659350401
+       .long   2843073060
+       .long   3487686321
+       .long   2694650145
+       .long   4001899359
+       .long   3406994035
+       .long   1318700802
+       .long   1391178824
+       .long   2680405347
+       .long   1094332995
+       .long   3708831422
+       .long   2519020775
+       .long   2637401604
+       .long   2782357648
+       .long   1065843399
+       .long   2188665991
+       .long   3122695549
+       .long   743074255
+       .long   979835913
+       .long   1269748001
+       .long   2131686798
+       .long   82364686
+       .long   1950423802
+       .long   1486148511
+       .long   1959671827
+       .long   2539496002
+       .long   4263373596
+       .long   164729372
+       .long   3900847605
+       .long   2972297022
+       .long   3919343654
+       .long   784024708
+       .long   4231779897
+       .long   329458745
+       .long   3506727914
+       .long   1649626749
+       .long   3543720013
+       .long   1568049417
+       .long   4168592498
+       .long   658917491
+       .long   2718488532
+       .long   3299253499
+       .long   2792472730
+       .long   3136098835
+       .long   4042217701
+       .long   1317834983
+       .long   1142009769
+       .long   2303539703
+       .long   1289978165
+       .long   1977230375
+       .long   3789468107
+       .long   2635669967
+       .long   2284019538
+       .long   312112110
+       .long   2579956331
+       .long   3954460750
+       .long   3283968918
+       .long   976372639
+       .long   273071781
+       .long   624224221
+       .long   864945366
+       .long   3613954205
+       .long   2272970540
+       .long   1952745279
+       .long   546143563
+       .long   1248448442
+       .long   1729890733
+       .long   2932941114
+       .long   250973784
+       .long   3905490559
+       .long   1092287127
+       .long   2496896884
+       .long   3459781466
+       .long   1570914932
+       .long   501947569
+       .long   3516013822
+       .long   2184574254
+       .long   698826472
+       .long   2624595636
+       .long   3141829865
+       .long   1003895138
+       .long   2737060348
+       .long   74181213
+       .long   1397652945
+       .long   954223976
+       .long   1988692435
+       .long   2007790276
+       .long   1179153400
+       .long   148362426
+       .long   2795305890
+       .long   1908447953
+       .long   3977384870
+       .long   4015580553
+       .long   2358306800
+       .long   296724853
+       .long   1295644484
+       .long   3816895906
+       .long   3659802444
+       .long   3736193810
+       .long   421646305
+       .long   593449707
+       .long   2591288968
+       .long   3338824517
+       .long   3024637593
+       .long   3177420325
+       .long   843292611
+       .long   1186899415
+       .long   887610640
+       .long   2382681739
+       .long   1754307891
+       .long   2059873354
+       .long   1686585223
+       .long   2373798830
+       .long   1775221280
+       .long   470396183
+       .long   3508615783
+       .long   4119746708
+       .long   3373170446
+       .long   452630365
+       .long   3550442561
+       .long   940792367
+       .long   2722264270
+       .long   3944526121
+       .long   2451373597
+       .long   905260731
+       .long   2805917826
+       .long   1881584735
+       .long   1149561244
+       .long   3594084947
+       .long   607779899
+       .long   1810521462
+       .long   1316868356
+       .long   3763169470
+       .long   2299122488
+       .long   2893202598
+       .long   1215559799
+       .long   3621042925
+       .long   2633736712
+       .long   3231371645
+       .long   303277681
+       .long   1491437901
+       .long   2431119599
+       .long   2947118554
+       .long   972506129
+       .long   2167775995
+       .long   606555363
+       .long   2982875802
+       .long   567271902
+       .long   1599269812
+       .long   1945012259
+       .long   40584695
+       .long   1213110727
+       .long   1670784308
+       .long   1134543805
+       .long   3198539624
+       .long   3890024518
+       .long   81169391
+       .long   2426221454
+       .long   3341568617
+       .long   2269087610
+       .long   2102111953
+       .long   3485081741
+       .long   162338783
+       .long   557475612
+       .long   2388169939
+       .long   243207925
+       .long   4204223906
+       .long   2675196186
+       .long   324677567
+       .long   1114951224
+       .long   481372583
+       .long   486415851
+       .long   4113480516
+       .long   1055425077
+       .long   649355134
+       .long   2229902448
+       .long   962745166
+       .long   972831702
+       .long   3931993737
+       .long   2110850155
+       .long   1298710268
+       .long   164837600
+       .long   1925490332
+       .long   1945663404
+       .long   3569020178
+       .long   4221700311
+       .long   2597420537
+       .long   329675200
+       .long   3850980665
+       .long   3891326808
+       .long   2843073060
+       .long   4148433327
+       .long   899873778
+       .long   659350401
+       .long   3406994035
+       .long   3487686321
+       .long   1391178824
+       .long   4001899359
+       .long   1799747556
+       .long   1318700802
+       .long   2519020775
+       .long   2680405347
+       .long   2782357648
+       .long   3708831422
+       .long   3599495112
+       .long   2637401604
+       .long   743074255
+       .long   1065843399
+       .long   1269748001
+       .long   3122695549
+       .long   2904022928
+       .long   979835913
+       .long   1486148511
+       .long   2131686798
+       .long   2539496002
+       .long   1950423802
+       .long   1513078560
+       .long   1959671827
+       .long   2972297022
+       .long   4263373596
+       .long   784024708
+       .long   3900847605
+       .long   3026157121
+       .long   3919343654
+       .long   1649626749
+       .long   4231779897
+       .long   1568049417
+       .long   3506727914
+       .long   1757346946
+       .long   3543720013
+       .long   3299253499
+       .long   4168592498
+       .long   3136098835
+       .long   2718488532
+       .long   3514693892
+       .long   2792472730
+       .long   2303539703
+       .long   4042217701
+       .long   1977230375
+       .long   1142009769
+       .long   2734420489
+       .long   1289978165
+       .long   312112110
+       .long   3789468107
+       .long   3954460750
+       .long   2284019538
+       .long   1173873683
+       .long   2579956331
+       .long   624224221
+       .long   3283968918
+       .long   3613954205
+       .long   273071781
+       .long   2347747367
+       .long   864945366
+       .long   1248448442
+       .long   2272970540
+       .long   2932941114
+       .long   546143563
+       .long   400527438
+       .long   1729890733
+       .long   2496896884
+       .long   250973784
+       .long   1570914932
+       .long   1092287127
+       .long   801054876
+       .long   3459781466
+       .long   698826472
+       .long   501947569
+       .long   3141829865
+       .long   2184574254
+       .long   1602109753
+       .long   2624595636
+       .long   1397652945
+       .long   1003895138
+       .long   1988692435
+       .long   74181213
+       .long   3204219507
+       .long   954223976
+       .long   2795305890
+       .long   2007790276
+       .long   3977384870
+       .long   148362426
+       .long   2113471718
+       .long   1908447953
+       .long   1295644484
+       .long   4015580553
+       .long   3659802444
+       .long   296724853
+       .long   4226943436
+       .long   3816895906
+       .long   2591288968
+       .long   3736193810
+       .long   3024637593
+       .long   593449707
+       .long   4158919577
+       .long   3338824517
+       .long   887610640
+       .long   3177420325
+       .long   1754307891
+       .long   1186899415
+       .long   4022871858
+       .long   2382681739
+       .long   1775221280
+       .long   2059873354
+       .long   3508615783
+       .long   2373798830
+       .long   3750776420
+       .long   470396183
+       .long   3550442561
+       .long   4119746708
+       .long   2722264270
+       .long   452630365
+       .long   3206585544
+       .long   940792367
+       .long   2805917826
+       .long   3944526121
+       .long   1149561244
+       .long   905260731
+       .long   2118203793
+       .long   1881584735
+       .long   1316868356
+       .long   3594084947
+       .long   2299122488
+       .long   1810521462
+       .long   4236407587
+       .long   3763169470
+       .long   2633736712
+       .long   2893202598
+       .long   303277681
+       .long   3621042925
+       .long   4177847879
+       .long   3231371645
+       .long   972506129
+       .long   1491437901
+       .long   606555363
+       .long   2947118554
+       .long   4060728462
+       .long   2167775995
+       .long   1945012259
+       .long   2982875802
+       .long   1213110727
+       .long   1599269812
+       .long   3826489629
+       .long   40584695
+       .long   3890024518
+       .long   1670784308
+       .long   2426221454
+       .long   3198539624
+       .long   3358011962
+       .long   81169391
+       .long   3485081741
+       .long   3341568617
+       .long   557475612
+       .long   2102111953
+       .long   2421056629
+       .long   162338783
+       .long   2675196186
+       .long   2388169939
+       .long   1114951224
+       .long   4204223906
+       .long   547145963
+       .long   324677567
+       .long   1055425077
+       .long   481372583
+       .long   2229902448
+       .long   4113480516
+       .long   1094291926
+       .long   649355134
+       .long   2110850155
+       .long   962745166
+       .long   164837600
+       .long   3931993737
+       .long   2188583852
+       .long   1298710268
+       .long   4221700311
+       .long   1925490332
+       .long   329675200
+       .long   3569020178
+       .long   82200408
+       .long   2597420537
+       .long   4148433327
+       .long   3850980665
+       .long   659350401
+       .long   2843073060
+       .long   164400817
+       .long   899873778
+       .long   4001899359
+       .long   3406994035
+       .long   1318700802
+       .long   1391178824
+       .long   328801635
+       .long   1799747556
+       .long   3708831422
+       .long   2519020775
+       .long   2637401604
+       .long   2782357648
+       .long   657603271
+       .long   3599495112
+       .long   3122695549
+       .long   743074255
+       .long   979835913
+       .long   1269748001
+       .long   1315206542
+       .long   2904022928
+       .long   1950423802
+       .long   1486148511
+       .long   1959671827
+       .long   2539496002
+       .long   2630413084
+       .long   1513078560
+       .long   3900847605
+       .long   2972297022
+       .long   3919343654
+       .long   784024708
+       .long   965858873
+       .long   3026157121
+       .long   3506727914
+       .long   1649626749
+       .long   3543720013
+       .long   1568049417
+       .long   1931717747
+       .long   1757346946
+       .long   2718488532
+       .long   3299253499
+       .long   2792472730
+       .long   3136098835
+       .long   3863435494
+       .long   3514693892
+       .long   1142009769
+       .long   2303539703
+       .long   1289978165
+       .long   1977230375
+       .long   3431903692
+       .long   2734420489
+       .long   2284019538
+       .long   312112110
+       .long   2579956331
+       .long   3954460750
+       .long   2568840088
+       .long   1173873683
+       .long   273071781
+       .long   624224221
+       .long   864945366
+       .long   3613954205
+       .long   842712880
+       .long   2347747367
+       .long   546143563
+       .long   1248448442
+       .long   1729890733
+       .long   2932941114
+       .long   1685425760
+       .long   400527438
+       .long   1092287127
+       .long   2496896884
+       .long   3459781466
+       .long   1570914932
+       .long   3370851521
+       .long   801054876
+       .long   2184574254
+       .long   698826472
+       .long   2624595636
+       .long   3141829865
+       .long   2446735747
+       .long   1602109753
+       .long   74181213
+       .long   1397652945
+       .long   954223976
+       .long   1988692435
+       .long   598504198
+       .long   3204219507
+       .long   148362426
+       .long   2795305890
+       .long   1908447953
+       .long   3977384870
+       .long   1197008397
+       .long   2113471718
+       .long   296724853
+       .long   1295644484
+       .long   3816895906
+       .long   3659802444
+       .long   2394016794
+       .long   4226943436
+       .long   593449707
+       .long   2591288968
+       .long   3338824517
+       .long   3024637593
+       .long   493066293
+       .long   4158919577
+       .long   1186899415
+       .long   887610640
+       .long   2382681739
+       .long   1754307891
+       .long   986132586
+       .long   4022871858
+       .long   2373798830
+       .long   1775221280
+       .long   470396183
+       .long   3508615783
+       .long   1972265172
+       .long   3750776420
+       .long   452630365
+       .long   3550442561
+       .long   940792367
+       .long   2722264270
+       .long   3944530345
+       .long   3206585544
+       .long   905260731
+       .long   2805917826
+       .long   1881584735
+       .long   1149561244
+       .long   3594093395
+       .long   2118203793
+       .long   1810521462
+       .long   1316868356
+       .long   3763169470
+       .long   2299122488
+       .long   2893219494
+       .long   4236407587
+       .long   3621042925
+       .long   2633736712
+       .long   3231371645
+       .long   303277681
+       .long   1491471692
+       .long   4177847879
+       .long   2947118554
+       .long   972506129
+       .long   2167775995
+       .long   606555363
+       .long   2982943385
+       .long   4060728462
+       .long   1599269812
+       .long   1945012259
+       .long   40584695
+       .long   1213110727
+       .long   1670919475
+       .long   3826489629
+       .long   3198539624
+       .long   3890024518
+       .long   81169391
+       .long   2426221454
+       .long   3341838951
+       .long   3358011962
+       .long   2102111953
+       .long   3485081741
+       .long   162338783
+       .long   557475612
+       .long   2388710606
+       .long   2421056629
+       .long   4204223906
+       .long   2675196186
+       .long   324677567
+       .long   1114951224
+       .long   482453916
+       .long   547145963
+       .long   4113480516
+       .long   1055425077
+       .long   649355134
+       .long   2229902448
+       .long   964907833
+       .long   1094291926
+       .long   3931993737
+       .long   2110850155
+       .long   1298710268
+       .long   164837600
+       .long   1929815667
+       .long   2188583852
+       .long   3569020178
+       .long   4221700311
+       .long   2597420537
+       .long   329675200
+       .long   3859631335
+       .long   82200408
+       .long   2843073060
+       .long   4148433327
+       .long   899873778
+       .long   659350401
+       .long   3424295375
+       .long   164400817
+       .long   1391178824
+       .long   4001899359
+       .long   1799747556
+       .long   1318700802
+       .long   2553623455
+       .long   328801635
+       .long   2782357648
+       .long   3708831422
+       .long   3599495112
+       .long   2637401604
+       .long   812279614
+       .long   657603271
+       .long   1269748001
+       .long   3122695549
+       .long   2904022928
+       .long   979835913
+       .long   1624559229
+       .long   1315206542
+       .long   2539496002
+       .long   1950423802
+       .long   1513078560
+       .long   1959671827
+       .long   3249118458
+       .long   2630413084
+       .long   784024708
+       .long   3900847605
+       .long   3026157121
+       .long   3919343654
+       .long   2203269620
+       .long   965858873
+       .long   1568049417
+       .long   3506727914
+       .long   1757346946
+       .long   3543720013
+       .long   111571945
+       .long   1931717747
+       .long   3136098835
+       .long   2718488532
+       .long   3514693892
+       .long   2792472730
+       .long   223143890
+       .long   3863435494
+       .long   1977230375
+       .long   1142009769
+       .long   2734420489
+       .long   1289978165
+       .long   446287780
+       .long   3431903692
+       .long   3954460750
+       .long   2284019538
+       .long   1173873683
+       .long   2579956331
+       .long   892575561
+       .long   2568840088
+       .long   3613954205
+       .long   273071781
+       .long   2347747367
+       .long   864945366
+       .long   1785151123
+       .long   842712880
+       .long   2932941114
+       .long   546143563
+       .long   400527438
+       .long   1729890733
+       .long   3570302247
+       .long   1685425760
+       .long   1570914932
+       .long   1092287127
+       .long   801054876
+       .long   3459781466
+       .long   2845637198
+       .long   3370851521
+       .long   3141829865
+       .long   2184574254
+       .long   1602109753
+       .long   2624595636
+       .long   1396307100
+       .long   2446735747
+       .long   1988692435
+       .long   74181213
+       .long   3204219507
+       .long   954223976
+       .long   2792614201
+       .long   598504198
+       .long   3977384870
+       .long   148362426
+       .long   2113471718
+       .long   1908447953
+       .long   1290261106
+       .long   1197008397
+       .long   3659802444
+       .long   296724853
+       .long   4226943436
+       .long   3816895906
+       .long   2580522212
+       .long   2394016794
+       .long   3024637593
+       .long   593449707
+       .long   4158919577
+       .long   3338824517
+       .long   866077128
+       .long   493066293
+       .long   1754307891
+       .long   1186899415
+       .long   4022871858
+       .long   2382681739
+       .long   1732154256
+       .long   986132586
+       .long   3508615783
+       .long   2373798830
+       .long   3750776420
+       .long   470396183
+       .long   3464308513
+       .long   1972265172
+       .long   2722264270
+       .long   452630365
+       .long   3206585544
+       .long   940792367
+       .long   2633649730
+       .long   3944530345
+       .long   1149561244
+       .long   905260731
+       .long   2118203793
+       .long   1881584735
+       .long   972332164
+       .long   3594093395
+       .long   2299122488
+       .long   1810521462
+       .long   4236407587
+       .long   3763169470
+       .long   1944664328
+       .long   2893219494
+       .long   303277681
+       .long   3621042925
+       .long   4177847879
+       .long   3231371645
+       .long   3889328657
+       .long   1491471692
+       .long   606555363
+       .long   2947118554
+       .long   4060728462
+       .long   2167775995
+       .long   3483690018
+       .long   2982943385
+       .long   1213110727
+       .long   1599269812
+       .long   3826489629
+       .long   40584695
+       .long   2672412741
+       .long   1670919475
+       .long   2426221454
+       .long   3198539624
+       .long   3358011962
+       .long   81169391
+       .long   1049858187
+       .long   3341838951
+       .long   557475612
+       .long   2102111953
+       .long   2421056629
+       .long   162338783
+       .long   2099716375
+       .long   2388710606
+       .long   1114951224
+       .long   4204223906
+       .long   547145963
+       .long   324677567
+       .long   4199432751
+       .long   482453916
+       .long   2229902448
+       .long   4113480516
+       .long   1094291926
+       .long   649355134
+       .long   4103898207
+       .long   964907833
+       .long   164837600
+       .long   3931993737
+       .long   2188583852
+       .long   1298710268
+       .long   3912829119
+       .long   1929815667
+       .long   329675200
+       .long   3569020178
+       .long   82200408
+       .long   2597420537
+       .long   3530690942
+       .long   3859631335
+       .long   659350401
+       .long   2843073060
+       .long   164400817
+       .long   899873778
+       .long   2766414588
+       .long   3424295375
+       .long   1318700802
+       .long   1391178824
+       .long   328801635
+       .long   1799747556
+       .long   1237861880
+       .long   2553623455
+       .long   2637401604
+       .long   2782357648
+       .long   657603271
+       .long   3599495112
+       .long   2475723761
+       .long   812279614
+       .long   979835913
+       .long   1269748001
+       .long   1315206542
+       .long   2904022928
+       .long   656480226
+       .long   1624559229
+       .long   1959671827
+       .long   2539496002
+       .long   2630413084
+       .long   1513078560
+       .long   1312960453
+       .long   3249118458
+       .long   3919343654
+       .long   784024708
+       .long   965858873
+       .long   3026157121
+       .long   2625920907
+       .long   2203269620
+       .long   3543720013
+       .long   1568049417
+       .long   1931717747
+       .long   1757346946
+       .long   956874519
+       .long   111571945
+       .long   2792472730
+       .long   3136098835
+       .long   3863435494
+       .long   3514693892
+       .long   1913749038
+       .long   223143890
+       .long   1289978165
+       .long   1977230375
+       .long   3431903692
+       .long   2734420489
+       .long   3827498077
+       .long   446287780
+       .long   2579956331
+       .long   3954460750
+       .long   2568840088
+       .long   1173873683
+       .long   3360028859
+       .long   892575561
+       .long   864945366
+       .long   3613954205
+       .long   842712880
+       .long   2347747367
+       .long   2425090423
+       .long   1785151123
+       .long   1729890733
+       .long   2932941114
+       .long   1685425760
+       .long   400527438
+       .long   555213551
+       .long   3570302247
+       .long   3459781466
+       .long   1570914932
+       .long   3370851521
+       .long   801054876
+       .long   1110427102
+       .long   2845637198
+       .long   2624595636
+       .long   3141829865
+       .long   2446735747
+       .long   1602109753
+       .long   2220854205
+       .long   1396307100
+       .long   954223976
+       .long   1988692435
+       .long   598504198
+       .long   3204219507
+       .long   146741115
+       .long   2792614201
+       .long   1908447953
+       .long   3977384870
+       .long   1197008397
+       .long   2113471718
+       .long   293482231
+       .long   1290261106
+       .long   3816895906
+       .long   3659802444
+       .long   2394016794
+       .long   4226943436
+       .long   586964463
+       .long   2580522212
+       .long   3338824517
+       .long   3024637593
+       .long   493066293
+       .long   4158919577
+       .long   1173928927
+       .long   866077128
+       .long   2382681739
+       .long   1754307891
+       .long   986132586
+       .long   4022871858
+       .long   2347857855
+       .long   1732154256
+       .long   470396183
+       .long   3508615783
+       .long   1972265172
+       .long   3750776420
+       .long   400748414
+       .long   3464308513
+       .long   940792367
+       .long   2722264270
+       .long   3944530345
+       .long   3206585544
+       .long   801496828
+       .long   2633649730
+       .long   1881584735
+       .long   1149561244
+       .long   3594093395
+       .long   2118203793
+       .long   1602993657
+       .long   972332164
+       .long   3763169470
+       .long   2299122488
+       .long   2893219494
+       .long   4236407587
+       .long   3205987314
+       .long   1944664328
+       .long   3231371645
+       .long   303277681
+       .long   1491471692
+       .long   4177847879
+       .long   2117007332
+       .long   3889328657
+       .long   2167775995
+       .long   606555363
+       .long   2982943385
+       .long   4060728462
+       .long   4234014665
+       .long   3483690018
+       .long   40584695
+       .long   1213110727
+       .long   1670919475
+       .long   3826489629
+       .long   4173062034
+       .long   2672412741
+       .long   81169391
+       .long   2426221454
+       .long   3341838951
+       .long   3358011962
+       .long   4051156773
+       .long   1049858187
+       .long   162338783
+       .long   557475612
+       .long   2388710606
+       .long   2421056629
+       .long   3807346250
+       .long   2099716375
+       .long   324677567
+       .long   1114951224
+       .long   482453916
+       .long   547145963
+       .long   3319725204
+       .long   4199432751
+       .long   649355134
+       .long   2229902448
+       .long   964907833
+       .long   1094291926
+       .long   2344483112
+       .long   4103898207
+       .long   1298710268
+       .long   164837600
+       .long   1929815667
+       .long   2188583852
+       .long   393998928
+       .long   3912829119
+       .long   2597420537
+       .long   329675200
+       .long   3859631335
+       .long   82200408
+       .long   787997856
+       .long   3530690942
+       .long   899873778
+       .long   659350401
+       .long   3424295375
+       .long   164400817
+       .long   1575995713
+       .long   2766414588
+       .long   1799747556
+       .long   1318700802
+       .long   2553623455
+       .long   328801635
+       .long   3151991427
+       .long   1237861880
+       .long   3599495112
+       .long   2637401604
+       .long   812279614
+       .long   657603271
+       .long   2009015559
+       .long   2475723761
+       .long   2904022928
+       .long   979835913
+       .long   1624559229
+       .long   1315206542
+       .long   4018031118
+       .long   656480226
+       .long   1513078560
+       .long   1959671827
+       .long   3249118458
+       .long   2630413084
+       .long   3741094941
+       .long   1312960453
+       .long   3026157121
+       .long   3919343654
+       .long   2203269620
+       .long   965858873
+       .long   3187222587
+       .long   2625920907
+       .long   1757346946
+       .long   3543720013
+       .long   111571945
+       .long   1931717747
+       .long   2079477878
+       .long   956874519
+       .long   3514693892
+       .long   2792472730
+       .long   223143890
+       .long   3863435494
+       .long   4158955756
+       .long   1913749038
+       .long   2734420489
+       .long   1289978165
+       .long   446287780
+       .long   3431903692
+       .long   4022944216
+       .long   3827498077
+       .long   1173873683
+       .long   2579956331
+       .long   892575561
+       .long   2568840088
+       .long   3750921137
+       .long   3360028859
+       .long   2347747367
+       .long   864945366
+       .long   1785151123
+       .long   842712880
+       .long   3206874979
+       .long   2425090423
+       .long   400527438
+       .long   1729890733
+       .long   3570302247
+       .long   1685425760
+       .long   2118782663
+       .long   555213551
+       .long   801054876
+       .long   3459781466
+       .long   2845637198
+       .long   3370851521
+       .long   4237565327
+       .long   1110427102
+       .long   1602109753
+       .long   2624595636
+       .long   1396307100
+       .long   2446735747
+       .long   4180163359
+       .long   2220854205
+       .long   3204219507
+       .long   954223976
+       .long   2792614201
+       .long   598504198
+       .long   4065359423
+       .long   146741115
+       .long   2113471718
+       .long   1908447953
+       .long   1290261106
+       .long   1197008397
+       .long   3835751551
+       .long   293482231
+       .long   4226943436
+       .long   3816895906
+       .long   2580522212
+       .long   2394016794
+       .long   3376535807
+       .long   586964463
+       .long   4158919577
+       .long   3338824517
+       .long   866077128
+       .long   493066293
+       .long   2458104319
+       .long   1173928927
+       .long   4022871858
+       .long   2382681739
+       .long   1732154256
+       .long   986132586
+       .long   621241343
+       .long   2347857855
+       .long   3750776420
+       .long   470396183
+       .long   3464308513
+       .long   1972265172
+       .long   1242482686
+       .long   400748414
+       .long   3206585544
+       .long   940792367
+       .long   2633649730
+       .long   3944530345
+       .long   2484965372
+       .long   801496828
+       .long   2118203793
+       .long   1881584735
+       .long   972332164
+       .long   3594093395
+       .long   674963448
+       .long   1602993657
+       .long   4236407587
+       .long   3763169470
+       .long   1944664328
+       .long   2893219494
+       .long   1349926897
+       .long   3205987314
+       .long   4177847879
+       .long   3231371645
+       .long   3889328657
+       .long   1491471692
+       .long   2699853794
+       .long   2117007332
+       .long   4060728462
+       .long   2167775995
+       .long   3483690018
+       .long   2982943385
+       .long   1104740292
+       .long   4234014665
+       .long   3826489629
+       .long   40584695
+       .long   2672412741
+       .long   1670919475
+       .long   2209480585
+       .long   4173062034
+       .long   3358011962
+       .long   81169391
+       .long   1049858187
+       .long   3341838951
+       .long   123993874
+       .long   4051156773
+       .long   2421056629
+       .long   162338783
+       .long   2099716375
+       .long   2388710606
+       .long   247987749
+       .long   3807346250
+       .long   547145963
+       .long   324677567
+       .long   4199432751
+       .long   482453916
+       .long   495975499
+       .long   3319725204
+       .long   1094291926
+       .long   649355134
+       .long   4103898207
+       .long   964907833
+       .long   991950999
+       .long   2344483112
+       .long   2188583852
+       .long   1298710268
+       .long   3912829119
+       .long   1929815667
+       .long   1983901999
+       .long   393998928
+       .long   82200408
+       .long   2597420537
+       .long   3530690942
+       .long   3859631335
+       .long   3967803999
+       .long   787997856
+       .long   164400817
+       .long   899873778
+       .long   2766414588
+       .long   3424295375
+       .long   3640640703
+       .long   1575995713
+       .long   328801635
+       .long   1799747556
+       .long   1237861880
+       .long   2553623455
+       .long   2986314111
+       .long   3151991427
+       .long   657603271
+       .long   3599495112
+       .long   2475723761
+       .long   812279614
+       .long   1677660927
+       .long   2009015559
+       .long   1315206542
+       .long   2904022928
+       .long   656480226
+       .long   1624559229
+       .long   3355321855
+       .long   4018031118
+       .long   2630413084
+       .long   1513078560
+       .long   1312960453
+       .long   3249118458
+       .long   2415676415
+       .long   3741094941
+       .long   965858873
+       .long   3026157121
+       .long   2625920907
+       .long   2203269620
+       .long   536385535
+       .long   3187222587
+       .long   1931717747
+       .long   1757346946
+       .long   956874519
+       .long   111571945
+       .long   1072771071
+       .long   2079477878
+       .long   3863435494
+       .long   3514693892
+       .long   1913749038
+       .long   223143890
+       .long   2145542143
+       .long   4158955756
+       .long   3431903692
+       .long   2734420489
+       .long   3827498077
+       .long   446287780
+       .long   4291084286
+       .long   4022944216
+       .long   2568840088
+       .long   1173873683
+       .long   3360028859
+       .long   892575561
+       .long   4287201277
+       .long   3750921137
+       .long   842712880
+       .long   2347747367
+       .long   2425090423
+       .long   1785151123
+       .long   4279435259
+       .long   3206874979
+       .long   1685425760
+       .long   400527438
+       .long   555213551
+       .long   3570302247
+       .long   4263903223
+       .long   2118782663
+       .long   3370851521
+       .long   801054876
+       .long   1110427102
+       .long   2845637198
+       .long   4232839151
+       .long   4237565327
+       .long   2446735747
+       .long   1602109753
+       .long   2220854205
+       .long   1396307100
+       .long   4170711006
+       .long   4180163359
+       .long   598504198
+       .long   3204219507
+       .long   146741115
+       .long   2792614201
+       .long   4046454716
+       .long   4065359423
+       .long   1197008397
+       .long   2113471718
+       .long   293482231
+       .long   1290261106
+       .long   3797942136
+       .long   3835751551
+       .long   2394016794
+       .long   4226943436
+       .long   586964463
+       .long   2580522212
+       .long   3300916976
+       .long   3376535807
+       .long   493066293
+       .long   4158919577
+       .long   1173928927
+       .long   866077128
+       .long   2306866656
+       .long   2458104319
+       .long   986132586
+       .long   4022871858
+       .long   2347857855
+       .long   1732154256
+       .long   318766016
+       .long   621241343
+       .long   1972265172
+       .long   3750776420
+       .long   400748414
+       .long   3464308513
+       .long   637532033
+       .long   1242482686
+       .long   3944530345
+       .long   3206585544
+       .long   801496828
+       .long   2633649730
+       .long   1275064066
+       .long   2484965372
+       .long   3594093395
+       .long   2118203793
+       .long   1602993657
+       .long   972332164
+       .long   2550128133
+       .long   674963448
+       .long   2893219494
+       .long   4236407587
+       .long   3205987314
+       .long   1944664328
+       .long   805288971
+       .long   1349926897
+       .long   1491471692
+       .long   4177847879
+       .long   2117007332
+       .long   3889328657
+       .long   1610577942
+       .long   2699853794
+       .long   2982943385
+       .long   4060728462
+       .long   4234014665
+       .long   3483690018
+       .long   3221155884
+       .long   1104740292
+       .long   1670919475
+       .long   3826489629
+       .long   4173062034
+       .long   2672412741
+       .long   2147344473
+       .long   2209480585
+       .long   3341838951
+       .long   3358011962
+       .long   4051156773
+       .long   1049858187
+       .long   4294688947
+       .long   123993874
+       .long   2388710606
+       .long   2421056629
+       .long   3807346250
+       .long   2099716375
+       .long   4294410598
+       .long   247987749
+       .long   482453916
+       .long   547145963
+       .long   3319725204
+       .long   4199432751
+       .long   4293853900
+       .long   495975499
+       .long   964907833
+       .long   1094291926
+       .long   2344483112
+       .long   4103898207
+       .long   4292740504
+       .long   991950999
+       .long   1929815667
+       .long   2188583852
+       .long   393998928
+       .long   3912829119
+       .long   4290513712
+       .long   1983901999
+       .long   3859631335
+       .long   82200408
+       .long   787997856
+       .long   3530690942
+       .long   4286060128
+       .long   3967803999
+       .long   3424295375
+       .long   164400817
+       .long   1575995713
+       .long   2766414588
+       .long   4277152960
+       .long   3640640703
+       .long   2553623455
+       .long   328801635
+       .long   3151991427
+       .long   1237861880
+       .long   4259338624
+       .long   2986314111
+       .long   812279614
+       .long   657603271
+       .long   2009015559
+       .long   2475723761
+       .long   4223709953
+       .long   1677660927
+       .long   1624559229
+       .long   1315206542
+       .long   4018031118
+       .long   656480226
+       .long   4152452611
+       .long   3355321855
+       .long   3249118458
+       .long   2630413084
+       .long   3741094941
+       .long   1312960453
+       .long   4009937927
+       .long   2415676415
+       .long   2203269620
+       .long   965858873
+       .long   3187222587
+       .long   2625920907
+       .long   3724908559
+       .long   536385535
+       .long   111571945
+       .long   1931717747
+       .long   2079477878
+       .long   956874519
+       .long   3154849823
+       .long   1072771071
+       .long   223143890
+       .long   3863435494
+       .long   4158955756
+       .long   1913749038
+       .long   2014732351
+       .long   2145542143
+       .long   446287780
+       .long   3431903692
+       .long   4022944216
+       .long   3827498077
+       .long   4029464703
+       .long   4291084286
+       .long   892575561
+       .long   2568840088
+       .long   3750921137
+       .long   3360028859
+       .long   3763962110
+       .long   4287201277
+       .long   1785151123
+       .long   842712880
+       .long   3206874979
+       .long   2425090423
+       .long   3232956925
+       .long   4279435259
+       .long   3570302247
+       .long   1685425760
+       .long   2118782663
+       .long   555213551
+       .long   2170946555
+       .long   4263903223
+       .long   2845637198
+       .long   3370851521
+       .long   4237565327
+       .long   1110427102
+       .long   46925815
+       .long   4232839151
+       .long   1396307100
+       .long   2446735747
+       .long   4180163359
+       .long   2220854205
+       .long   93851631
+       .long   4170711006
+       .long   2792614201
+       .long   598504198
+       .long   4065359423
+       .long   146741115
+       .long   187703262
+       .long   4046454716
+       .long   1290261106
+       .long   1197008397
+       .long   3835751551
+       .long   293482231
+       .long   375406524
+       .long   3797942136
+       .long   2580522212
+       .long   2394016794
+       .long   3376535807
+       .long   586964463
+       .long   750813049
+       .long   3300916976
+       .long   866077128
+       .long   493066293
+       .long   2458104319
+       .long   1173928927
+       .long   1501626098
+       .long   2306866656
+       .long   1732154256
+       .long   986132586
+       .long   621241343
+       .long   2347857855
+       .long   3003252197
+       .long   318766016
+       .long   3464308513
+       .long   1972265172
+       .long   1242482686
+       .long   400748414
+       .long   1711537099
+       .long   637532033
+       .long   2633649730
+       .long   3944530345
+       .long   2484965372
+       .long   801496828
+       .long   3423074199
+       .long   1275064066
+       .long   972332164
+       .long   3594093395
+       .long   674963448
+       .long   1602993657
+       .long   2551181103
+       .long   2550128133
+       .long   1944664328
+       .long   2893219494
+       .long   1349926897
+       .long   3205987314
+       .long   807394910
+       .long   805288971
+       .long   3889328657
+       .long   1491471692
+       .long   2699853794
+       .long   2117007332
+       .long   1614789820
+       .long   1610577942
+       .long   3483690018
+       .long   2982943385
+       .long   1104740292
+       .long   4234014665
+       .long   3229579640
+       .long   3221155884
+       .long   2672412741
+       .long   1670919475
+       .long   2209480585
+       .long   4173062034
+       .long   2164191985
+       .long   2147344473
+       .long   1049858187
+       .long   3341838951
+       .long   123993874
+       .long   4051156773
+       .long   33416674
+       .long   4294688947
+       .long   2099716375
+       .long   2388710606
+       .long   247987749
+       .long   3807346250
+       .long   66833348
+       .long   4294410598
+       .long   4199432751
+       .long   482453916
+       .long   495975499
+       .long   3319725204
+       .long   133666696
+       .long   4293853900
+       .long   4103898207
+       .long   964907833
+       .long   991950999
+       .long   2344483112
+       .long   267333393
+       .long   4292740504
+       .long   3912829119
+       .long   1929815667
+       .long   1983901999
+       .long   393998928
+       .long   534666787
+       .long   4290513712
+       .long   3530690942
+       .long   3859631335
+       .long   3967803999
+       .long   787997856
+       .long   1069333574
+       .long   4286060128
+       .long   2766414588
+       .long   3424295375
+       .long   3640640703
+       .long   1575995713
+       .long   2138667148
+       .long   4277152960
+       .long   1237861880
+       .long   2553623455
+       .long   2986314111
+       .long   3151991427
+       .long   4277334296
+       .long   4259338624
+       .long   2475723761
+       .long   812279614
+       .long   1677660927
+       .long   2009015559
+       .long   4259701297
+       .long   4223709953
+       .long   656480226
+       .long   1624559229
+       .long   3355321855
+       .long   4018031118
+       .long   4224435298
+       .long   4152452611
+       .long   1312960453
+       .long   3249118458
+       .long   2415676415
+       .long   3741094941
+       .long   4153903301
+       .long   4009937927
+       .long   2625920907
+       .long   2203269620
+       .long   536385535
+       .long   3187222587
+       .long   4012839307
+       .long   3724908559
+       .long   956874519
+       .long   111571945
+       .long   1072771071
+       .long   2079477878
+       .long   3730711318
+       .long   3154849823
+       .long   1913749038
+       .long   223143890
+       .long   2145542143
+       .long   4158955756
+       .long   3166455341
+       .long   2014732351
+       .long   3827498077
+       .long   446287780
+       .long   4291084286
+       .long   4022944216
+       .long   2037943386
+       .long   4029464703
+       .long   3360028859
+       .long   892575561
+       .long   4287201277
+       .long   3750921137
+       .long   4075886773
+       .long   3763962110
+       .long   2425090423
+       .long   1785151123
+       .long   4279435259
+       .long   3206874979
+       .long   3856806251
+       .long   3232956925
+       .long   555213551
+       .long   3570302247
+       .long   4263903223
+       .long   2118782663
+       .long   3418645206
+       .long   2170946555
+       .long   1110427102
+       .long   2845637198
+       .long   4232839151
+       .long   4237565327
+       .long   2542323117
+       .long   46925815
+       .long   2220854205
+       .long   1396307100
+       .long   4170711006
+       .long   4180163359
+       .long   789678938
+       .long   93851631
+       .long   146741115
+       .long   2792614201
+       .long   4046454716
+       .long   4065359423
+       .long   1579357876
+       .long   187703262
+       .long   293482231
+       .long   1290261106
+       .long   3797942136
+       .long   3835751551
+       .long   3158715752
+       .long   375406524
+       .long   586964463
+       .long   2580522212
+       .long   3300916976
+       .long   3376535807
+       .long   2022464208
+       .long   750813049
+       .long   1173928927
+       .long   866077128
+       .long   2306866656
+       .long   2458104319
+       .long   4044928416
+       .long   1501626098
+       .long   2347857855
+       .long   1732154256
+       .long   318766016
+       .long   621241343
+       .long   3794889537
+       .long   3003252197
+       .long   400748414
+       .long   3464308513
+       .long   637532033
+       .long   1242482686
+       .long   3294811778
+       .long   1711537099
+       .long   801496828
+       .long   2633649730
+       .long   1275064066
+       .long   2484965372
+       .long   2294656261
+       .long   3423074199
+       .long   1602993657
+       .long   972332164
+       .long   2550128133
+       .long   674963448
+       .long   294345226
+       .long   2551181103
+       .long   3205987314
+       .long   1944664328
+       .long   805288971
+       .long   1349926897
+       .long   588690452
+       .long   807394910
+       .long   2117007332
+       .long   3889328657
+       .long   1610577942
+       .long   2699853794
+       .long   1177380905
+       .long   1614789820
+       .long   4234014665
+       .long   3483690018
+       .long   3221155884
+       .long   1104740292
+       .long   2354761811
+       .long   3229579640
+       .long   4173062034
+       .long   2672412741
+       .long   2147344473
+       .long   2209480585
+       .long   414556326
+       .long   2164191985
+       .long   4051156773
+       .long   1049858187
+       .long   4294688947
+       .long   123993874
+       .long   829112653
+       .long   33416674
+       .long   3807346250
+       .long   2099716375
+       .long   4294410598
+       .long   247987749
+       .long   1658225307
+       .long   66833348
+       .long   3319725204
+       .long   4199432751
+       .long   4293853900
+       .long   495975499
+       .long   3316450614
+       .long   133666696
+       .long   2344483112
+       .long   4103898207
+       .long   4292740504
+       .long   991950999
+       .long   2337933933
+       .long   267333393
+       .long   393998928
+       .long   3912829119
+       .long   4290513712
+       .long   1983901999
+       .long   380900570
+       .long   534666787
+       .long   787997856
+       .long   3530690942
+       .long   4286060128
+       .long   3967803999
+       .long   761801140
+       .long   1069333574
+       .long   1575995713
+       .long   2766414588
+       .long   4277152960
+       .long   3640640703
+       .long   1523602280
+       .long   2138667148
+       .long   3151991427
+       .long   1237861880
+       .long   4259338624
+       .long   2986314111
+       .long   3047204561
+       .long   4277334296
+       .long   2009015559
+       .long   2475723761
+       .long   4223709953
+       .long   1677660927
+       .long   1799441827
+       .long   4259701297
+       .long   4018031118
+       .long   656480226
+       .long   4152452611
+       .long   3355321855
+       .long   3598883655
+       .long   4224435298
+       .long   3741094941
+       .long   1312960453
+       .long   4009937927
+       .long   2415676415
+       .long   2902800015
+       .long   4153903301
+       .long   3187222587
+       .long   2625920907
+       .long   3724908559
+       .long   536385535
+       .long   1510632735
+       .long   4012839307
+       .long   2079477878
+       .long   956874519
+       .long   3154849823
+       .long   1072771071
+       .long   3021265470
+       .long   3730711318
+       .long   4158955756
+       .long   1913749038
+       .long   2014732351
+       .long   2145542143
+       .long   1747563645
+       .long   3166455341
+       .long   4022944216
+       .long   3827498077
+       .long   4029464703
+       .long   4291084286
+       .long   3495127291
+       .long   2037943386
+       .long   3750921137
+       .long   3360028859
+       .long   3763962110
+       .long   4287201277
+       .long   2695287286
+       .long   4075886773
+       .long   3206874979
+       .long   2425090423
+       .long   3232956925
+       .long   4279435259
+       .long   1095607277
+       .long   3856806251
+       .long   2118782663
+       .long   555213551
+       .long   2170946555
+       .long   4263903223
+       .long   2191214555
+       .long   3418645206
+       .long   4237565327
+       .long   1110427102
+       .long   46925815
+       .long   4232839151
+       .long   87461814
+       .long   2542323117
+       .long   4180163359
+       .long   2220854205
+       .long   93851631
+       .long   4170711006
+       .long   174923629
+       .long   789678938
+       .long   4065359423
+       .long   146741115
+       .long   187703262
+       .long   4046454716
+       .long   349847258
+       .long   1579357876
+       .long   3835751551
+       .long   293482231
+       .long   375406524
+       .long   3797942136
+       .long   699694516
+       .long   3158715752
+       .long   3376535807
+       .long   586964463
+       .long   750813049
+       .long   3300916976
+       .long   1399389033
+       .long   2022464208
+       .long   2458104319
+       .long   1173928927
+       .long   1501626098
+       .long   2306866656
+       .long   2798778067
+       .long   4044928416
+       .long   621241343
+       .long   2347857855
+       .long   3003252197
+       .long   318766016
+       .long   1302588838
+       .long   3794889537
+       .long   1242482686
+       .long   400748414
+       .long   1711537099
+       .long   637532033
+       .long   2605177677
+       .long   3294811778
+       .long   2484965372
+       .long   801496828
+       .long   3423074199
+       .long   1275064066
+       .long   915388059
+       .long   2294656261
+       .long   674963448
+       .long   1602993657
+       .long   2551181103
+       .long   2550128133
+       .long   1830776118
+       .long   294345226
+       .long   1349926897
+       .long   3205987314
+       .long   807394910
+       .long   805288971
+       .long   3661552236
+       .long   588690452
+       .long   2699853794
+       .long   2117007332
+       .long   1614789820
+       .long   1610577942
+       .long   3028137177
+       .long   1177380905
+       .long   1104740292
+       .long   4234014665
+       .long   3229579640
+       .long   3221155884
+       .long   1761307059
+       .long   2354761811
+       .long   2209480585
+       .long   4173062034
+       .long   2164191985
+       .long   2147344473
+       .long   3522614119
+       .long   414556326
+       .long   123993874
+       .long   4051156773
+       .long   33416674
+       .long   4294688947
+       .long   2750260943
+       .long   829112653
+       .long   247987749
+       .long   3807346250
+       .long   66833348
+       .long   4294410598
+       .long   1205554591
+       .long   1658225307
+       .long   495975499
+       .long   3319725204
+       .long   133666696
+       .long   4293853900
+       .long   2411109183
+       .long   3316450614
+       .long   991950999
+       .long   2344483112
+       .long   267333393
+       .long   4292740504
+       .long   527251070
+       .long   2337933933
+       .long   1983901999
+       .long   393998928
+       .long   534666787
+       .long   4290513712
+       .long   1054502141
+       .long   380900570
+       .long   3967803999
+       .long   787997856
+       .long   1069333574
+       .long   4286060128
+       .long   2109004283
+       .long   761801140
+       .long   3640640703
+       .long   1575995713
+       .long   2138667148
+       .long   4277152960
+       .long   4218008566
+       .long   1523602280
+       .long   2986314111
+       .long   3151991427
+       .long   4277334296
+       .long   4259338624
+       .long   4141049836
+       .long   3047204561
+       .long   1677660927
+       .long   2009015559
+       .long   4259701297
+       .long   4223709953
+       .long   3987132377
+       .long   1799441827
+       .long   3355321855
+       .long   4018031118
+       .long   4224435298
+       .long   4152452611
+       .long   3679297459
+       .long   3598883655
+       .long   2415676415
+       .long   3741094941
+       .long   4153903301
+       .long   4009937927
+       .long   3063627623
+       .long   2902800015
+       .long   536385535
+       .long   3187222587
+       .long   4012839307
+       .long   3724908559
+       .long   1832287951
+       .long   1510632735
+       .long   1072771071
+       .long   2079477878
+       .long   3730711318
+       .long   3154849823
+       .long   3664575902
+       .long   3021265470
+       .long   2145542143
+       .long   4158955756
+       .long   3166455341
+       .long   2014732351
+       .long   3034184508
+       .long   1747563645
+       .long   4291084286
+       .long   4022944216
+       .long   2037943386
+       .long   4029464703
+       .long   1773401721
+       .long   3495127291
+       .long   4287201277
+       .long   3750921137
+       .long   4075886773
+       .long   3763962110
+       .long   3546803442
+       .long   2695287286
+       .long   4279435259
+       .long   3206874979
+       .long   3856806251
+       .long   3232956925
+       .long   2798639588
+       .long   1095607277
+       .long   4263903223
+       .long   2118782663
+       .long   3418645206
+       .long   2170946555
+       .long   1302311881
+       .long   2191214555
+       .long   4232839151
+       .long   4237565327
+       .long   2542323117
+       .long   46925815
+       .long   2604623763
+       .long   87461814
+       .long   4170711006
+       .long   4180163359
+       .long   789678938
+       .long   93851631
+       .long   914280231
+       .long   174923629
+       .long   4046454716
+       .long   4065359423
+       .long   1579357876
+       .long   187703262
+       .long   1828560463
+       .long   349847258
+       .long   3797942136
+       .long   3835751551
+       .long   3158715752
+       .long   375406524
+       .long   3657120927
+       .long   699694516
+       .long   3300916976
+       .long   3376535807
+       .long   2022464208
+       .long   750813049
+       .long   3019274558
+       .long   1399389033
+       .long   2306866656
+       .long   2458104319
+       .long   4044928416
+       .long   1501626098
+       .long   1743581820
+       .long   2798778067
+       .long   318766016
+       .long   621241343
+       .long   3794889537
+       .long   3003252197
+       .long   3487163641
+       .long   1302588838
+       .long   637532033
+       .long   1242482686
+       .long   3294811778
+       .long   1711537099
+       .long   2679359986
+       .long   2605177677
+       .long   1275064066
+       .long   2484965372
+       .long   2294656261
+       .long   3423074199
+       .long   1063752677
+       .long   915388059
+       .long   2550128133
+       .long   674963448
+       .long   294345226
+       .long   2551181103
+       .long   2127505355
+       .long   1830776118
+       .long   805288971
+       .long   1349926897
+       .long   588690452
+       .long   807394910
+       .long   4255010710
+       .long   3661552236
+       .long   1610577942
+       .long   2699853794
+       .long   1177380905
+       .long   1614789820
+       .long   4215054124
+       .long   3028137177
+       .long   3221155884
+       .long   1104740292
+       .long   2354761811
+       .long   3229579640
+       .long   4135140952
+       .long   1761307059
+       .long   2147344473
+       .long   2209480585
+       .long   414556326
+       .long   2164191985
+       .long   3975314608
+       .long   3522614119
+       .long   4294688947
+       .long   123993874
+       .long   829112653
+       .long   33416674
+       .long   3655661921
+       .long   2750260943
+       .long   4294410598
+       .long   247987749
+       .long   1658225307
+       .long   66833348
+       .long   3016356546
+       .long   1205554591
+       .long   4293853900
+       .long   495975499
+       .long   3316450614
+       .long   133666696
+       .long   1737745796
+       .long   2411109183
+       .long   4292740504
+       .long   991950999
+       .long   2337933933
+       .long   267333393
+       .long   3475491593
+       .long   527251070
+       .long   4290513712
+       .long   1983901999
+       .long   380900570
+       .long   534666787
+       .long   2656015891
+       .long   1054502141
+       .long   4286060128
+       .long   3967803999
+       .long   761801140
+       .long   1069333574
+       .long   1017064486
+       .long   2109004283
+       .long   4277152960
+       .long   3640640703
+       .long   1523602280
+       .long   2138667148
+       .long   2034128973
+       .long   4218008566
+       .long   4259338624
+       .long   2986314111
+       .long   3047204561
+       .long   4277334296
+       .long   4068257947
+       .long   4141049836
+       .long   4223709953
+       .long   1677660927
+       .long   1799441827
+       .long   4259701297
+       .long   3841548598
+       .long   3987132377
+       .long   4152452611
+       .long   3355321855
+       .long   3598883655
+       .long   4224435298
+       .long   3388129901
+       .long   3679297459
+       .long   4009937927
+       .long   2415676415
+       .long   2902800015
+       .long   4153903301
+       .long   2481292507
+       .long   3063627623
+       .long   3724908559
+       .long   536385535
+       .long   1510632735
+       .long   4012839307
+       .long   667617719
+       .long   1832287951
+       .long   3154849823
+       .long   1072771071
+       .long   3021265470
+       .long   3730711318
+       .long   1335235438
+       .long   3664575902
+       .long   2014732351
+       .long   2145542143
+       .long   1747563645
+       .long   3166455341
+       .long   2670470877
+       .long   3034184508
+       .long   4029464703
+       .long   4291084286
+       .long   3495127291
+       .long   2037943386
+       .long   1045974458
+       .long   1773401721
+       .long   3763962110
+       .long   4287201277
+       .long   2695287286
+       .long   4075886773
+       .long   2091948916
+       .long   3546803442
+       .long   3232956925
+       .long   4279435259
+       .long   1095607277
+       .long   3856806251
+       .long   4183897833
+       .long   2798639588
+       .long   2170946555
+       .long   4263903223
+       .long   2191214555
+       .long   3418645206
+       .long   4072828371
+       .long   1302311881
+       .long   46925815
+       .long   4232839151
+       .long   87461814
+       .long   2542323117
+       .long   3850689447
+       .long   2604623763
+       .long   93851631
+       .long   4170711006
+       .long   174923629
+       .long   789678938
+       .long   3406411599
+       .long   914280231
+       .long   187703262
+       .long   4046454716
+       .long   349847258
+       .long   1579357876
+       .long   2517855902
+       .long   1828560463
+       .long   375406524
+       .long   3797942136
+       .long   699694516
+       .long   3158715752
+       .long   740744509
+       .long   3657120927
+       .long   750813049
+       .long   3300916976
+       .long   1399389033
+       .long   2022464208
+       .long   1481489018
+       .long   3019274558
+       .long   1501626098
+       .long   2306866656
+       .long   2798778067
+       .long   4044928416
+       .long   2962978036
+       .long   1743581820
+       .long   3003252197
+       .long   318766016
+       .long   1302588838
+       .long   3794889537
+       .long   1630988776
+       .long   3487163641
+       .long   1711537099
+       .long   637532033
+       .long   2605177677
+       .long   3294811778
+       .long   3261977553
+       .long   2679359986
+       .long   3423074199
+       .long   1275064066
+       .long   915388059
+       .long   2294656261
+       .long   2228987811
+       .long   1063752677
+       .long   2551181103
+       .long   2550128133
+       .long   1830776118
+       .long   294345226
+       .long   163008326
+       .long   2127505355
+       .long   807394910
+       .long   805288971
+       .long   3661552236
+       .long   588690452
+       .long   326016652
+       .long   4255010710
+       .long   1614789820
+       .long   1610577942
+       .long   3028137177
+       .long   1177380905
+       .long   652033304
+       .long   4215054124
+       .long   3229579640
+       .long   3221155884
+       .long   1761307059
+       .long   2354761811
+       .long   1304066609
+       .long   4135140952
+       .long   2164191985
+       .long   2147344473
+       .long   3522614119
+       .long   414556326
+       .long   2608133219
+       .long   3975314608
+       .long   33416674
+       .long   4294688947
+       .long   2750260943
+       .long   829112653
+       .long   921299143
+       .long   3655661921
+       .long   66833348
+       .long   4294410598
+       .long   1205554591
+       .long   1658225307
+       .long   1842598287
+       .long   3016356546
+       .long   133666696
+       .long   4293853900
+       .long   2411109183
+       .long   3316450614
+       .long   3685196575
+       .long   1737745796
+       .long   267333393
+       .long   4292740504
+       .long   527251070
+       .long   2337933933
+       .long   3075425855
+       .long   3475491593
+       .long   534666787
+       .long   4290513712
+       .long   1054502141
+       .long   380900570
+       .long   1855884414
+       .long   2656015891
+       .long   1069333574
+       .long   4286060128
+       .long   2109004283
+       .long   761801140
+       .long   3711768829
+       .long   1017064486
+       .long   2138667148
+       .long   4277152960
+       .long   4218008566
+       .long   1523602280
+       .long   3128570363
+       .long   2034128973
+       .long   4277334296
+       .long   4259338624
+       .long   4141049836
+       .long   3047204561
+       .long   1962173430
+       .long   4068257947
+       .long   4259701297
+       .long   4223709953
+       .long   3987132377
+       .long   1799441827
+       .long   3924346860
+       .long   3841548598
+       .long   4224435298
+       .long   4152452611
+       .long   3679297459
+       .long   3598883655
+       .long   3553726425
+       .long   3388129901
+       .long   4153903301
+       .long   4009937927
+       .long   3063627623
+       .long   2902800015
+       .long   2812485555
+       .long   2481292507
+       .long   4012839307
+       .long   3724908559
+       .long   1832287951
+       .long   1510632735
+       .long   1330003814
+       .long   667617719
+       .long   3730711318
+       .long   3154849823
+       .long   3664575902
+       .long   3021265470
+       .long   2660007629
+       .long   1335235438
+       .long   3166455341
+       .long   2014732351
+       .long   3034184508
+       .long   1747563645
+       .long   1025047962
+       .long   2670470877
+       .long   2037943386
+       .long   4029464703
+       .long   1773401721
+       .long   3495127291
+       .long   2050095924
+       .long   1045974458
+       .long   4075886773
+       .long   3763962110
+       .long   3546803442
+       .long   2695287286
+       .long   4100191849
+       .long   2091948916
+       .long   3856806251
+       .long   3232956925
+       .long   2798639588
+       .long   1095607277
+       .long   3905416403
+       .long   4183897833
+       .long   3418645206
+       .long   2170946555
+       .long   1302311881
+       .long   2191214555
+       .long   3515865511
+       .long   4072828371
+       .long   2542323117
+       .long   46925815
+       .long   2604623763
+       .long   87461814
+       .long   2736763727
+       .long   3850689447
+       .long   789678938
+       .long   93851631
+       .long   914280231
+       .long   174923629
+       .long   1178560158
+       .long   3406411599
+       .long   1579357876
+       .long   187703262
+       .long   1828560463
+       .long   349847258
+       .long   2357120316
+       .long   2517855902
+       .long   3158715752
+       .long   375406524
+       .long   3657120927
+       .long   699694516
+       .long   419273337
+       .long   740744509
+       .long   2022464208
+       .long   750813049
+       .long   3019274558
+       .long   1399389033
+       .long   838546674
+       .long   1481489018
+       .long   4044928416
+       .long   1501626098
+       .long   1743581820
+       .long   2798778067
+       .long   1677093349
+       .long   2962978036
+       .long   3794889537
+       .long   3003252197
+       .long   3487163641
+       .long   1302588838
+       .long   3354186699
+       .long   1630988776
+       .long   3294811778
+       .long   1711537099
+       .long   2679359986
+       .long   2605177677
+       .long   2413406103
+       .long   3261977553
+       .long   2294656261
+       .long   3423074199
+       .long   1063752677
+       .long   915388059
+       .long   531844911
+       .long   2228987811
+       .long   294345226
+       .long   2551181103
+       .long   2127505355
+       .long   1830776118
+       .long   1063689823
+       .long   163008326
+       .long   588690452
+       .long   807394910
+       .long   4255010710
+       .long   3661552236
+       .long   2127379647
+       .long   326016652
+       .long   1177380905
+       .long   1614789820
+       .long   4215054124
+       .long   3028137177
+       .long   4254759295
+       .long   652033304
+       .long   2354761811
+       .long   3229579640
+       .long   4135140952
+       .long   1761307059
+       .long   4214551295
+       .long   1304066609
+       .long   414556326
+       .long   2164191985
+       .long   3975314608
+       .long   3522614119
+       .long   4134135294
+       .long   2608133219
+       .long   829112653
+       .long   33416674
+       .long   3655661921
+       .long   2750260943
+       .long   3973303293
+       .long   921299143
+       .long   1658225307
+       .long   66833348
+       .long   3016356546
+       .long   1205554591
+       .long   3651639290
+       .long   1842598287
+       .long   3316450614
+       .long   133666696
+       .long   1737745796
+       .long   2411109183
+       .long   3008311285
+       .long   3685196575
+       .long   2337933933
+       .long   267333393
+       .long   3475491593
+       .long   527251070
+       .long   1721655274
+       .long   3075425855
+       .long   380900570
+       .long   534666787
+       .long   2656015891
+       .long   1054502141
+       .long   3443310548
+       .long   1855884414
+       .long   761801140
+       .long   1069333574
+       .long   1017064486
+       .long   2109004283
+       .long   2591653800
+       .long   3711768829
+       .long   1523602280
+       .long   2138667148
+       .long   2034128973
+       .long   4218008566
+       .long   888340305
+       .long   3128570363
+       .long   3047204561
+       .long   4277334296
+       .long   4068257947
+       .long   4141049836
+       .long   1776680610
+       .long   1962173430
+       .long   1799441827
+       .long   4259701297
+       .long   3841548598
+       .long   3987132377
+       .long   3553361221
+       .long   3924346860
+       .long   3598883655
+       .long   4224435298
+       .long   3388129901
+       .long   3679297459
+       .long   2811755147
+       .long   3553726425
+       .long   2902800015
+       .long   4153903301
+       .long   2481292507
+       .long   3063627623
+       .long   1328542998
+       .long   2812485555
+       .long   1510632735
+       .long   4012839307
+       .long   667617719
+       .long   1832287951
+       .long   2657085997
+       .long   1330003814
+       .long   3021265470
+       .long   3730711318
+       .long   1335235438
+       .long   3664575902
+       .long   1019204698
+       .long   2660007629
+       .long   1747563645
+       .long   3166455341
+       .long   2670470877
+       .long   3034184508
+       .long   2038409397
+       .long   1025047962
+       .long   3495127291
+       .long   2037943386
+       .long   1045974458
+       .long   1773401721
+       .long   4076818795
+       .long   2050095924
+       .long   2695287286
+       .long   4075886773
+       .long   2091948916
+       .long   3546803442
+       .long   3858670295
+       .long   4100191849
+       .long   1095607277
+       .long   3856806251
+       .long   4183897833
+       .long   2798639588
+       .long   3422373294
+       .long   3905416403
+       .long   2191214555
+       .long   3418645206
+       .long   4072828371
+       .long   1302311881
+       .long   2549779293
+       .long   3515865511
+       .long   87461814
+       .long   2542323117
+       .long   3850689447
+       .long   2604623763
+       .long   804591290
+       .long   2736763727
+       .long   174923629
+       .long   789678938
+       .long   3406411599
+       .long   914280231
+       .long   1609182581
+       .long   1178560158
+       .long   349847258
+       .long   1579357876
+       .long   2517855902
+       .long   1828560463
+       .long   3218365162
+       .long   2357120316
+       .long   699694516
+       .long   3158715752
+       .long   740744509
+       .long   3657120927
+       .long   2141763028
+       .long   419273337
+       .long   1399389033
+       .long   2022464208
+       .long   1481489018
+       .long   3019274558
+       .long   4283526057
+       .long   838546674
+       .long   2798778067
+       .long   4044928416
+       .long   2962978036
+       .long   1743581820
+       .long   4272084818
+       .long   1677093349
+       .long   1302588838
+       .long   3794889537
+       .long   1630988776
+       .long   3487163641
+       .long   4249202340
+       .long   3354186699
+       .long   2605177677
+       .long   3294811778
+       .long   3261977553
+       .long   2679359986
+       .long   4203437385
+       .long   2413406103
+       .long   915388059
+       .long   2294656261
+       .long   2228987811
+       .long   1063752677
+       .long   4111907475
+       .long   531844911
+       .long   1830776118
+       .long   294345226
+       .long   163008326
+       .long   2127505355
+       .long   3928847655
+       .long   1063689823
+       .long   3661552236
+       .long   588690452
+       .long   326016652
+       .long   4255010710
+       .long   3562728015
+       .long   2127379647
+       .long   3028137177
+       .long   1177380905
+       .long   652033304
+       .long   4215054124
+       .long   2830488734
+       .long   4254759295
+       .long   1761307059
+       .long   2354761811
+       .long   1304066609
+       .long   4135140952
+       .long   1366010173
+       .long   4214551295
+       .long   3522614119
+       .long   414556326
+       .long   2608133219
+       .long   3975314608
+       .long   2732020347
+       .long   4134135294
+       .long   2750260943
+       .long   829112653
+       .long   921299143
+       .long   3655661921
+       .long   1169073399
+       .long   3973303293
+       .long   1205554591
+       .long   1658225307
+       .long   1842598287
+       .long   3016356546
+       .long   2338146798
+       .long   3651639290
+       .long   2411109183
+       .long   3316450614
+       .long   3685196575
+       .long   1737745796
+       .long   381326301
+       .long   3008311285
+       .long   527251070
+       .long   2337933933
+       .long   3075425855
+       .long   3475491593
+       .long   762652602
+       .long   1721655274
+       .long   1054502141
+       .long   380900570
+       .long   1855884414
+       .long   2656015891
+       .long   1525305205
+       .long   3443310548
+       .long   2109004283
+       .long   761801140
+       .long   3711768829
+       .long   1017064486
+       .long   3050610411
+       .long   2591653800
+       .long   4218008566
+       .long   1523602280
+       .long   3128570363
+       .long   2034128973
+       .long   1806253526
+       .long   888340305
+       .long   4141049836
+       .long   3047204561
+       .long   1962173430
+       .long   4068257947
+       .long   3612507052
+       .long   1776680610
+       .long   3987132377
+       .long   1799441827
+       .long   3924346860
+       .long   3841548598
+       .long   2930046808
+       .long   3553361221
+       .long   3679297459
+       .long   3598883655
+       .long   3553726425
+       .long   3388129901
+       .long   1565126321
+       .long   2811755147
+       .long   3063627623
+       .long   2902800015
+       .long   2812485555
+       .long   2481292507
+       .long   3130252643
+       .long   1328542998
+       .long   1832287951
+       .long   1510632735
+       .long   1330003814
+       .long   667617719
+       .long   1965537991
+       .long   2657085997
+       .long   3664575902
+       .long   3021265470
+       .long   2660007629
+       .long   1335235438
+       .long   3931075983
+       .long   1019204698
+       .long   3034184508
+       .long   1747563645
+       .long   1025047962
+       .long   2670470877
+       .long   3567184671
+       .long   2038409397
+       .long   1773401721
+       .long   3495127291
+       .long   2050095924
+       .long   1045974458
+       .long   2839402047
+       .long   4076818795
+       .long   3546803442
+       .long   2695287286
+       .long   4100191849
+       .long   2091948916
+       .long   1383836798
+       .long   3858670295
+       .long   2798639588
+       .long   1095607277
+       .long   3905416403
+       .long   4183897833
+       .long   2767673597
+       .long   3422373294
+       .long   1302311881
+       .long   2191214555
+       .long   3515865511
+       .long   4072828371
+       .long   1240379898
+       .long   2549779293
+       .long   2604623763
+       .long   87461814
+       .long   2736763727
+       .long   3850689447
+       .long   2480759797
+       .long   804591290
+       .long   914280231
+       .long   174923629
+       .long   1178560158
+       .long   3406411599
+       .long   666552299
+       .long   1609182581
+       .long   1828560463
+       .long   349847258
+       .long   2357120316
+       .long   2517855902
+       .long   1333104599
+       .long   3218365162
+       .long   3657120927
+       .long   699694516
+       .long   419273337
+       .long   740744509
+       .long   2666209199
+       .long   2141763028
+       .long   3019274558
+       .long   1399389033
+       .long   838546674
+       .long   1481489018
+       .long   1037451103
+       .long   4283526057
+       .long   1743581820
+       .long   2798778067
+       .long   1677093349
+       .long   2962978036
+       .long   2074902206
+       .long   4272084818
+       .long   3487163641
+       .long   1302588838
+       .long   3354186699
+       .long   1630988776
+       .long   4149804412
+       .long   4249202340
+       .long   2679359986
+       .long   2605177677
+       .long   2413406103
+       .long   3261977553
+       .long   4004641529
+       .long   4203437385
+       .long   1063752677
+       .long   915388059
+       .long   531844911
+       .long   2228987811
+       .long   3714315762
+       .long   4111907475
+       .long   2127505355
+       .long   1830776118
+       .long   1063689823
+       .long   163008326
+       .long   3133664229
+       .long   3928847655
+       .long   4255010710
+       .long   3661552236
+       .long   2127379647
+       .long   326016652
+       .long   1972361163
+       .long   3562728015
+       .long   4215054124
+       .long   3028137177
+       .long   4254759295
+       .long   652033304
+       .long   3944722327
+       .long   2830488734
+       .long   4135140952
+       .long   1761307059
+       .long   4214551295
+       .long   1304066609
+       .long   3594477359
+       .long   1366010173
+       .long   3975314608
+       .long   3522614119
+       .long   4134135294
+       .long   2608133219
+       .long   2893987423
+       .long   2732020347
+       .long   3655661921
+       .long   2750260943
+       .long   3973303293
+       .long   921299143
+       .long   1493007550
+       .long   1169073399
+       .long   3016356546
+       .long   1205554591
+       .long   3651639290
+       .long   1842598287
+       .long   2986015100
+       .long   2338146798
+       .long   1737745796
+       .long   2411109183
+       .long   3008311285
+       .long   3685196575
+       .long   1677062904
+       .long   381326301
+       .long   3475491593
+       .long   527251070
+       .long   1721655274
+       .long   3075425855
+       .long   3354125809
+       .long   762652602
+       .long   2656015891
+       .long   1054502141
+       .long   3443310548
+       .long   1855884414
+       .long   2413284322
+       .long   1525305205
+       .long   1017064486
+       .long   2109004283
+       .long   2591653800
+       .long   3711768829
+       .long   531601349
+       .long   3050610411
+       .long   2034128973
+       .long   4218008566
+       .long   888340305
+       .long   3128570363
+       .long   1063202699
+       .long   1806253526
+       .long   4068257947
+       .long   4141049836
+       .long   1776680610
+       .long   1962173430
+       .long   2126405399
+       .long   3612507052
+       .long   3841548598
+       .long   3987132377
+       .long   3553361221
+       .long   3924346860
+       .long   4252810799
+       .long   2930046808
+       .long   3388129901
+       .long   3679297459
+       .long   2811755147
+       .long   3553726425
+       .long   4210654302
+       .long   1565126321
+       .long   2481292507
+       .long   3063627623
+       .long   1328542998
+       .long   2812485555
+       .long   4126341309
+       .long   3130252643
+       .long   667617719
+       .long   1832287951
+       .long   2657085997
+       .long   1330003814
+       .long   3957715323
+       .long   1965537991
+       .long   1335235438
+       .long   3664575902
+       .long   1019204698
+       .long   2660007629
+       .long   3620463350
+       .long   3931075983
+       .long   2670470877
+       .long   3034184508
+       .long   2038409397
+       .long   1025047962
+       .long   2945959404
+       .long   3567184671
+       .long   1045974458
+       .long   1773401721
+       .long   4076818795
+       .long   2050095924
+       .long   1596951513
+       .long   2839402047
+       .long   2091948916
+       .long   3546803442
+       .long   3858670295
+       .long   4100191849
+       .long   3193903027
+       .long   1383836798
+       .long   4183897833
+       .long   2798639588
+       .long   3422373294
+       .long   3905416403
+       .long   2092838759
+       .long   2767673597
+       .long   4072828371
+       .long   1302311881
+       .long   2549779293
+       .long   3515865511
+       .long   4185677519
+       .long   1240379898
+       .long   3850689447
+       .long   2604623763
+       .long   804591290
+       .long   2736763727
+       .long   4076387742
+       .long   2480759797
+       .long   3406411599
+       .long   914280231
+       .long   1609182581
+       .long   1178560158
+       .long   3857808189
+       .long   666552299
+       .long   2517855902
+       .long   1828560463
+       .long   3218365162
+       .long   2357120316
+       .long   3420649082
+       .long   1333104599
+       .long   740744509
+       .long   3657120927
+       .long   2141763028
+       .long   419273337
+       .long   2546330868
+       .long   2666209199
+       .long   1481489018
+       .long   3019274558
+       .long   4283526057
+       .long   838546674
+       .long   797694440
+       .long   1037451103
+       .long   2962978036
+       .long   1743581820
+       .long   4272084818
+       .long   1677093349
+       .long   1595388880
+       .long   2074902206
+       .long   1630988776
+       .long   3487163641
+       .long   4249202340
+       .long   3354186699
+       .long   3190777760
+       .long   4149804412
+       .long   3261977553
+       .long   2679359986
+       .long   4203437385
+       .long   2413406103
+       .long   2086588225
+       .long   4004641529
+       .long   2228987811
+       .long   1063752677
+       .long   4111907475
+       .long   531844911
+       .long   4173176451
+       .long   3714315762
+       .long   163008326
+       .long   2127505355
+       .long   3928847655
+       .long   1063689823
+       .long   4051385607
+       .long   3133664229
+       .long   326016652
+       .long   4255010710
+       .long   3562728015
+       .long   2127379647
+       .long   3807803918
+       .long   1972361163
+       .long   652033304
+       .long   4215054124
+       .long   2830488734
+       .long   4254759295
+       .long   3320640540
+       .long   3944722327
+       .long   1304066609
+       .long   4135140952
+       .long   1366010173
+       .long   4214551295
+       .long   2346313785
+       .long   3594477359
+       .long   2608133219
+       .long   3975314608
+       .long   2732020347
+       .long   4134135294
+       .long   397660275
+       .long   2893987423
+       .long   921299143
+       .long   3655661921
+       .long   1169073399
+       .long   3973303293
+       .long   795320551
+       .long   1493007550
+       .long   1842598287
+       .long   3016356546
+       .long   2338146798
+       .long   3651639290
+       .long   1590641102
+       .long   2986015100
+       .long   3685196575
+       .long   1737745796
+       .long   381326301
+       .long   3008311285
+       .long   3181282204
+       .long   1677062904
+       .long   3075425855
+       .long   3475491593
+       .long   762652602
+       .long   1721655274
+       .long   2067597113
+       .long   3354125809
+       .long   1855884414
+       .long   2656015891
+       .long   1525305205
+       .long   3443310548
+       .long   4135194227
+       .long   2413284322
+       .long   3711768829
+       .long   1017064486
+       .long   3050610411
+       .long   2591653800
+       .long   3975421159
+       .long   531601349
+       .long   3128570363
+       .long   2034128973
+       .long   1806253526
+       .long   888340305
+       .long   3655875023
+       .long   1063202699
+       .long   1962173430
+       .long   4068257947
+       .long   3612507052
+       .long   1776680610
+       .long   3016782751
+       .long   2126405399
+       .long   3924346860
+       .long   3841548598
+       .long   2930046808
+       .long   3553361221
+       .long   1738598206
+       .long   4252810799
+       .long   3553726425
+       .long   3388129901
+       .long   1565126321
+       .long   2811755147
+       .long   3477196413
+       .long   4210654302
+       .long   2812485555
+       .long   2481292507
+       .long   3130252643
+       .long   1328542998
+       .long   2659425531
+       .long   4126341309
+       .long   1330003814
+       .long   667617719
+       .long   1965537991
+       .long   2657085997
+       .long   1023883767
+       .long   3957715323
+       .long   2660007629
+       .long   1335235438
+       .long   3931075983
+       .long   1019204698
+       .long   2047767535
+       .long   3620463350
+       .long   1025047962
+       .long   2670470877
+       .long   3567184671
+       .long   2038409397
+       .long   4095535070
+       .long   2945959404
+       .long   2050095924
+       .long   1045974458
+       .long   2839402047
+       .long   4076818795
+       .long   3896102844
+       .long   1596951513
+       .long   4100191849
+       .long   2091948916
+       .long   1383836798
+       .long   3858670295
+       .long   3497238392
+       .long   3193903027
+       .long   3905416403
+       .long   4183897833
+       .long   2767673597
+       .long   3422373294
+       .long   2699509489
+       .long   2092838759
+       .long   3515865511
+       .long   4072828371
+       .long   1240379898
+       .long   2549779293
+       .long   1104051682
+       .long   4185677519
+       .long   2736763727
+       .long   3850689447
+       .long   2480759797
+       .long   804591290
+       .long   2208103365
+       .long   4076387742
+       .long   1178560158
+       .long   3406411599
+       .long   666552299
+       .long   1609182581
+       .long   121239434
+       .long   3857808189
+       .long   2357120316
+       .long   2517855902
+       .long   1333104599
+       .long   3218365162
+       .long   242478868
+       .long   3420649082
+       .long   419273337
+       .long   740744509
+       .long   2666209199
+       .long   2141763028
+       .long   484957737
+       .long   2546330868
+       .long   838546674
+       .long   1481489018
+       .long   1037451103
+       .long   4283526057
+       .long   969915474
+       .long   797694440
+       .long   1677093349
+       .long   2962978036
+       .long   2074902206
+       .long   4272084818
+       .long   1939830949
+       .long   1595388880
+       .long   3354186699
+       .long   1630988776
+       .long   4149804412
+       .long   4249202340
+       .long   3879661898
+       .long   3190777760
+       .long   2413406103
+       .long   3261977553
+       .long   4004641529
+       .long   4203437385
+       .long   3464356500
+       .long   2086588225
+       .long   531844911
+       .long   2228987811
+       .long   3714315762
+       .long   4111907475
+       .long   2633745705
+       .long   4173176451
+       .long   1063689823
+       .long   163008326
+       .long   3133664229
+       .long   3928847655
+       .long   972524114
+       .long   4051385607
+       .long   2127379647
+       .long   326016652
+       .long   1972361163
+       .long   3562728015
+       .long   1945048229
+       .long   3807803918
+       .long   4254759295
+       .long   652033304
+       .long   3944722327
+       .long   2830488734
+       .long   3890096458
+       .long   3320640540
+       .long   4214551295
+       .long   1304066609
+       .long   3594477359
+       .long   1366010173
+       .long   3485225620
+       .long   2346313785
+       .long   4134135294
+       .long   2608133219
+       .long   2893987423
+       .long   2732020347
+       .long   2675483945
+       .long   397660275
+       .long   3973303293
+       .long   921299143
+       .long   1493007550
+       .long   1169073399
+       .long   1056000594
+       .long   795320551
+       .long   3651639290
+       .long   1842598287
+       .long   2986015100
+       .long   2338146798
+       .long   2112001188
+       .long   1590641102
+       .long   3008311285
+       .long   3685196575
+       .long   1677062904
+       .long   381326301
+       .long   4224002377
+       .long   3181282204
+       .long   1721655274
+       .long   3075425855
+       .long   3354125809
+       .long   762652602
+       .long   4153037458
+       .long   2067597113
+       .long   3443310548
+       .long   1855884414
+       .long   2413284322
+       .long   1525305205
+       .long   4011107621
+       .long   4135194227
+       .long   2591653800
+       .long   3711768829
+       .long   531601349
+       .long   3050610411
+       .long   3727247947
+       .long   3975421159
+       .long   888340305
+       .long   3128570363
+       .long   1063202699
+       .long   1806253526
+       .long   3159528599
+       .long   3655875023
+       .long   1776680610
+       .long   1962173430
+       .long   2126405399
+       .long   3612507052
+       .long   2024089902
+       .long   3016782751
+       .long   3553361221
+       .long   3924346860
+       .long   4252810799
+       .long   2930046808
+       .long   4048179805
+       .long   1738598206
+       .long   2811755147
+       .long   3553726425
+       .long   4210654302
+       .long   1565126321
+       .long   3801392314
+       .long   3477196413
+       .long   1328542998
+       .long   2812485555
+       .long   4126341309
+       .long   3130252643
+       .long   3307817333
+       .long   2659425531
+       .long   2657085997
+       .long   1330003814
+       .long   3957715323
+       .long   1965537991
+       .long   2320667370
+       .long   1023883767
+       .long   1019204698
+       .long   2660007629
+       .long   3620463350
+       .long   3931075983
+       .long   346367444
+       .long   2047767535
+       .long   2038409397
+       .long   1025047962
+       .long   2945959404
+       .long   3567184671
+       .long   692734889
+       .long   4095535070
+       .long   4076818795
+       .long   2050095924
+       .long   1596951513
+       .long   2839402047
+       .long   1385469779
+       .long   3896102844
+       .long   3858670295
+       .long   4100191849
+       .long   3193903027
+       .long   1383836798
+       .long   2770939558
+       .long   3497238392
+       .long   3422373294
+       .long   3905416403
+       .long   2092838759
+       .long   2767673597
+       .long   1246911821
+       .long   2699509489
+       .long   2549779293
+       .long   3515865511
+       .long   4185677519
+       .long   1240379898
+       .long   2493823642
+       .long   1104051682
+       .long   804591290
+       .long   2736763727
+       .long   4076387742
+       .long   2480759797
+       .long   692679989
+       .long   2208103365
+       .long   1609182581
+       .long   1178560158
+       .long   3857808189
+       .long   666552299
+       .long   1385359979
+       .long   121239434
+       .long   3218365162
+       .long   2357120316
+       .long   3420649082
+       .long   1333104599
+       .long   2770719959
+       .long   242478868
+       .long   2141763028
+       .long   419273337
+       .long   2546330868
+       .long   2666209199
+       .long   1246472623
+       .long   484957737
+       .long   4283526057
+       .long   838546674
+       .long   797694440
+       .long   1037451103
+       .long   2492945247
+       .long   969915474
+       .long   4272084818
+       .long   1677093349
+       .long   1595388880
+       .long   2074902206
+       .long   690923199
+       .long   1939830949
+       .long   4249202340
+       .long   3354186699
+       .long   3190777760
+       .long   4149804412
+       .long   1381846399
+       .long   3879661898
+       .long   4203437385
+       .long   2413406103
+       .long   2086588225
+       .long   4004641529
+       .long   2763692798
+       .long   3464356500
+       .long   4111907475
+       .long   531844911
+       .long   4173176451
+       .long   3714315762
+       .long   1232418301
+       .long   2633745705
+       .long   3928847655
+       .long   1063689823
+       .long   4051385607
+       .long   3133664229
+       .long   2464836603
+       .long   972524114
+       .long   3562728015
+       .long   2127379647
+       .long   3807803918
+       .long   1972361163
+       .long   634705910
+       .long   1945048229
+       .long   2830488734
+       .long   4254759295
+       .long   3320640540
+       .long   3944722327
+       .long   1269411821
+       .long   3890096458
+       .long   1366010173
+       .long   4214551295
+       .long   2346313785
+       .long   3594477359
+       .long   2538823642
+       .long   3485225620
+       .long   2732020347
+       .long   4134135294
+       .long   397660275
+       .long   2893987423
+       .long   782679989
+       .long   2675483945
+       .long   1169073399
+       .long   3973303293
+       .long   795320551
+       .long   1493007550
+       .long   1565359979
+       .long   1056000594
+       .long   2338146798
+       .long   3651639290
+       .long   1590641102
+       .long   2986015100
+       .long   3130719959
+       .long   2112001188
+       .long   381326301
+       .long   3008311285
+       .long   3181282204
+       .long   1677062904
+       .long   1966472623
+       .long   4224002377
+       .long   762652602
+       .long   1721655274
+       .long   2067597113
+       .long   3354125809
+       .long   3932945247
+       .long   4153037458
+       .long   1525305205
+       .long   3443310548
+       .long   4135194227
+       .long   2413284322
+       .long   3570923199
+       .long   4011107621
+       .long   3050610411
+       .long   2591653800
+       .long   3975421159
+       .long   531601349
+       .long   2846879102
+       .long   3727247947
+       .long   1806253526
+       .long   888340305
+       .long   3655875023
+       .long   1063202699
+       .long   1398790909
+       .long   3159528599
+       .long   3612507052
+       .long   1776680610
+       .long   3016782751
+       .long   2126405399
+       .long   2797581819
+       .long   2024089902
+       .long   2930046808
+       .long   3553361221
+       .long   1738598206
+       .long   4252810799
+       .long   1300196342
+       .long   4048179805
+       .long   1565126321
+       .long   2811755147
+       .long   3477196413
+       .long   4210654302
+       .long   2600392684
+       .long   3801392314
+       .long   3130252643
+       .long   1328542998
+       .long   2659425531
+       .long   4126341309
+       .long   905818072
+       .long   3307817333
+       .long   1965537991
+       .long   2657085997
+       .long   1023883767
+       .long   3957715323
+       .long   1811636145
+       .long   2320667370
+       .long   3931075983
+       .long   1019204698
+       .long   2047767535
+       .long   3620463350
+       .long   3623272290
+       .long   346367444
+       .long   3567184671
+       .long   2038409397
+       .long   4095535070
+       .long   2945959404
+       .long   2951577284
+       .long   692734889
+       .long   2839402047
+       .long   4076818795
+       .long   3896102844
+       .long   1596951513
+       .long   1608187272
+       .long   1385469779
+       .long   1383836798
+       .long   3858670295
+       .long   3497238392
+       .long   3193903027
+       .long   3216374545
+       .long   2770939558
+       .long   2767673597
+       .long   3422373294
+       .long   2699509489
+       .long   2092838759
+       .long   2137781795
+       .long   1246911821
+       .long   1240379898
+       .long   2549779293
+       .long   1104051682
+       .long   4185677519
+       .long   4275563591
+       .long   2493823642
+       .long   2480759797
+       .long   804591290
+       .long   2208103365
+       .long   4076387742
+       .long   4256159887
+       .long   692679989
+       .long   666552299
+       .long   1609182581
+       .long   121239434
+       .long   3857808189
+       .long   4217352479
+       .long   1385359979
+       .long   1333104599
+       .long   3218365162
+       .long   242478868
+       .long   3420649082
+       .long   4139737663
+       .long   2770719959
+       .long   2666209199
+       .long   2141763028
+       .long   484957737
+       .long   2546330868
+       .long   3984508030
+       .long   1246472623
+       .long   1037451103
+       .long   4283526057
+       .long   969915474
+       .long   797694440
+       .long   3674048764
+       .long   2492945247
+       .long   2074902206
+       .long   4272084818
+       .long   1939830949
+       .long   1595388880
+       .long   3053130232
+       .long   690923199
+       .long   4149804412
+       .long   4249202340
+       .long   3879661898
+       .long   3190777760
+       .long   1811293169
+       .long   1381846399
+       .long   4004641529
+       .long   4203437385
+       .long   3464356500
+       .long   2086588225
+       .long   3622586339
+       .long   2763692798
+       .long   3714315762
+       .long   4111907475
+       .long   2633745705
+       .long   4173176451
+       .long   2950205382
+       .long   1232418301
+       .long   3133664229
+       .long   3928847655
+       .long   972524114
+       .long   4051385607
+       .long   1605443469
+       .long   2464836603
+       .long   1972361163
+       .long   3562728015
+       .long   1945048229
+       .long   3807803918
+       .long   3210886938
+       .long   634705910
+       .long   3944722327
+       .long   2830488734
+       .long   3890096458
+       .long   3320640540
+       .long   2126806581
+       .long   1269411821
+       .long   3594477359
+       .long   1366010173
+       .long   3485225620
+       .long   2346313785
+       .long   4253613162
+       .long   2538823642
+       .long   2893987423
+       .long   2732020347
+       .long   2675483945
+       .long   397660275
+       .long   4212259029
+       .long   782679989
+       .long   1493007550
+       .long   1169073399
+       .long   1056000594
+       .long   795320551
+       .long   4129550763
+       .long   1565359979
+       .long   2986015100
+       .long   2338146798
+       .long   2112001188
+       .long   1590641102
+       .long   3964134231
+       .long   3130719959
+       .long   1677062904
+       .long   381326301
+       .long   4224002377
+       .long   3181282204
+       .long   3633301166
+       .long   1966472623
+       .long   3354125809
+       .long   762652602
+       .long   4153037458
+       .long   2067597113
+       .long   2971635037
+       .long   3932945247
+       .long   2413284322
+       .long   1525305205
+       .long   4011107621
+       .long   4135194227
+       .long   1648302778
+       .long   3570923199
+       .long   531601349
+       .long   3050610411
+       .long   3727247947
+       .long   3975421159
+       .long   3296605556
+       .long   2846879102
+       .long   1063202699
+       .long   1806253526
+       .long   3159528599
+       .long   3655875023
+       .long   2298243816
+       .long   1398790909
+       .long   2126405399
+       .long   3612507052
+       .long   2024089902
+       .long   3016782751
+       .long   301520336
+       .long   2797581819
+       .long   4252810799
+       .long   2930046808
+       .long   4048179805
+       .long   1738598206
+       .long   603040673
+       .long   1300196342
+       .long   4210654302
+       .long   1565126321
+       .long   3801392314
+       .long   3477196413
+       .long   1206081346
+       .long   2600392684
+       .long   4126341309
+       .long   3130252643
+       .long   3307817333
+       .long   2659425531
+       .long   2412162692
+       .long   905818072
+       .long   3957715323
+       .long   1965537991
+       .long   2320667370
+       .long   1023883767
+       .long   529358088
+       .long   1811636145
+       .long   3620463350
+       .long   3931075983
+       .long   346367444
+       .long   2047767535
+       .long   1058716176
+       .long   3623272290
+       .long   2945959404
+       .long   3567184671
+       .long   692734889
+       .long   4095535070
+       .long   2117432353
+       .long   2951577284
+       .long   1596951513
+       .long   2839402047
+       .long   1385469779
+       .long   3896102844
+       .long   4234864706
+       .long   1608187272
+       .long   3193903027
+       .long   1383836798
+       .long   2770939558
+       .long   3497238392
+       .long   4174762117
+       .long   3216374545
+       .long   2092838759
+       .long   2767673597
+       .long   1246911821
+       .long   2699509489
+       .long   4054556938
+       .long   2137781795
+       .long   4185677519
+       .long   1240379898
+       .long   2493823642
+       .long   1104051682
+       .long   3814146581
+       .long   4275563591
+       .long   4076387742
+       .long   2480759797
+       .long   692679989
+       .long   2208103365
+       .long   3333325867
+       .long   4256159887
+       .long   3857808189
+       .long   666552299
+       .long   1385359979
+       .long   121239434
+       .long   2371684438
+       .long   4217352479
+       .long   3420649082
+       .long   1333104599
+       .long   2770719959
+       .long   242478868
+       .long   448401580
+       .long   4139737663
+       .long   2546330868
+       .long   2666209199
+       .long   1246472623
+       .long   484957737
+       .long   896803160
+       .long   3984508030
+       .type   __svml_dcos_reduction_data_internal,@object
+       .size   __svml_dcos_reduction_data_internal,49152
+       .space 512, 0x00        
+       .align 8
+.L_2il0floatpacket.28:
+       .long   0xffffffff,0xffffffff
+       .type   .L_2il0floatpacket.28,@object
+       .size   .L_2il0floatpacket.28,8
+       .align 8
+.L_2il0floatpacket.29:
+       .long   0x00000000,0x7ff00000
+       .type   .L_2il0floatpacket.29,@object
+       .size   .L_2il0floatpacket.29,8
+       .align 8
+.L_2il0floatpacket.30:
+       .long   0xffffffff,0x000fffff
+       .type   .L_2il0floatpacket.30,@object
+       .size   .L_2il0floatpacket.30,8
+       .align 8
+.L_2il0floatpacket.31:
+       .long   0x00000000,0x00100000
+       .type   .L_2il0floatpacket.31,@object
+       .size   .L_2il0floatpacket.31,8
+       .align 8
+.L_2il0floatpacket.32:
+       .long   0xffffffff,0x00000000
+       .type   .L_2il0floatpacket.32,@object
+       .size   .L_2il0floatpacket.32,8
+       .align 8
+.L_2il0floatpacket.33:
+       .long   0x00000000,0x80000000
+       .type   .L_2il0floatpacket.33,@object
+       .size   .L_2il0floatpacket.33,8
+       .align 8
+.L_2il0floatpacket.34:
+       .long   0x00000000,0x3ff00000
+       .type   .L_2il0floatpacket.34,@object
+       .size   .L_2il0floatpacket.34,8
+       .align 8
+.L_2il0floatpacket.35:
+       .long   0x00000000,0x42a80000
+       .type   .L_2il0floatpacket.35,@object
+       .size   .L_2il0floatpacket.35,8
+       .align 8
+.L_2il0floatpacket.36:
+       .long   0x000001ff,0x00000000
+       .type   .L_2il0floatpacket.36,@object
+       .size   .L_2il0floatpacket.36,8
+       .align 8
+.L_2il0floatpacket.37:
+       .long   0x00000000,0x39700000
+       .type   .L_2il0floatpacket.37,@object
+       .size   .L_2il0floatpacket.37,8
+       .align 8
+.L_2il0floatpacket.38:
+       .long   0x00ffffff,0x00000000
+       .type   .L_2il0floatpacket.38,@object
+       .size   .L_2il0floatpacket.38,8
+       .align 8
+.L_2il0floatpacket.39:
+       .long   0x00000000,0x3cb00000
+       .type   .L_2il0floatpacket.39,@object
+       .size   .L_2il0floatpacket.39,8
+       .align 8
+.L_2il0floatpacket.40:
+       .long   0x00000fff,0x00000000
+       .type   .L_2il0floatpacket.40,@object
+       .size   .L_2il0floatpacket.40,8
+       .align 8
+.L_2il0floatpacket.41:
+       .long   0x54442d18,0x401921fb
+       .type   .L_2il0floatpacket.41,@object
+       .size   .L_2il0floatpacket.41,8
+       .align 8
+.L_2il0floatpacket.42:
+       .long   0x33145c07,0x3cb1a626
+       .type   .L_2il0floatpacket.42,@object
+       .size   .L_2il0floatpacket.42,8
+       .align 8
+.L_2il0floatpacket.43:
+       .long   0xffffffff,0x7fffffff
+       .type   .L_2il0floatpacket.43,@object
+       .size   .L_2il0floatpacket.43,8
+       .align 8
+.L_2il0floatpacket.44:
+       .long   0x00000000,0x3eb00000
+       .type   .L_2il0floatpacket.44,@object
+       .size   .L_2il0floatpacket.44,8
+       .align 8
+__dcos_la_CoutTab:
+       .long   0
+       .long   0
+       .long   0
+       .long   2146435072
+       .type   __dcos_la_CoutTab,@object
+       .size   __dcos_la_CoutTab,16
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_cos_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_cos_s_la.s
new file mode 100644 (file)
index 0000000..54e3f47
--- /dev/null
@@ -0,0 +1,2854 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *  1) Range reduction to [-Pi/2; +Pi/2] interval
+ *     a) We remove sign using AND operation
+ *     b) Add Pi/2 value to argument X for Cos to Sin transformation
+ *     c) Getting octant Y by 1/Pi multiplication
+ *     d) Add "Right Shifter" value
+ *     e) Treat obtained value as integer for destination sign setting.
+ *        Shift first bit of this value to the last (sign) position
+ *     f) Subtract "Right Shifter"  value
+ *     g) Subtract 0.5 from result for octant correction
+ *     h) Subtract Y*PI from X argument, where PI divided to 4 parts:
+ *        X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4;
+ *  2) Polynomial (minimax for sin within [-Pi/2; +Pi/2] interval)
+ *     a) Calculate X^2 = X * X
+ *     b) Calculate polynomial:
+ *        R = X + X * X^2 * (A3 + x^2 * (A5 + .....
+ *  3) Destination sign setting
+ *     a) Set shifted destination sign using XOR operation:
+ *        R = XOR( R, S );
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_cosf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_cosf16
+
+__svml_cosf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        xorl      %edx, %edx
+        vmovaps   %zmm0, %zmm11
+        vmovups   5568+__svml_scos_data_internal(%rip), %zmm0
+        vmovups   5504+__svml_scos_data_internal(%rip), %zmm4
+        vmovups   5440+__svml_scos_data_internal(%rip), %zmm3
+        vmovups   5632+__svml_scos_data_internal(%rip), %zmm6
+        vmovups   4800+__svml_scos_data_internal(%rip), %zmm9
+        vmovups   4864+__svml_scos_data_internal(%rip), %zmm7
+        vmovups   4928+__svml_scos_data_internal(%rip), %zmm8
+        vmovups   5376+__svml_scos_data_internal(%rip), %zmm14
+        vmovups   5248+__svml_scos_data_internal(%rip), %zmm15
+
+/*
+ * Check for large and special arguments
+ * VAND( S, sAX, _VARG1, sAbsMask );
+ */
+        vmovups   4160+__svml_scos_data_internal(%rip), %zmm10
+        vandps    4096+__svml_scos_data_internal(%rip), %zmm11, %zmm2
+
+/* b) Add Pi/2 value to argument X for Cos to Sin transformation */
+        vaddps    {rn-sae}, %zmm0, %zmm2, %zmm1
+        vcmpps    $18, {sae}, %zmm10, %zmm2, %k1
+
+/* _VARG1 near 0 */
+        vcmpps    $0, {sae}, %zmm0, %zmm1, %k2
+
+/*
+ * 1) Range reduction to [-Pi/2; +Pi/2] interval
+ * c) Getting octant Y by 1/Pi multiplication
+ * d) Add "Right Shifter" (0x4B000000) value
+ */
+        vfmadd213ps {rn-sae}, %zmm4, %zmm1, %zmm3
+        vpternlogd $255, %zmm10, %zmm10, %zmm10
+
+/* f) Subtract "Right Shifter" (0x4B000000) value */
+        vsubps    {rn-sae}, %zmm4, %zmm3, %zmm5
+
+/*
+ * e) Treat obtained value as integer for destination sign setting.
+ * Shift first bit of this value to the last (sign) position (S << 31)
+ */
+        vpslld    $31, %zmm3, %zmm13
+
+/* g) Subtract 0.5 from result for octant correction */
+        vsubps    {rn-sae}, %zmm6, %zmm5, %zmm12
+        vmovups   5312+__svml_scos_data_internal(%rip), %zmm5
+
+/*
+ * h) Subtract Y*PI from X argument, where PI divided to 4 parts:
+ * X = X - Y*PI1 - Y*PI2 - Y*PI3
+ */
+        vfnmadd213ps {rn-sae}, %zmm2, %zmm12, %zmm9
+        vfnmadd231ps {rn-sae}, %zmm12, %zmm7, %zmm9
+        vfnmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm12
+
+/* a) Calculate X^2 = X * X */
+        vmulps    {rn-sae}, %zmm12, %zmm12, %zmm3
+
+/*
+ * 3) Destination sign setting
+ * a) Set shifted destination sign using XOR operation:
+ * R = XOR( R, S );
+ */
+        vxorps    %zmm13, %zmm12, %zmm4
+
+/*
+ * b) Calculate polynomial:
+ * R = X + X * X^2 * (A3 + x^2 * (A5 + x^2 * (A7 + x^2 * (A9))));
+ */
+        vfmadd231ps {rn-sae}, %zmm3, %zmm14, %zmm5
+        vmovups   4992+__svml_scos_data_internal(%rip), %zmm14
+        vfmadd213ps {rn-sae}, %zmm15, %zmm3, %zmm5
+        vmulps    {rn-sae}, %zmm4, %zmm3, %zmm15
+        vfmadd213ps {rn-sae}, %zmm14, %zmm3, %zmm5
+        vfmadd213ps {rn-sae}, %zmm4, %zmm15, %zmm5
+
+/* result=1.0 if arg. near 0 */
+        vblendmps 5696+__svml_scos_data_internal(%rip), %zmm5, %zmm0{%k2}
+        vpandnd   %zmm2, %zmm2, %zmm10{%k1}
+        vptestmd  %zmm10, %zmm10, %k0
+        kortestw  %k0, %k0
+        jne       .LBL_1_12
+
+.LBL_1_2:
+
+        testl     %edx, %edx
+        jne       .LBL_1_4
+
+.LBL_1_3:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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_4:
+
+        vmovups   %zmm11, 64(%rsp)
+        vmovups   %zmm0, 128(%rsp)
+        je        .LBL_1_3
+
+
+        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_8:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_11
+
+.LBL_1_9:
+
+        incl      %r12d
+        cmpl      $16, %r12d
+        jl        .LBL_1_8
+
+
+        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_3
+       .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_11:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+
+        call      __svml_scos_cout_rare_internal
+        jmp       .LBL_1_9
+       .cfi_restore 4
+       .cfi_restore 5
+       .cfi_restore 12
+       .cfi_restore 13
+       .cfi_restore 122
+       .cfi_restore 123
+       .cfi_restore 124
+       .cfi_restore 125
+
+.LBL_1_12:
+
+        vmovups   4224+__svml_scos_data_internal(%rip), %zmm6
+
+/*
+ * Get the (2^a / 2pi) mod 1 values from the table.
+ * Because VLANG doesn't have I-type gather, we need a trivial cast
+ */
+        lea       __svml_scos_reduction_data_internal(%rip), %rax
+        vmovups   %zmm0, (%rsp)
+        vpternlogd $255, %zmm7, %zmm7, %zmm7
+        vandps    %zmm2, %zmm6, %zmm4
+        vcmpps    $4, {sae}, %zmm6, %zmm4, %k1
+
+/* ..................... Table look-up ........................ */
+        lea       __svml_scos_data_internal(%rip), %rcx
+
+/*
+ * Break the P_xxx and m into 16-bit chunks ready for
+ * the long multiplication via 16x16->32 multiplications
+ */
+        vmovups   .L_2il0floatpacket.27(%rip), %zmm6
+        vpandd    .L_2il0floatpacket.24(%rip), %zmm11, %zmm1
+        vpsrld    $23, %zmm1, %zmm8
+        vpslld    $1, %zmm8, %zmm12
+        vpaddd    %zmm8, %zmm12, %zmm2
+        vpslld    $2, %zmm2, %zmm5
+        vpandnd   %zmm4, %zmm4, %zmm7{%k1}
+        vptestmd  %zmm7, %zmm7, %k0
+        kxnorw    %k0, %k0, %k2
+        kxnorw    %k0, %k0, %k3
+        kxnorw    %k0, %k0, %k1
+        kmovw     %k0, %edx
+        vpxord    %zmm4, %zmm4, %zmm4
+        vpxord    %zmm7, %zmm7, %zmm7
+        vpxord    %zmm14, %zmm14, %zmm14
+        vgatherdps (%rax,%zmm5), %zmm4{%k2}
+        vgatherdps 4(%rax,%zmm5), %zmm7{%k3}
+        vgatherdps 8(%rax,%zmm5), %zmm14{%k1}
+        vpsrld    $16, %zmm4, %zmm9
+        vpsrld    $16, %zmm7, %zmm15
+        vpsrld    $16, %zmm14, %zmm13
+        kxnorw    %k0, %k0, %k1
+
+/*
+ * Also get the significand as an integer
+ * NB: adding in the integer bit is wrong for denorms!
+ * To make this work for denorms we should do something slightly different
+ */
+        vpandd    .L_2il0floatpacket.25(%rip), %zmm11, %zmm3
+        vpaddd    .L_2il0floatpacket.26(%rip), %zmm3, %zmm1
+        vpsrld    $16, %zmm1, %zmm8
+        vpandd    %zmm6, %zmm14, %zmm5
+        vpandd    %zmm6, %zmm1, %zmm14
+        vpandd    %zmm6, %zmm7, %zmm12
+        vpmulld   %zmm15, %zmm8, %zmm3
+        vpmulld   %zmm9, %zmm14, %zmm7
+        vpmulld   %zmm15, %zmm14, %zmm9
+        vpmulld   %zmm13, %zmm14, %zmm15
+        vpmulld   %zmm13, %zmm8, %zmm1
+        vpsrld    $16, %zmm15, %zmm13
+        vpsrld    $16, %zmm9, %zmm15
+        vpaddd    %zmm13, %zmm1, %zmm1
+        vpandd    %zmm6, %zmm4, %zmm0
+
+/* Now do the big multiplication and carry propagation */
+        vpmulld   %zmm0, %zmm8, %zmm4
+        vpmulld   %zmm12, %zmm8, %zmm2
+        vpmulld   %zmm5, %zmm8, %zmm8
+        vpmulld   %zmm0, %zmm14, %zmm5
+        vpmulld   %zmm12, %zmm14, %zmm0
+        vpsrld    $16, %zmm0, %zmm14
+        vpsrld    $16, %zmm5, %zmm12
+        vpsrld    $16, %zmm8, %zmm8
+        vpaddd    %zmm14, %zmm2, %zmm13
+        vpaddd    %zmm15, %zmm3, %zmm14
+        vpaddd    %zmm12, %zmm4, %zmm3
+        vpandd    %zmm6, %zmm0, %zmm0
+        vpandd    %zmm6, %zmm5, %zmm12
+        vpaddd    %zmm1, %zmm0, %zmm5
+        vpaddd    %zmm14, %zmm12, %zmm0
+        vpaddd    %zmm5, %zmm8, %zmm15
+        vpandd    %zmm6, %zmm7, %zmm2
+        vpaddd    %zmm3, %zmm2, %zmm14
+        vpsrld    $16, %zmm15, %zmm3
+        vpandd    %zmm6, %zmm9, %zmm9
+        vpaddd    %zmm13, %zmm9, %zmm9
+        vpaddd    %zmm9, %zmm3, %zmm12
+        vpsrld    $16, %zmm12, %zmm4
+        vpslld    $16, %zmm12, %zmm2
+        vpaddd    %zmm0, %zmm4, %zmm13
+
+/*
+ * Now round at the 2^-8 bit position for reduction mod pi/2^7
+ * instead of the original 2pi (but still with the same 2pi scaling).
+ * Use a shifter of 2^15 + 2^14.
+ * The N we get is our final version; it has an offset of
+ * 2^8 because of the implicit integer bit, and anyway for negative
+ * starting value it's a 2s complement thing. But we need to mask
+ * off the exponent part anyway so it's fine.
+ */
+        vmovups   .L_2il0floatpacket.30(%rip), %zmm4
+        vpsrld    $16, %zmm13, %zmm7
+        vpaddd    %zmm14, %zmm7, %zmm1
+
+/* Assemble reduced argument from the pieces */
+        vpandd    %zmm6, %zmm15, %zmm3
+        vpandd    %zmm6, %zmm13, %zmm8
+        vpslld    $16, %zmm1, %zmm6
+        vpaddd    %zmm8, %zmm6, %zmm5
+        vpaddd    %zmm3, %zmm2, %zmm8
+        vpsrld    $9, %zmm5, %zmm9
+
+/*
+ * We want to incorporate the original sign now too.
+ * Do it here for convenience in getting the right N value,
+ * though we could wait right to the end if we were prepared
+ * to modify the sign of N later too.
+ * So get the appropriate sign mask now (or sooner).
+ */
+        vpandd    .L_2il0floatpacket.28(%rip), %zmm11, %zmm2
+
+/*
+ * Create floating-point high part, implicitly adding integer bit 1
+ * Incorporate overall sign at this stage too.
+ */
+        vpxord    .L_2il0floatpacket.29(%rip), %zmm2, %zmm6
+        vpord     %zmm6, %zmm9, %zmm0
+        vaddps    {rn-sae}, %zmm0, %zmm4, %zmm14
+        vsubps    {rn-sae}, %zmm4, %zmm14, %zmm7
+        vsubps    {rn-sae}, %zmm7, %zmm0, %zmm13
+        vpternlogd $255, %zmm0, %zmm0, %zmm0
+        vpandd    .L_2il0floatpacket.33(%rip), %zmm8, %zmm15
+        vpandd    .L_2il0floatpacket.35(%rip), %zmm5, %zmm5
+
+/*
+ * Create floating-point low and medium parts, respectively
+ * lo_17, ... lo_0, 0, ..., 0
+ * hi_8, ... hi_0, lo_31, ..., lo_18
+ * then subtract off the implicitly added integer bits,
+ * 2^-46 and 2^-23, respectively.
+ * Put the original sign into all of them at this stage.
+ */
+        vpxord    .L_2il0floatpacket.32(%rip), %zmm2, %zmm3
+        vpslld    $5, %zmm15, %zmm1
+        vpsrld    $18, %zmm8, %zmm8
+        vpxord    .L_2il0floatpacket.34(%rip), %zmm2, %zmm9
+        vpslld    $14, %zmm5, %zmm2
+        vpord     %zmm3, %zmm1, %zmm12
+        vpord     %zmm8, %zmm2, %zmm5
+        vsubps    {rn-sae}, %zmm3, %zmm12, %zmm15
+        vmovups   .L_2il0floatpacket.37(%rip), %zmm2
+        vpord     %zmm9, %zmm5, %zmm3
+        vsubps    {rn-sae}, %zmm9, %zmm3, %zmm6
+
+/*
+ * Now multiply those numbers all by 2 pi, reasonably accurately.
+ * (RHi + RLo) * (pi_lead + pi_trail) ~=
+ * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead)
+ */
+        vmovups   .L_2il0floatpacket.36(%rip), %zmm5
+
+/*
+ * If the magnitude of the input is <= 2^-20, then
+ * just pass through the input, since no reduction will be needed and
+ * the main path will only work accurately if the reduced argument is
+ * about >= 2^-40 (which it is for all large pi multiples)
+ */
+        vmovups   .L_2il0floatpacket.39(%rip), %zmm9
+
+/* Now add them up into 2 reasonably aligned pieces */
+        vaddps    {rn-sae}, %zmm6, %zmm13, %zmm4
+        vsubps    {rn-sae}, %zmm4, %zmm13, %zmm13
+        vmulps    {rn-sae}, %zmm5, %zmm4, %zmm7
+        vaddps    {rn-sae}, %zmm13, %zmm6, %zmm8
+        vandps    .L_2il0floatpacket.38(%rip), %zmm11, %zmm6
+        vaddps    {rn-sae}, %zmm15, %zmm8, %zmm8
+        vpternlogd $255, %zmm15, %zmm15, %zmm15
+        vcmpps    $22, {sae}, %zmm9, %zmm6, %k3
+        vcmpps    $26, {sae}, %zmm9, %zmm6, %k2
+        vmovaps   %zmm5, %zmm3
+        vfmsub213ps {rn-sae}, %zmm7, %zmm4, %zmm3
+        vfmadd213ps {rn-sae}, %zmm3, %zmm2, %zmm4
+        vfmadd213ps {rn-sae}, %zmm4, %zmm5, %zmm8
+
+/* Grab our final N value as an integer, appropriately masked mod 2^8 */
+        vpandd    .L_2il0floatpacket.31(%rip), %zmm14, %zmm14
+        vpslld    $4, %zmm14, %zmm13
+        vpandnd   %zmm6, %zmm6, %zmm0{%k3}
+        vandps    %zmm11, %zmm0, %zmm1
+        kxnorw    %k0, %k0, %k3
+        vpxord    %zmm0, %zmm0, %zmm0
+        vgatherdps (%rcx,%zmm13), %zmm0{%k1}
+        kxnorw    %k0, %k0, %k1
+        vpandnd   %zmm6, %zmm6, %zmm15{%k2}
+        kxnorw    %k0, %k0, %k2
+        vandps    %zmm7, %zmm15, %zmm12
+        vandps    %zmm8, %zmm15, %zmm3
+        vorps     %zmm12, %zmm1, %zmm2
+
+/* ............... Polynomial approximation ................... */
+        vmovups   4352+__svml_scos_data_internal(%rip), %zmm12
+
+/*
+ * The output is _VRES_R (high) + _VRES_E (low), and the integer part is _VRES_IND
+ * Set sRp2 = _VRES_R^2 and then resume the original code.
+ */
+        vmulps    {rn-sae}, %zmm2, %zmm2, %zmm4
+
+/* ................. Reconstruction: res_hi ................... */
+        vmovaps   %zmm2, %zmm14
+        vmovaps   %zmm2, %zmm8
+        vpxord    %zmm9, %zmm9, %zmm9
+        vpxord    %zmm7, %zmm7, %zmm7
+        vgatherdps 4(%rcx,%zmm13), %zmm9{%k2}
+        vgatherdps 12(%rcx,%zmm13), %zmm7{%k1}
+        vfmadd213ps {rn-sae}, %zmm9, %zmm7, %zmm14
+        vaddps    {rn-sae}, %zmm7, %zmm0, %zmm15
+        vfmadd132ps {rn-sae}, %zmm0, %zmm14, %zmm8
+        vsubps    {rn-sae}, %zmm14, %zmm9, %zmm1
+        vsubps    {rn-sae}, %zmm8, %zmm14, %zmm6
+        vfmadd231ps {rn-sae}, %zmm2, %zmm7, %zmm1
+        vmovups   4416+__svml_scos_data_internal(%rip), %zmm7
+        vfmadd231ps {rn-sae}, %zmm0, %zmm2, %zmm6
+        vmovups   4480+__svml_scos_data_internal(%rip), %zmm0
+        vaddps    {rn-sae}, %zmm1, %zmm6, %zmm6
+        vfmadd231ps {rn-sae}, %zmm4, %zmm0, %zmm7
+        vpxord    %zmm5, %zmm5, %zmm5
+        vgatherdps 8(%rcx,%zmm13), %zmm5{%k3}
+        vmovups   4288+__svml_scos_data_internal(%rip), %zmm13
+        vfmadd231ps {rn-sae}, %zmm4, %zmm12, %zmm13
+        vmulps    {rn-sae}, %zmm4, %zmm13, %zmm14
+        vmulps    {rn-sae}, %zmm4, %zmm7, %zmm4
+        vmulps    {rn-sae}, %zmm2, %zmm14, %zmm1
+
+/* .......... Reconstruction: res_lo=corr+polS+polC+res_lo0 ...... */
+        vfnmadd213ps {rn-sae}, %zmm15, %zmm9, %zmm2
+        vfmadd213ps {rn-sae}, %zmm5, %zmm2, %zmm3
+        vfmadd213ps {rn-sae}, %zmm6, %zmm2, %zmm1
+        vfmadd213ps {rn-sae}, %zmm3, %zmm9, %zmm4
+        vaddps    {rn-sae}, %zmm1, %zmm4, %zmm2
+
+/* .................. Final reconstruction ................... */
+        vaddps    {rn-sae}, %zmm2, %zmm8, %zmm3
+
+/*
+ * ----------------------------------------------------------
+ * End of large arguments path
+ * ----------------------------------------------------------
+ * Merge results from main and large paths:
+ */
+        vpandnd   (%rsp), %zmm10, %zmm5
+        vpandd    %zmm10, %zmm3, %zmm10
+        vpord     %zmm10, %zmm5, %zmm0
+        jmp       .LBL_1_2
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_cosf16,@function
+       .size   __svml_cosf16,.-__svml_cosf16
+..LN__svml_cosf16.0:
+
+.L_2__routine_start___svml_scos_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_scos_cout_rare_internal:
+
+
+       .cfi_startproc
+..L63:
+
+        movl      (%rdi), %edx
+        movzwl    2(%rdi), %eax
+        movl      %edx, -8(%rsp)
+        andl      $32640, %eax
+        shrl      $24, %edx
+        andl      $127, %edx
+        cmpl      $32640, %eax
+        jne       .LBL_2_6
+
+
+        movb      %dl, -5(%rsp)
+        cmpl      $2139095040, -8(%rsp)
+        jne       .LBL_2_4
+
+
+        movss     (%rdi), %xmm0
+        movl      $1, %eax
+        mulss     __scos_la__vmlsCosCoutTab(%rip), %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_4:
+
+        movss     (%rdi), %xmm0
+        xorl      %eax, %eax
+        mulss     (%rdi), %xmm0
+        movss     %xmm0, (%rsi)
+
+
+        ret
+
+.LBL_2_6:
+
+        xorl      %eax, %eax
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_scos_cout_rare_internal,@function
+       .size   __svml_scos_cout_rare_internal,.-__svml_scos_cout_rare_internal
+..LN__svml_scos_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+.L_2il0floatpacket.24:
+       .long   0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000
+       .type   .L_2il0floatpacket.24,@object
+       .size   .L_2il0floatpacket.24,64
+       .align 64
+.L_2il0floatpacket.25:
+       .long   0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff
+       .type   .L_2il0floatpacket.25,@object
+       .size   .L_2il0floatpacket.25,64
+       .align 64
+.L_2il0floatpacket.26:
+       .long   0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000
+       .type   .L_2il0floatpacket.26,@object
+       .size   .L_2il0floatpacket.26,64
+       .align 64
+.L_2il0floatpacket.27:
+       .long   0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff
+       .type   .L_2il0floatpacket.27,@object
+       .size   .L_2il0floatpacket.27,64
+       .align 64
+.L_2il0floatpacket.28:
+       .long   0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000
+       .type   .L_2il0floatpacket.28,@object
+       .size   .L_2il0floatpacket.28,64
+       .align 64
+.L_2il0floatpacket.29:
+       .long   0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000
+       .type   .L_2il0floatpacket.29,@object
+       .size   .L_2il0floatpacket.29,64
+       .align 64
+.L_2il0floatpacket.30:
+       .long   0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000
+       .type   .L_2il0floatpacket.30,@object
+       .size   .L_2il0floatpacket.30,64
+       .align 64
+.L_2il0floatpacket.31:
+       .long   0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff
+       .type   .L_2il0floatpacket.31,@object
+       .size   .L_2il0floatpacket.31,64
+       .align 64
+.L_2il0floatpacket.32:
+       .long   0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000
+       .type   .L_2il0floatpacket.32,@object
+       .size   .L_2il0floatpacket.32,64
+       .align 64
+.L_2il0floatpacket.33:
+       .long   0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff
+       .type   .L_2il0floatpacket.33,@object
+       .size   .L_2il0floatpacket.33,64
+       .align 64
+.L_2il0floatpacket.34:
+       .long   0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000
+       .type   .L_2il0floatpacket.34,@object
+       .size   .L_2il0floatpacket.34,64
+       .align 64
+.L_2il0floatpacket.35:
+       .long   0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff
+       .type   .L_2il0floatpacket.35,@object
+       .size   .L_2il0floatpacket.35,64
+       .align 64
+.L_2il0floatpacket.36:
+       .long   0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb
+       .type   .L_2il0floatpacket.36,@object
+       .size   .L_2il0floatpacket.36,64
+       .align 64
+.L_2il0floatpacket.37:
+       .long   0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e
+       .type   .L_2il0floatpacket.37,@object
+       .size   .L_2il0floatpacket.37,64
+       .align 64
+.L_2il0floatpacket.38:
+       .long   0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff
+       .type   .L_2il0floatpacket.38,@object
+       .size   .L_2il0floatpacket.38,64
+       .align 64
+.L_2il0floatpacket.39:
+       .long   0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000
+       .type   .L_2il0floatpacket.39,@object
+       .size   .L_2il0floatpacket.39,64
+       .align 64
+__svml_scos_data_internal:
+       .long   0
+       .long   1065353216
+       .long   0
+       .long   0
+       .long   1004262721
+       .long   1065348163
+       .long   814009613
+       .long   3170893824
+       .long   1012667202
+       .long   1065333007
+       .long   836655967
+       .long   3179282432
+       .long   3157608485
+       .long   1065307757
+       .long   852498564
+       .long   3179282432
+       .long   1021119272
+       .long   1065272429
+       .long   838093129
+       .long   3187671040
+       .long   992588201
+       .long   1065227044
+       .long   3002197507
+       .long   3187671040
+       .long   3165783068
+       .long   1065171628
+       .long   2969000681
+       .long   3187671040
+       .long   3174843017
+       .long   1065106216
+       .long   2989610635
+       .long   3187671040
+       .long   1029761272
+       .long   1065030846
+       .long   855602635
+       .long   3196059648
+       .long   1023221605
+       .long   1064945565
+       .long   851856985
+       .long   3196059648
+       .long   1004930693
+       .long   1064850424
+       .long   2987244005
+       .long   3196059648
+       .long   3163089201
+       .long   1064745479
+       .long   846006572
+       .long   3196059648
+       .long   3173319052
+       .long   1064630795
+       .long   2996018466
+       .long   3196059648
+       .long   3179441043
+       .long   1064506439
+       .long   851742225
+       .long   3196059648
+       .long   3182555983
+       .long   1064372488
+       .long   840880349
+       .long   3196059648
+       .long   1041201069
+       .long   1064229022
+       .long   2995991516
+       .long   3204448256
+       .long   1039156139
+       .long   1064076126
+       .long   854796500
+       .long   3204448256
+       .long   1036128472
+       .long   1063913895
+       .long   3001754476
+       .long   3204448256
+       .long   1033133567
+       .long   1063742424
+       .long   2998678409
+       .long   3204448256
+       .long   1028547674
+       .long   1063561817
+       .long   823789818
+       .long   3204448256
+       .long   1021989220
+       .long   1063372184
+       .long   3001545765
+       .long   3204448256
+       .long   1005106760
+       .long   1063173637
+       .long   851900755
+       .long   3204448256
+       .long   3160870706
+       .long   1062966298
+       .long   841166280
+       .long   3204448256
+       .long   3171899818
+       .long   1062750291
+       .long   2994560960
+       .long   3204448256
+       .long   3177422237
+       .long   1062525745
+       .long   848357914
+       .long   3204448256
+       .long   3181068627
+       .long   1062292797
+       .long   806113028
+       .long   3204448256
+       .long   3183738367
+       .long   1062051586
+       .long   847147240
+       .long   3204448256
+       .long   3186359946
+       .long   1061802258
+       .long   848897600
+       .long   3204448256
+       .long   3188301413
+       .long   1061544963
+       .long   850481524
+       .long   3204448256
+       .long   3189561687
+       .long   1061279856
+       .long   851442039
+       .long   3204448256
+       .long   3190795559
+       .long   1061007097
+       .long   832220140
+       .long   3204448256
+       .long   3192002283
+       .long   1060726850
+       .long   2994798599
+       .long   3204448256
+       .long   1050015258
+       .long   1060439283
+       .long   844097402
+       .long   3212836864
+       .long   1049440125
+       .long   1060144571
+       .long   2997759282
+       .long   3212836864
+       .long   1048879630
+       .long   1059842890
+       .long   2998350134
+       .long   3212836864
+       .long   1048092223
+       .long   1059534422
+       .long   2986574659
+       .long   3212836864
+       .long   1047031795
+       .long   1059219353
+       .long   841032635
+       .long   3212836864
+       .long   1046002615
+       .long   1058897873
+       .long   848430348
+       .long   3212836864
+       .long   1045005303
+       .long   1058570176
+       .long   2982650867
+       .long   3212836864
+       .long   1044040460
+       .long   1058236458
+       .long   852349230
+       .long   3212836864
+       .long   1043108667
+       .long   1057896922
+       .long   2991207143
+       .long   3212836864
+       .long   1042210485
+       .long   1057551771
+       .long   2998815566
+       .long   3212836864
+       .long   1041346455
+       .long   1057201213
+       .long   2992349186
+       .long   3212836864
+       .long   1040517098
+       .long   1056726311
+       .long   2978016425
+       .long   3212836864
+       .long   1039258436
+       .long   1056004842
+       .long   2986287417
+       .long   3212836864
+       .long   1037741368
+       .long   1055273845
+       .long   2983839604
+       .long   3212836864
+       .long   1036296515
+       .long   1054533760
+       .long   840832460
+       .long   3212836864
+       .long   1034924748
+       .long   1053785034
+       .long   829045603
+       .long   3212836864
+       .long   1033626892
+       .long   1053028117
+       .long   836097324
+       .long   3212836864
+       .long   1032403730
+       .long   1052263466
+       .long   2993707942
+       .long   3212836864
+       .long   1030713214
+       .long   1051491540
+       .long   2988789250
+       .long   3212836864
+       .long   1028569994
+       .long   1050712805
+       .long   2990442912
+       .long   3212836864
+       .long   1026580309
+       .long   1049927729
+       .long   846027248
+       .long   3212836864
+       .long   1024745356
+       .long   1049136787
+       .long   824999326
+       .long   3212836864
+       .long   1022722308
+       .long   1048104908
+       .long   2971391005
+       .long   3212836864
+       .long   1019677780
+       .long   1046502419
+       .long   833086710
+       .long   3212836864
+       .long   1016948784
+       .long   1044891074
+       .long   2967836285
+       .long   3212836864
+       .long   1014052363
+       .long   1043271842
+       .long   823224313
+       .long   3212836864
+       .long   1009865986
+       .long   1041645699
+       .long   837346836
+       .long   3212836864
+       .long   1006005820
+       .long   1039839859
+       .long   2970970319
+       .long   3212836864
+       .long   1000196465
+       .long   1036565814
+       .long   2960495349
+       .long   3212836864
+       .long   993104536
+       .long   1033283845
+       .long   2975014497
+       .long   3212836864
+       .long   983425480
+       .long   1028193072
+       .long   2968461951
+       .long   3212836864
+       .long   966649823
+       .long   1019808432
+       .long   2953169304
+       .long   3212836864
+       .long   0
+       .long   0
+       .long   0
+       .long   3212836864
+       .long   966649823
+       .long   3167292080
+       .long   805685656
+       .long   3212836864
+       .long   983425480
+       .long   3175676720
+       .long   820978303
+       .long   3212836864
+       .long   993104536
+       .long   3180767493
+       .long   827530849
+       .long   3212836864
+       .long   1000196465
+       .long   3184049462
+       .long   813011701
+       .long   3212836864
+       .long   1006005820
+       .long   3187323507
+       .long   823486671
+       .long   3212836864
+       .long   1009865986
+       .long   3189129347
+       .long   2984830484
+       .long   3212836864
+       .long   1014052363
+       .long   3190755490
+       .long   2970707961
+       .long   3212836864
+       .long   1016948784
+       .long   3192374722
+       .long   820352637
+       .long   3212836864
+       .long   1019677780
+       .long   3193986067
+       .long   2980570358
+       .long   3212836864
+       .long   1022722308
+       .long   3195588556
+       .long   823907357
+       .long   3212836864
+       .long   1024745356
+       .long   3196620435
+       .long   2972482974
+       .long   3212836864
+       .long   1026580309
+       .long   3197411377
+       .long   2993510896
+       .long   3212836864
+       .long   1028569994
+       .long   3198196453
+       .long   842959264
+       .long   3212836864
+       .long   1030713214
+       .long   3198975188
+       .long   841305602
+       .long   3212836864
+       .long   1032403730
+       .long   3199747114
+       .long   846224294
+       .long   3212836864
+       .long   1033626892
+       .long   3200511765
+       .long   2983580972
+       .long   3212836864
+       .long   1034924748
+       .long   3201268682
+       .long   2976529251
+       .long   3212836864
+       .long   1036296515
+       .long   3202017408
+       .long   2988316108
+       .long   3212836864
+       .long   1037741368
+       .long   3202757493
+       .long   836355956
+       .long   3212836864
+       .long   1039258436
+       .long   3203488490
+       .long   838803769
+       .long   3212836864
+       .long   1040517098
+       .long   3204209959
+       .long   830532777
+       .long   3212836864
+       .long   1041346455
+       .long   3204684861
+       .long   844865538
+       .long   3212836864
+       .long   1042210485
+       .long   3205035419
+       .long   851331918
+       .long   3212836864
+       .long   1043108667
+       .long   3205380570
+       .long   843723495
+       .long   3212836864
+       .long   1044040460
+       .long   3205720106
+       .long   2999832878
+       .long   3212836864
+       .long   1045005303
+       .long   3206053824
+       .long   835167219
+       .long   3212836864
+       .long   1046002615
+       .long   3206381521
+       .long   2995913996
+       .long   3212836864
+       .long   1047031795
+       .long   3206703001
+       .long   2988516283
+       .long   3212836864
+       .long   1048092223
+       .long   3207018070
+       .long   839091011
+       .long   3212836864
+       .long   1048879630
+       .long   3207326538
+       .long   850866486
+       .long   3212836864
+       .long   1049440125
+       .long   3207628219
+       .long   850275634
+       .long   3212836864
+       .long   1050015258
+       .long   3207922931
+       .long   2991581050
+       .long   3212836864
+       .long   3192002283
+       .long   3208210498
+       .long   847314951
+       .long   3204448256
+       .long   3190795559
+       .long   3208490745
+       .long   2979703788
+       .long   3204448256
+       .long   3189561687
+       .long   3208763504
+       .long   2998925687
+       .long   3204448256
+       .long   3188301413
+       .long   3209028611
+       .long   2997965172
+       .long   3204448256
+       .long   3186359946
+       .long   3209285906
+       .long   2996381248
+       .long   3204448256
+       .long   3183738367
+       .long   3209535234
+       .long   2994630888
+       .long   3204448256
+       .long   3181068627
+       .long   3209776445
+       .long   2953596676
+       .long   3204448256
+       .long   3177422237
+       .long   3210009393
+       .long   2995841562
+       .long   3204448256
+       .long   3171899818
+       .long   3210233939
+       .long   847077312
+       .long   3204448256
+       .long   3160870706
+       .long   3210449946
+       .long   2988649928
+       .long   3204448256
+       .long   1005106760
+       .long   3210657285
+       .long   2999384403
+       .long   3204448256
+       .long   1021989220
+       .long   3210855832
+       .long   854062117
+       .long   3204448256
+       .long   1028547674
+       .long   3211045465
+       .long   2971273466
+       .long   3204448256
+       .long   1033133567
+       .long   3211226072
+       .long   851194761
+       .long   3204448256
+       .long   1036128472
+       .long   3211397543
+       .long   854270828
+       .long   3204448256
+       .long   1039156139
+       .long   3211559774
+       .long   3002280148
+       .long   3204448256
+       .long   1041201069
+       .long   3211712670
+       .long   848507868
+       .long   3204448256
+       .long   3182555983
+       .long   3211856136
+       .long   2988363997
+       .long   3196059648
+       .long   3179441043
+       .long   3211990087
+       .long   2999225873
+       .long   3196059648
+       .long   3173319052
+       .long   3212114443
+       .long   848534818
+       .long   3196059648
+       .long   3163089201
+       .long   3212229127
+       .long   2993490220
+       .long   3196059648
+       .long   1004930693
+       .long   3212334072
+       .long   839760357
+       .long   3196059648
+       .long   1023221605
+       .long   3212429213
+       .long   2999340633
+       .long   3196059648
+       .long   1029761272
+       .long   3212514494
+       .long   3003086283
+       .long   3196059648
+       .long   3174843017
+       .long   3212589864
+       .long   842126987
+       .long   3187671040
+       .long   3165783068
+       .long   3212655276
+       .long   821517033
+       .long   3187671040
+       .long   992588201
+       .long   3212710692
+       .long   854713859
+       .long   3187671040
+       .long   1021119272
+       .long   3212756077
+       .long   2985576777
+       .long   3187671040
+       .long   3157608485
+       .long   3212791405
+       .long   2999982212
+       .long   3179282432
+       .long   1012667202
+       .long   3212816655
+       .long   2984139615
+       .long   3179282432
+       .long   1004262721
+       .long   3212831811
+       .long   2961493261
+       .long   3170893824
+       .long   0
+       .long   3212836864
+       .long   0
+       .long   0
+       .long   3151746369
+       .long   3212831811
+       .long   2961493261
+       .long   1023410176
+       .long   3160150850
+       .long   3212816655
+       .long   2984139615
+       .long   1031798784
+       .long   1010124837
+       .long   3212791405
+       .long   2999982212
+       .long   1031798784
+       .long   3168602920
+       .long   3212756077
+       .long   2985576777
+       .long   1040187392
+       .long   3140071849
+       .long   3212710692
+       .long   854713859
+       .long   1040187392
+       .long   1018299420
+       .long   3212655276
+       .long   821517033
+       .long   1040187392
+       .long   1027359369
+       .long   3212589864
+       .long   842126987
+       .long   1040187392
+       .long   3177244920
+       .long   3212514494
+       .long   3003086283
+       .long   1048576000
+       .long   3170705253
+       .long   3212429213
+       .long   2999340633
+       .long   1048576000
+       .long   3152414341
+       .long   3212334072
+       .long   839760357
+       .long   1048576000
+       .long   1015605553
+       .long   3212229127
+       .long   2993490220
+       .long   1048576000
+       .long   1025835404
+       .long   3212114443
+       .long   848534818
+       .long   1048576000
+       .long   1031957395
+       .long   3211990087
+       .long   2999225873
+       .long   1048576000
+       .long   1035072335
+       .long   3211856136
+       .long   2988363997
+       .long   1048576000
+       .long   3188684717
+       .long   3211712670
+       .long   848507868
+       .long   1056964608
+       .long   3186639787
+       .long   3211559774
+       .long   3002280148
+       .long   1056964608
+       .long   3183612120
+       .long   3211397543
+       .long   854270828
+       .long   1056964608
+       .long   3180617215
+       .long   3211226072
+       .long   851194761
+       .long   1056964608
+       .long   3176031322
+       .long   3211045465
+       .long   2971273466
+       .long   1056964608
+       .long   3169472868
+       .long   3210855832
+       .long   854062117
+       .long   1056964608
+       .long   3152590408
+       .long   3210657285
+       .long   2999384403
+       .long   1056964608
+       .long   1013387058
+       .long   3210449946
+       .long   2988649928
+       .long   1056964608
+       .long   1024416170
+       .long   3210233939
+       .long   847077312
+       .long   1056964608
+       .long   1029938589
+       .long   3210009393
+       .long   2995841562
+       .long   1056964608
+       .long   1033584979
+       .long   3209776445
+       .long   2953596676
+       .long   1056964608
+       .long   1036254719
+       .long   3209535234
+       .long   2994630888
+       .long   1056964608
+       .long   1038876298
+       .long   3209285906
+       .long   2996381248
+       .long   1056964608
+       .long   1040817765
+       .long   3209028611
+       .long   2997965172
+       .long   1056964608
+       .long   1042078039
+       .long   3208763504
+       .long   2998925687
+       .long   1056964608
+       .long   1043311911
+       .long   3208490745
+       .long   2979703788
+       .long   1056964608
+       .long   1044518635
+       .long   3208210498
+       .long   847314951
+       .long   1056964608
+       .long   3197498906
+       .long   3207922931
+       .long   2991581050
+       .long   1065353216
+       .long   3196923773
+       .long   3207628219
+       .long   850275634
+       .long   1065353216
+       .long   3196363278
+       .long   3207326538
+       .long   850866486
+       .long   1065353216
+       .long   3195575871
+       .long   3207018070
+       .long   839091011
+       .long   1065353216
+       .long   3194515443
+       .long   3206703001
+       .long   2988516283
+       .long   1065353216
+       .long   3193486263
+       .long   3206381521
+       .long   2995913996
+       .long   1065353216
+       .long   3192488951
+       .long   3206053824
+       .long   835167219
+       .long   1065353216
+       .long   3191524108
+       .long   3205720106
+       .long   2999832878
+       .long   1065353216
+       .long   3190592315
+       .long   3205380570
+       .long   843723495
+       .long   1065353216
+       .long   3189694133
+       .long   3205035419
+       .long   851331918
+       .long   1065353216
+       .long   3188830103
+       .long   3204684861
+       .long   844865538
+       .long   1065353216
+       .long   3188000746
+       .long   3204209959
+       .long   830532777
+       .long   1065353216
+       .long   3186742084
+       .long   3203488490
+       .long   838803769
+       .long   1065353216
+       .long   3185225016
+       .long   3202757493
+       .long   836355956
+       .long   1065353216
+       .long   3183780163
+       .long   3202017408
+       .long   2988316108
+       .long   1065353216
+       .long   3182408396
+       .long   3201268682
+       .long   2976529251
+       .long   1065353216
+       .long   3181110540
+       .long   3200511765
+       .long   2983580972
+       .long   1065353216
+       .long   3179887378
+       .long   3199747114
+       .long   846224294
+       .long   1065353216
+       .long   3178196862
+       .long   3198975188
+       .long   841305602
+       .long   1065353216
+       .long   3176053642
+       .long   3198196453
+       .long   842959264
+       .long   1065353216
+       .long   3174063957
+       .long   3197411377
+       .long   2993510896
+       .long   1065353216
+       .long   3172229004
+       .long   3196620435
+       .long   2972482974
+       .long   1065353216
+       .long   3170205956
+       .long   3195588556
+       .long   823907357
+       .long   1065353216
+       .long   3167161428
+       .long   3193986067
+       .long   2980570358
+       .long   1065353216
+       .long   3164432432
+       .long   3192374722
+       .long   820352637
+       .long   1065353216
+       .long   3161536011
+       .long   3190755490
+       .long   2970707961
+       .long   1065353216
+       .long   3157349634
+       .long   3189129347
+       .long   2984830484
+       .long   1065353216
+       .long   3153489468
+       .long   3187323507
+       .long   823486671
+       .long   1065353216
+       .long   3147680113
+       .long   3184049462
+       .long   813011701
+       .long   1065353216
+       .long   3140588184
+       .long   3180767493
+       .long   827530849
+       .long   1065353216
+       .long   3130909128
+       .long   3175676720
+       .long   820978303
+       .long   1065353216
+       .long   3114133471
+       .long   3167292080
+       .long   805685656
+       .long   1065353216
+       .long   0
+       .long   0
+       .long   0
+       .long   1065353216
+       .long   3114133471
+       .long   1019808432
+       .long   2953169304
+       .long   1065353216
+       .long   3130909128
+       .long   1028193072
+       .long   2968461951
+       .long   1065353216
+       .long   3140588184
+       .long   1033283845
+       .long   2975014497
+       .long   1065353216
+       .long   3147680113
+       .long   1036565814
+       .long   2960495349
+       .long   1065353216
+       .long   3153489468
+       .long   1039839859
+       .long   2970970319
+       .long   1065353216
+       .long   3157349634
+       .long   1041645699
+       .long   837346836
+       .long   1065353216
+       .long   3161536011
+       .long   1043271842
+       .long   823224313
+       .long   1065353216
+       .long   3164432432
+       .long   1044891074
+       .long   2967836285
+       .long   1065353216
+       .long   3167161428
+       .long   1046502419
+       .long   833086710
+       .long   1065353216
+       .long   3170205956
+       .long   1048104908
+       .long   2971391005
+       .long   1065353216
+       .long   3172229004
+       .long   1049136787
+       .long   824999326
+       .long   1065353216
+       .long   3174063957
+       .long   1049927729
+       .long   846027248
+       .long   1065353216
+       .long   3176053642
+       .long   1050712805
+       .long   2990442912
+       .long   1065353216
+       .long   3178196862
+       .long   1051491540
+       .long   2988789250
+       .long   1065353216
+       .long   3179887378
+       .long   1052263466
+       .long   2993707942
+       .long   1065353216
+       .long   3181110540
+       .long   1053028117
+       .long   836097324
+       .long   1065353216
+       .long   3182408396
+       .long   1053785034
+       .long   829045603
+       .long   1065353216
+       .long   3183780163
+       .long   1054533760
+       .long   840832460
+       .long   1065353216
+       .long   3185225016
+       .long   1055273845
+       .long   2983839604
+       .long   1065353216
+       .long   3186742084
+       .long   1056004842
+       .long   2986287417
+       .long   1065353216
+       .long   3188000746
+       .long   1056726311
+       .long   2978016425
+       .long   1065353216
+       .long   3188830103
+       .long   1057201213
+       .long   2992349186
+       .long   1065353216
+       .long   3189694133
+       .long   1057551771
+       .long   2998815566
+       .long   1065353216
+       .long   3190592315
+       .long   1057896922
+       .long   2991207143
+       .long   1065353216
+       .long   3191524108
+       .long   1058236458
+       .long   852349230
+       .long   1065353216
+       .long   3192488951
+       .long   1058570176
+       .long   2982650867
+       .long   1065353216
+       .long   3193486263
+       .long   1058897873
+       .long   848430348
+       .long   1065353216
+       .long   3194515443
+       .long   1059219353
+       .long   841032635
+       .long   1065353216
+       .long   3195575871
+       .long   1059534422
+       .long   2986574659
+       .long   1065353216
+       .long   3196363278
+       .long   1059842890
+       .long   2998350134
+       .long   1065353216
+       .long   3196923773
+       .long   1060144571
+       .long   2997759282
+       .long   1065353216
+       .long   3197498906
+       .long   1060439283
+       .long   844097402
+       .long   1065353216
+       .long   1044518635
+       .long   1060726850
+       .long   2994798599
+       .long   1056964608
+       .long   1043311911
+       .long   1061007097
+       .long   832220140
+       .long   1056964608
+       .long   1042078039
+       .long   1061279856
+       .long   851442039
+       .long   1056964608
+       .long   1040817765
+       .long   1061544963
+       .long   850481524
+       .long   1056964608
+       .long   1038876298
+       .long   1061802258
+       .long   848897600
+       .long   1056964608
+       .long   1036254719
+       .long   1062051586
+       .long   847147240
+       .long   1056964608
+       .long   1033584979
+       .long   1062292797
+       .long   806113028
+       .long   1056964608
+       .long   1029938589
+       .long   1062525745
+       .long   848357914
+       .long   1056964608
+       .long   1024416170
+       .long   1062750291
+       .long   2994560960
+       .long   1056964608
+       .long   1013387058
+       .long   1062966298
+       .long   841166280
+       .long   1056964608
+       .long   3152590408
+       .long   1063173637
+       .long   851900755
+       .long   1056964608
+       .long   3169472868
+       .long   1063372184
+       .long   3001545765
+       .long   1056964608
+       .long   3176031322
+       .long   1063561817
+       .long   823789818
+       .long   1056964608
+       .long   3180617215
+       .long   1063742424
+       .long   2998678409
+       .long   1056964608
+       .long   3183612120
+       .long   1063913895
+       .long   3001754476
+       .long   1056964608
+       .long   3186639787
+       .long   1064076126
+       .long   854796500
+       .long   1056964608
+       .long   3188684717
+       .long   1064229022
+       .long   2995991516
+       .long   1056964608
+       .long   1035072335
+       .long   1064372488
+       .long   840880349
+       .long   1048576000
+       .long   1031957395
+       .long   1064506439
+       .long   851742225
+       .long   1048576000
+       .long   1025835404
+       .long   1064630795
+       .long   2996018466
+       .long   1048576000
+       .long   1015605553
+       .long   1064745479
+       .long   846006572
+       .long   1048576000
+       .long   3152414341
+       .long   1064850424
+       .long   2987244005
+       .long   1048576000
+       .long   3170705253
+       .long   1064945565
+       .long   851856985
+       .long   1048576000
+       .long   3177244920
+       .long   1065030846
+       .long   855602635
+       .long   1048576000
+       .long   1027359369
+       .long   1065106216
+       .long   2989610635
+       .long   1040187392
+       .long   1018299420
+       .long   1065171628
+       .long   2969000681
+       .long   1040187392
+       .long   3140071849
+       .long   1065227044
+       .long   3002197507
+       .long   1040187392
+       .long   3168602920
+       .long   1065272429
+       .long   838093129
+       .long   1040187392
+       .long   1010124837
+       .long   1065307757
+       .long   852498564
+       .long   1031798784
+       .long   3160150850
+       .long   1065333007
+       .long   836655967
+       .long   1031798784
+       .long   3151746369
+       .long   1065348163
+       .long   814009613
+       .long   1023410176
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   1007191908
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   3109009103
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   909034293
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .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   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .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   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
+       .type   __svml_scos_data_internal,@object
+       .size   __svml_scos_data_internal,5760
+       .align 64
+__svml_scos_reduction_data_internal:
+       .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   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   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   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   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   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   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   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   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   0
+       .long   0
+       .long   1
+       .long   0
+       .long   0
+       .long   2
+       .long   0
+       .long   0
+       .long   5
+       .long   0
+       .long   0
+       .long   10
+       .long   0
+       .long   0
+       .long   20
+       .long   0
+       .long   0
+       .long   40
+       .long   0
+       .long   0
+       .long   81
+       .long   0
+       .long   0
+       .long   162
+       .long   0
+       .long   0
+       .long   325
+       .long   0
+       .long   0
+       .long   651
+       .long   0
+       .long   0
+       .long   1303
+       .long   0
+       .long   0
+       .long   2607
+       .long   0
+       .long   0
+       .long   5215
+       .long   0
+       .long   0
+       .long   10430
+       .long   0
+       .long   0
+       .long   20860
+       .long   0
+       .long   0
+       .long   41721
+       .long   0
+       .long   0
+       .long   83443
+       .long   0
+       .long   0
+       .long   166886
+       .long   0
+       .long   0
+       .long   333772
+       .long   0
+       .long   0
+       .long   667544
+       .long   0
+       .long   0
+       .long   1335088
+       .long   0
+       .long   0
+       .long   2670176
+       .long   0
+       .long   0
+       .long   5340353
+       .long   0
+       .long   0
+       .long   10680707
+       .long   0
+       .long   0
+       .long   21361414
+       .long   0
+       .long   0
+       .long   42722829
+       .long   0
+       .long   0
+       .long   85445659
+       .long   0
+       .long   0
+       .long   170891318
+       .long   0
+       .long   0
+       .long   341782637
+       .long   0
+       .long   0
+       .long   683565275
+       .long   0
+       .long   0
+       .long   1367130551
+       .long   0
+       .long   0
+       .long   2734261102
+       .long   0
+       .long   1
+       .long   1173554908
+       .long   0
+       .long   2
+       .long   2347109817
+       .long   0
+       .long   5
+       .long   399252338
+       .long   0
+       .long   10
+       .long   798504676
+       .long   0
+       .long   20
+       .long   1597009353
+       .long   0
+       .long   40
+       .long   3194018707
+       .long   0
+       .long   81
+       .long   2093070119
+       .long   0
+       .long   162
+       .long   4186140238
+       .long   0
+       .long   325
+       .long   4077313180
+       .long   0
+       .long   651
+       .long   3859659065
+       .long   0
+       .long   1303
+       .long   3424350834
+       .long   0
+       .long   2607
+       .long   2553734372
+       .long   0
+       .long   5215
+       .long   812501448
+       .long   0
+       .long   10430
+       .long   1625002897
+       .long   0
+       .long   20860
+       .long   3250005794
+       .long   0
+       .long   41721
+       .long   2205044292
+       .long   0
+       .long   83443
+       .long   115121288
+       .long   0
+       .long   166886
+       .long   230242576
+       .long   0
+       .long   333772
+       .long   460485152
+       .long   0
+       .long   667544
+       .long   920970305
+       .long   0
+       .long   1335088
+       .long   1841940610
+       .long   0
+       .long   2670176
+       .long   3683881221
+       .long   0
+       .long   5340353
+       .long   3072795146
+       .long   0
+       .long   10680707
+       .long   1850622997
+       .long   0
+       .long   21361414
+       .long   3701245994
+       .long   0
+       .long   42722829
+       .long   3107524692
+       .long   0
+       .long   85445659
+       .long   1920082089
+       .long   0
+       .long   170891318
+       .long   3840164178
+       .long   0
+       .long   341782637
+       .long   3385361061
+       .long   0
+       .long   683565275
+       .long   2475754826
+       .long   0
+       .long   1367130551
+       .long   656542356
+       .long   0
+       .long   2734261102
+       .long   1313084713
+       .long   1
+       .long   1173554908
+       .long   2626169427
+       .long   2
+       .long   2347109817
+       .long   957371559
+       .long   5
+       .long   399252338
+       .long   1914743119
+       .long   10
+       .long   798504676
+       .long   3829486239
+       .long   20
+       .long   1597009353
+       .long   3364005183
+       .long   40
+       .long   3194018707
+       .long   2433043071
+       .long   81
+       .long   2093070119
+       .long   571118846
+       .long   162
+       .long   4186140238
+       .long   1142237692
+       .long   325
+       .long   4077313180
+       .long   2284475384
+       .long   651
+       .long   3859659065
+       .long   273983472
+       .long   1303
+       .long   3424350834
+       .long   547966945
+       .long   2607
+       .long   2553734372
+       .long   1095933890
+       .long   5215
+       .long   812501448
+       .long   2191867780
+       .long   10430
+       .long   1625002897
+       .long   88768265
+       .long   20860
+       .long   3250005794
+       .long   177536531
+       .long   41721
+       .long   2205044292
+       .long   355073063
+       .long   83443
+       .long   115121288
+       .long   710146126
+       .long   166886
+       .long   230242576
+       .long   1420292253
+       .long   333772
+       .long   460485152
+       .long   2840584506
+       .long   667544
+       .long   920970305
+       .long   1386201717
+       .long   1335088
+       .long   1841940610
+       .long   2772403434
+       .long   2670176
+       .long   3683881221
+       .long   1249839573
+       .long   5340353
+       .long   3072795146
+       .long   2499679147
+       .long   10680707
+       .long   1850622997
+       .long   704390999
+       .long   21361414
+       .long   3701245994
+       .long   1408781999
+       .long   42722829
+       .long   3107524692
+       .long   2817563999
+       .long   85445659
+       .long   1920082089
+       .long   1340160702
+       .long   170891318
+       .long   3840164178
+       .long   2680321405
+       .long   341782637
+       .long   3385361061
+       .long   1065675514
+       .long   683565275
+       .long   2475754826
+       .long   2131351028
+       .long   1367130551
+       .long   656542356
+       .long   4262702056
+       .long   2734261102
+       .long   1313084713
+       .long   4230436817
+       .long   1173554908
+       .long   2626169427
+       .long   4165906339
+       .long   2347109817
+       .long   957371559
+       .long   4036845383
+       .long   399252338
+       .long   1914743119
+       .long   3778723471
+       .long   798504676
+       .long   3829486239
+       .long   3262479647
+       .long   1597009353
+       .long   3364005183
+       .long   2229991998
+       .long   3194018707
+       .long   2433043071
+       .long   165016701
+       .long   2093070119
+       .long   571118846
+       .long   330033402
+       .long   4186140238
+       .long   1142237692
+       .long   660066805
+       .long   4077313180
+       .long   2284475384
+       .long   1320133610
+       .long   3859659065
+       .long   273983472
+       .long   2640267220
+       .long   3424350834
+       .long   547966945
+       .long   985567145
+       .long   2553734372
+       .long   1095933890
+       .long   1971134291
+       .long   812501448
+       .long   2191867780
+       .long   3942268582
+       .long   1625002897
+       .long   88768265
+       .long   3589569869
+       .long   3250005794
+       .long   177536531
+       .long   2884172442
+       .long   2205044292
+       .long   355073063
+       .long   1473377588
+       .long   115121288
+       .long   710146126
+       .long   2946755177
+       .long   230242576
+       .long   1420292253
+       .long   1598543059
+       .long   460485152
+       .long   2840584506
+       .long   3197086118
+       .long   920970305
+       .long   1386201717
+       .long   2099204941
+       .long   1841940610
+       .long   2772403434
+       .long   4198409883
+       .long   3683881221
+       .long   1249839573
+       .long   4101852471
+       .long   3072795146
+       .long   2499679147
+       .long   3908737646
+       .long   1850622997
+       .long   704390999
+       .long   3522507997
+       .long   3701245994
+       .long   1408781999
+       .long   2750048699
+       .long   3107524692
+       .long   2817563999
+       .long   1205130103
+       .long   1920082089
+       .long   1340160702
+       .long   2410260206
+       .long   3840164178
+       .long   2680321405
+       .long   525553116
+       .long   3385361061
+       .long   1065675514
+       .long   1051106232
+       .long   2475754826
+       .long   2131351028
+       .long   2102212464
+       .long   656542356
+       .long   4262702056
+       .long   4204424928
+       .long   1313084713
+       .long   4230436817
+       .long   4113882560
+       .long   2626169427
+       .long   4165906339
+       .long   3932797825
+       .long   957371559
+       .long   4036845383
+       .long   3570628355
+       .long   1914743119
+       .long   3778723471
+       .long   2846289414
+       .long   3829486239
+       .long   3262479647
+       .long   1397611533
+       .long   3364005183
+       .long   2229991998
+       .long   2795223067
+       .long   2433043071
+       .long   165016701
+       .long   1295478838
+       .long   571118846
+       .long   330033402
+       .long   2590957677
+       .long   1142237692
+       .long   660066805
+       .long   886948059
+       .long   2284475384
+       .long   1320133610
+       .long   1773896118
+       .long   273983472
+       .long   2640267220
+       .long   3547792237
+       .long   547966945
+       .long   985567145
+       .long   2800617179
+       .long   1095933890
+       .long   1971134291
+       .long   1306267062
+       .long   2191867780
+       .long   3942268582
+       .long   2612534124
+       .long   88768265
+       .long   3589569869
+       .long   930100952
+       .long   177536531
+       .long   2884172442
+       .long   1860201905
+       .long   355073063
+       .long   1473377588
+       .long   3720403810
+       .long   710146126
+       .long   2946755177
+       .long   3145840325
+       .long   1420292253
+       .long   1598543059
+       .long   1996713354
+       .long   2840584506
+       .long   3197086118
+       .long   3993426708
+       .long   1386201717
+       .long   2099204941
+       .long   3691886121
+       .long   2772403434
+       .long   4198409883
+       .long   3088804946
+       .long   1249839573
+       .long   4101852471
+       .long   1882642597
+       .long   2499679147
+       .long   3908737646
+       .long   3765285194
+       .long   704390999
+       .long   3522507997
+       .long   3235603093
+       .long   1408781999
+       .long   2750048699
+       .long   2176238891
+       .long   2817563999
+       .long   1205130103
+       .long   57510486
+       .long   1340160702
+       .long   2410260206
+       .long   115020972
+       .long   2680321405
+       .long   525553116
+       .long   230041945
+       .long   1065675514
+       .long   1051106232
+       .long   460083891
+       .long   2131351028
+       .long   2102212464
+       .long   920167782
+       .long   4262702056
+       .long   4204424928
+       .long   1840335564
+       .long   4230436817
+       .long   4113882560
+       .long   3680671129
+       .long   4165906339
+       .long   3932797825
+       .long   3066374962
+       .long   4036845383
+       .long   3570628355
+       .long   1837782628
+       .long   3778723471
+       .long   2846289414
+       .long   3675565257
+       .long   3262479647
+       .long   1397611533
+       .long   3056163219
+       .long   2229991998
+       .long   2795223067
+       .long   1817359143
+       .long   165016701
+       .long   1295478838
+       .long   3634718287
+       .long   330033402
+       .long   2590957677
+       .long   2974469278
+       .long   660066805
+       .long   886948059
+       .long   1653971260
+       .long   1320133610
+       .long   1773896118
+       .long   3307942520
+       .long   2640267220
+       .long   3547792237
+       .long   2320917745
+       .long   985567145
+       .long   2800617179
+       .long   346868194
+       .long   1971134291
+       .long   1306267062
+       .long   693736388
+       .long   3942268582
+       .long   2612534124
+       .long   1387472776
+       .long   3589569869
+       .long   930100952
+       .long   2774945552
+       .long   2884172442
+       .long   1860201905
+       .long   1254923809
+       .long   1473377588
+       .long   3720403810
+       .long   2509847619
+       .long   2946755177
+       .long   3145840325
+       .long   724727943
+       .long   1598543059
+       .long   1996713354
+       .long   1449455886
+       .long   3197086118
+       .long   3993426708
+       .long   2898911772
+       .long   2099204941
+       .long   3691886121
+       .long   1502856249
+       .long   4198409883
+       .long   3088804946
+       .long   3005712498
+       .long   4101852471
+       .long   1882642597
+       .long   1716457700
+       .long   3908737646
+       .long   3765285194
+       .long   3432915400
+       .long   3522507997
+       .long   3235603093
+       .long   2570863504
+       .long   2750048699
+       .long   2176238891
+       .long   846759712
+       .long   1205130103
+       .long   57510486
+       .long   1693519425
+       .long   2410260206
+       .long   115020972
+       .long   3387038850
+       .long   525553116
+       .long   230041945
+       .long   2479110404
+       .long   1051106232
+       .long   460083891
+       .long   663253512
+       .long   2102212464
+       .long   920167782
+       .long   1326507024
+       .long   4204424928
+       .long   1840335564
+       .long   2653014048
+       .long   4113882560
+       .long   3680671129
+       .long   1011060801
+       .long   3932797825
+       .long   3066374962
+       .long   2022121603
+       .long   3570628355
+       .long   1837782628
+       .long   4044243207
+       .long   2846289414
+       .long   3675565257
+       .long   3793519119
+       .long   1397611533
+       .long   3056163219
+       .long   3292070943
+       .long   2795223067
+       .long   1817359143
+       .long   2289174591
+       .long   1295478838
+       .long   3634718287
+       .long   283381887
+       .long   2590957677
+       .long   2974469278
+       .long   566763775
+       .type   __svml_scos_reduction_data_internal,@object
+       .size   __svml_scos_reduction_data_internal,3072
+       .align 4
+__scos_la__vmlsCosCoutTab:
+       .long   0
+       .long   2139095040
+       .type   __scos_la__vmlsCosCoutTab,@object
+       .size   __scos_la__vmlsCosCoutTab,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_cosh_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_cosh_d_la.s
new file mode 100644 (file)
index 0000000..0c8dc5e
--- /dev/null
@@ -0,0 +1,1715 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_cosh8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_cosh8
+
+__svml_cosh8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   3648+__svml_dcosh_data_internal(%rip), %zmm11
+        vmovups   384+__svml_dcosh_data_internal(%rip), %zmm15
+
+/*
+ * ............... Load argument ...........................
+ * dM = x*2^K/log(2) + RShifter
+ */
+        vmovups   3008+__svml_dcosh_data_internal(%rip), %zmm4
+        vmovups   3072+__svml_dcosh_data_internal(%rip), %zmm2
+        vmovups   3136+__svml_dcosh_data_internal(%rip), %zmm3
+        vmovups   832+__svml_dcosh_data_internal(%rip), %zmm8
+        vmovups   768+__svml_dcosh_data_internal(%rip), %zmm9
+        vmovups   512+__svml_dcosh_data_internal(%rip), %zmm7
+        vmovups   576+__svml_dcosh_data_internal(%rip), %zmm6
+        vmovaps   %zmm0, %zmm10
+
+/* ............... Abs argument ............................ */
+        vandnpd   %zmm10, %zmm11, %zmm5
+
+/* .............. Index and lookup ......................... */
+        vmovups   __svml_dcosh_data_internal(%rip), %zmm11
+        vmovups   256+__svml_dcosh_data_internal(%rip), %zmm0
+        vfmadd213pd {rn-sae}, %zmm15, %zmm5, %zmm4
+
+/*
+ * ...............Check for overflow\underflow .............
+ * 
+ */
+        vpsrlq    $32, %zmm5, %zmm12
+
+/* dN = dM - RShifter */
+        vsubpd    {rn-sae}, %zmm15, %zmm4, %zmm1
+        vpmovqd   %zmm12, %ymm13
+        vpermt2pd 320+__svml_dcosh_data_internal(%rip), %zmm4, %zmm0
+        vpermt2pd 64+__svml_dcosh_data_internal(%rip), %zmm4, %zmm11
+
+/* dR = dX - dN*Log2_hi/2^K */
+        vfnmadd231pd {rn-sae}, %zmm2, %zmm1, %zmm5
+
+/*
+ * poly(r) = Gmjp(1 + a2*r^2 + a4*r^4) + Gmjn*(r+ a3*r^3 +a5*r^5)       =
+ * = Gmjp_h +Gmjp_l+ Gmjp*r^2*(a2 + a4*r^2) + Gmjn*(r+ r^3*(a3 +a5*r^2)
+ */
+        vmovups   704+__svml_dcosh_data_internal(%rip), %zmm12
+        vpsllq    $48, %zmm4, %zmm2
+
+/* dR = dX - dN*Log2_hi/2^K */
+        vfnmadd231pd {rn-sae}, %zmm3, %zmm1, %zmm5
+        vmulpd    {rn-sae}, %zmm5, %zmm5, %zmm1
+        vfmadd231pd {rn-sae}, %zmm1, %zmm8, %zmm12
+        vmovups   640+__svml_dcosh_data_internal(%rip), %zmm8
+        vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm12
+        vfmadd231pd {rn-sae}, %zmm1, %zmm9, %zmm8
+        vfmadd213pd {rn-sae}, %zmm7, %zmm1, %zmm8
+        vpcmpgtd  3712+__svml_dcosh_data_internal(%rip), %ymm13, %ymm14
+        vmovmskps %ymm14, %edx
+
+/* dOut=r^2*(a2 + a4*r^2) */
+        vmulpd    {rn-sae}, %zmm1, %zmm8, %zmm6
+
+/* lM now is an EXP(2^N) */
+        vpandq    3584+__svml_dcosh_data_internal(%rip), %zmm2, %zmm3
+        vpaddq    %zmm3, %zmm11, %zmm4
+        vpsubq    %zmm3, %zmm0, %zmm0
+        vsubpd    {rn-sae}, %zmm0, %zmm4, %zmm14
+        vaddpd    {rn-sae}, %zmm0, %zmm4, %zmm13
+
+/* dM=r^2*(a3 +a5*r^2) */
+        vmulpd    {rn-sae}, %zmm1, %zmm12, %zmm0
+        vfmadd213pd {rn-sae}, %zmm13, %zmm13, %zmm6
+
+/* dM= r + r^3*(a3 +a5*r^2) */
+        vfmadd213pd {rn-sae}, %zmm5, %zmm5, %zmm0
+        vfmadd213pd {rn-sae}, %zmm6, %zmm14, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm10, 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_dcosh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_cosh8,@function
+       .size   __svml_cosh8,.-__svml_cosh8
+..LN__svml_cosh8.0:
+
+.L_2__routine_start___svml_dcosh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dcosh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        movq      %rsi, %r8
+        movzwl    6(%rdi), %edx
+        xorl      %eax, %eax
+        andl      $32752, %edx
+        cmpl      $32752, %edx
+        je        .LBL_2_12
+
+
+        movq      (%rdi), %rdx
+        movq      %rdx, -8(%rsp)
+        shrq      $56, %rdx
+        andl      $127, %edx
+        movb      %dl, -1(%rsp)
+        movzwl    -2(%rsp), %ecx
+        andl      $32752, %ecx
+        cmpl      $15504, %ecx
+        jle       .LBL_2_10
+
+
+        movsd     -8(%rsp), %xmm0
+        movsd     1096+__dcosh_la_CoutTab(%rip), %xmm1
+        comisd    %xmm0, %xmm1
+        jbe       .LBL_2_9
+
+
+        movq      1128+__dcosh_la_CoutTab(%rip), %rdx
+        movq      %rdx, -8(%rsp)
+        comisd    1144+__dcosh_la_CoutTab(%rip), %xmm0
+        jb        .LBL_2_8
+
+
+        movsd     1040+__dcosh_la_CoutTab(%rip), %xmm1
+        lea       __dcosh_la_CoutTab(%rip), %r9
+        mulsd     %xmm0, %xmm1
+        addsd     1048+__dcosh_la_CoutTab(%rip), %xmm1
+        movsd     %xmm1, -40(%rsp)
+        movsd     -40(%rsp), %xmm2
+        movsd     1088+__dcosh_la_CoutTab(%rip), %xmm1
+        movl      -40(%rsp), %edx
+        movl      %edx, %esi
+        andl      $63, %esi
+        subsd     1048+__dcosh_la_CoutTab(%rip), %xmm2
+        movsd     %xmm2, -32(%rsp)
+        lea       (%rsi,%rsi), %ecx
+        movsd     -32(%rsp), %xmm3
+        lea       1(%rsi,%rsi), %edi
+        mulsd     1104+__dcosh_la_CoutTab(%rip), %xmm3
+        movsd     -32(%rsp), %xmm4
+        subsd     %xmm3, %xmm0
+        mulsd     1112+__dcosh_la_CoutTab(%rip), %xmm4
+        shrl      $6, %edx
+        subsd     %xmm4, %xmm0
+        mulsd     %xmm0, %xmm1
+        addl      $1022, %edx
+        andl      $2047, %edx
+        addsd     1080+__dcosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm0, %xmm1
+        addsd     1072+__dcosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm0, %xmm1
+        addsd     1064+__dcosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm0, %xmm1
+        addsd     1056+__dcosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm0, %xmm1
+        mulsd     %xmm0, %xmm1
+        addsd     %xmm0, %xmm1
+        movsd     (%r9,%rcx,8), %xmm0
+        mulsd     %xmm0, %xmm1
+        addsd     (%r9,%rdi,8), %xmm1
+        addsd     %xmm0, %xmm1
+        cmpl      $2046, %edx
+        ja        .LBL_2_7
+
+
+        movq      1128+__dcosh_la_CoutTab(%rip), %rcx
+        shrq      $48, %rcx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm1, %xmm0
+        movsd     %xmm0, (%r8)
+        ret
+
+.LBL_2_7:
+
+        decl      %edx
+        andl      $2047, %edx
+        movzwl    -2(%rsp), %ecx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm0, %xmm1
+        mulsd     1024+__dcosh_la_CoutTab(%rip), %xmm1
+        movsd     %xmm1, (%r8)
+        ret
+
+.LBL_2_8:
+
+        movsd     1040+__dcosh_la_CoutTab(%rip), %xmm1
+        lea       __dcosh_la_CoutTab(%rip), %rcx
+        movzwl    -2(%rsp), %esi
+        andl      $-32753, %esi
+        movsd     1080+__dcosh_la_CoutTab(%rip), %xmm14
+        mulsd     %xmm0, %xmm1
+        addsd     1048+__dcosh_la_CoutTab(%rip), %xmm1
+        movsd     %xmm1, -40(%rsp)
+        movsd     -40(%rsp), %xmm2
+        movl      -40(%rsp), %r10d
+        movl      %r10d, %r9d
+        shrl      $6, %r9d
+        subsd     1048+__dcosh_la_CoutTab(%rip), %xmm2
+        movsd     %xmm2, -32(%rsp)
+        lea       1023(%r9), %edi
+        andl      $63, %r10d
+        addl      $1022, %r9d
+        movsd     -32(%rsp), %xmm3
+        andl      $2047, %r9d
+        negl      %edi
+        shll      $4, %r9d
+        addl      $-4, %edi
+        mulsd     1104+__dcosh_la_CoutTab(%rip), %xmm3
+        lea       (%r10,%r10), %edx
+        movsd     (%rcx,%rdx,8), %xmm15
+        negl      %edx
+        movsd     -32(%rsp), %xmm4
+        orl       %r9d, %esi
+        andl      $2047, %edi
+        lea       1(%r10,%r10), %r11d
+        mulsd     1112+__dcosh_la_CoutTab(%rip), %xmm4
+        subsd     %xmm3, %xmm0
+        movw      %si, -2(%rsp)
+        andl      $-32753, %esi
+        shll      $4, %edi
+        subsd     %xmm4, %xmm0
+        movsd     -8(%rsp), %xmm6
+        orl       %edi, %esi
+        movw      %si, -2(%rsp)
+        lea       128(%rdx), %esi
+        mulsd     %xmm6, %xmm15
+        movaps    %xmm0, %xmm5
+        mulsd     %xmm0, %xmm5
+        movsd     -8(%rsp), %xmm7
+        movaps    %xmm15, %xmm8
+        movsd     (%rcx,%rsi,8), %xmm11
+        addl      $129, %edx
+        mulsd     %xmm7, %xmm11
+        movaps    %xmm15, %xmm10
+        mulsd     %xmm5, %xmm14
+        addsd     %xmm11, %xmm8
+        subsd     %xmm11, %xmm15
+        addsd     1064+__dcosh_la_CoutTab(%rip), %xmm14
+        movsd     %xmm8, -24(%rsp)
+        movsd     (%rcx,%r11,8), %xmm12
+        movsd     (%rcx,%rdx,8), %xmm13
+        movsd     -24(%rsp), %xmm9
+        mulsd     %xmm6, %xmm12
+        subsd     %xmm9, %xmm10
+        mulsd     %xmm7, %xmm13
+        mulsd     %xmm5, %xmm14
+        addsd     %xmm11, %xmm10
+        mulsd     %xmm0, %xmm14
+        movsd     1088+__dcosh_la_CoutTab(%rip), %xmm1
+        movaps    %xmm12, %xmm11
+        mulsd     %xmm5, %xmm1
+        subsd     %xmm13, %xmm12
+        mulsd     %xmm15, %xmm14
+        mulsd     %xmm0, %xmm12
+        addsd     1072+__dcosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm15, %xmm0
+        mulsd     %xmm5, %xmm1
+        addsd     %xmm12, %xmm11
+        movsd     %xmm10, -16(%rsp)
+        addsd     %xmm13, %xmm11
+        addsd     1056+__dcosh_la_CoutTab(%rip), %xmm1
+        addsd     %xmm14, %xmm11
+        mulsd     %xmm5, %xmm1
+        addsd     %xmm0, %xmm11
+        movsd     -24(%rsp), %xmm3
+        mulsd     %xmm3, %xmm1
+        movsd     -16(%rsp), %xmm2
+        addsd     %xmm1, %xmm11
+        addsd     %xmm2, %xmm11
+        movsd     %xmm11, -24(%rsp)
+        movsd     -24(%rsp), %xmm0
+        addsd     %xmm0, %xmm3
+        movsd     %xmm3, (%r8)
+        ret
+
+.LBL_2_9:
+
+        movsd     1120+__dcosh_la_CoutTab(%rip), %xmm0
+        movl      $3, %eax
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%r8)
+        ret
+
+.LBL_2_10:
+
+        movsd     1136+__dcosh_la_CoutTab(%rip), %xmm0
+        addsd     -8(%rsp), %xmm0
+        movsd     %xmm0, (%r8)
+
+
+        ret
+
+.LBL_2_12:
+
+        movsd     (%rdi), %xmm0
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%r8)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dcosh_cout_rare_internal,@function
+       .size   __svml_dcosh_cout_rare_internal,.-__svml_dcosh_cout_rare_internal
+..LN__svml_dcosh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dcosh_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   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   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   4
+       .long   1071644672
+       .long   4
+       .long   1071644672
+       .long   4
+       .long   1071644672
+       .long   4
+       .long   1071644672
+       .long   4
+       .long   1071644672
+       .long   4
+       .long   1071644672
+       .long   4
+       .long   1071644672
+       .long   4
+       .long   1071644672
+       .long   1431655747
+       .long   1069897045
+       .long   1431655747
+       .long   1069897045
+       .long   1431655747
+       .long   1069897045
+       .long   1431655747
+       .long   1069897045
+       .long   1431655747
+       .long   1069897045
+       .long   1431655747
+       .long   1069897045
+       .long   1431655747
+       .long   1069897045
+       .long   1431655747
+       .long   1069897045
+       .long   1430802231
+       .long   1067799893
+       .long   1430802231
+       .long   1067799893
+       .long   1430802231
+       .long   1067799893
+       .long   1430802231
+       .long   1067799893
+       .long   1430802231
+       .long   1067799893
+       .long   1430802231
+       .long   1067799893
+       .long   1430802231
+       .long   1067799893
+       .long   1430802231
+       .long   1067799893
+       .long   287861260
+       .long   1065423121
+       .long   287861260
+       .long   1065423121
+       .long   287861260
+       .long   1065423121
+       .long   287861260
+       .long   1065423121
+       .long   287861260
+       .long   1065423121
+       .long   287861260
+       .long   1065423121
+       .long   287861260
+       .long   1065423121
+       .long   287861260
+       .long   1065423121
+       .long   3658019094
+       .long   1062650243
+       .long   3658019094
+       .long   1062650243
+       .long   3658019094
+       .long   1062650243
+       .long   3658019094
+       .long   1062650243
+       .long   3658019094
+       .long   1062650243
+       .long   3658019094
+       .long   1062650243
+       .long   3658019094
+       .long   1062650243
+       .long   3658019094
+       .long   1062650243
+       .long   1993999322
+       .long   1059717517
+       .long   1993999322
+       .long   1059717517
+       .long   1993999322
+       .long   1059717517
+       .long   1993999322
+       .long   1059717517
+       .long   1993999322
+       .long   1059717517
+       .long   1993999322
+       .long   1059717517
+       .long   1993999322
+       .long   1059717517
+       .long   1993999322
+       .long   1059717517
+       .long   0
+       .long   1071644672
+       .long   4200250559
+       .long   1071647514
+       .long   2851812149
+       .long   1071650365
+       .long   339411585
+       .long   1071653224
+       .long   1048019041
+       .long   1071656090
+       .long   772914124
+       .long   1071658964
+       .long   3899555717
+       .long   1071661845
+       .long   1928746161
+       .long   1071664735
+       .long   3541402996
+       .long   1071667632
+       .long   238821257
+       .long   1071670538
+       .long   702412510
+       .long   1071673451
+       .long   728934454
+       .long   1071676372
+       .long   410360776
+       .long   1071679301
+       .long   4133881824
+       .long   1071682237
+       .long   3402036099
+       .long   1071685182
+       .long   2602514713
+       .long   1071688135
+       .long   1828292879
+       .long   1071691096
+       .long   1172597893
+       .long   1071694065
+       .long   728909815
+       .long   1071697042
+       .long   590962156
+       .long   1071700027
+       .long   852742562
+       .long   1071703020
+       .long   1608493509
+       .long   1071706021
+       .long   2952712987
+       .long   1071709030
+       .long   685187902
+       .long   1071712048
+       .long   3490863953
+       .long   1071715073
+       .long   2875075254
+       .long   1071718107
+       .long   3228316108
+       .long   1071721149
+       .long   351405227
+       .long   1071724200
+       .long   2930322912
+       .long   1071727258
+       .long   2471440686
+       .long   1071730325
+       .long   3366293073
+       .long   1071733400
+       .long   1416741826
+       .long   1071736484
+       .long   1014845819
+       .long   1071739576
+       .long   2257959872
+       .long   1071742676
+       .long   948735466
+       .long   1071745785
+       .long   1480023343
+       .long   1071748902
+       .long   3949972341
+       .long   1071752027
+       .long   4162030108
+       .long   1071755161
+       .long   2214878420
+       .long   1071758304
+       .long   2502433899
+       .long   1071761455
+       .long   828946858
+       .long   1071764615
+       .long   1588871207
+       .long   1071767783
+       .long   586995997
+       .long   1071770960
+       .long   2218315341
+       .long   1071774145
+       .long   2288159958
+       .long   1071777339
+       .long   897099801
+       .long   1071780542
+       .long   2440944790
+       .long   1071783753
+       .long   2725843665
+       .long   1071786973
+       .long   1853186616
+       .long   1071790202
+       .long   4219606026
+       .long   1071793439
+       .long   1337108031
+       .long   1071796686
+       .long   1897844341
+       .long   1071799941
+       .long   1709341917
+       .long   1071803205
+       .long   874372905
+       .long   1071806478
+       .long   3790955393
+       .long   1071809759
+       .long   1972484976
+       .long   1071813050
+       .long   4112506593
+       .long   1071816349
+       .long   1724976915
+       .long   1071819658
+       .long   3504003472
+       .long   1071822975
+       .long   964107055
+       .long   1071826302
+       .long   2799960843
+       .long   1071829637
+       .long   526652809
+       .long   1071832982
+       .long   2839424854
+       .long   1071836335
+       .long   1253935211
+       .long   1071839698
+       .long   171030293
+       .long   1071843070
+       .long   3991843581
+       .long   1071846450
+       .long   4232894513
+       .long   1071849840
+       .long   1000925746
+       .long   1071853240
+       .long   2992903935
+       .long   1071856648
+       .long   1726216749
+       .long   1071860066
+       .long   1603444721
+       .long   1071863493
+       .long   2732492859
+       .long   1071866929
+       .long   926591435
+       .long   1071870375
+       .long   589198666
+       .long   1071873830
+       .long   1829099622
+       .long   1071877294
+       .long   460407023
+       .long   1071880768
+       .long   887463927
+       .long   1071884251
+       .long   3219942644
+       .long   1071887743
+       .long   3272845541
+       .long   1071891245
+       .long   1156440435
+       .long   1071894757
+       .long   1276261410
+       .long   1071898278
+       .long   3743175029
+       .long   1071901808
+       .long   78413852
+       .long   1071905349
+       .long   3278348324
+       .long   1071908898
+       .long   569847338
+       .long   1071912458
+       .long   654919306
+       .long   1071916027
+       .long   3645941911
+       .long   1071919605
+       .long   1065662932
+       .long   1071923194
+       .long   1617004845
+       .long   1071926792
+       .long   1118294578
+       .long   1071930400
+       .long   3978100823
+       .long   1071934017
+       .long   1720398391
+       .long   1071937645
+       .long   3049340112
+       .long   1071941282
+       .long   3784486610
+       .long   1071944929
+       .long   4040676318
+       .long   1071948586
+       .long   3933059031
+       .long   1071952253
+       .long   3577096743
+       .long   1071955930
+       .long   3088564500
+       .long   1071959617
+       .long   2583551245
+       .long   1071963314
+       .long   2178460671
+       .long   1071967021
+       .long   1990012071
+       .long   1071970738
+       .long   2135241198
+       .long   1071974465
+       .long   2731501122
+       .long   1071978202
+       .long   3896463087
+       .long   1071981949
+       .long   1453150082
+       .long   1071985707
+       .long   4109806887
+       .long   1071989474
+       .long   3395129871
+       .long   1071993252
+       .long   3723038930
+       .long   1071997040
+       .long   917841882
+       .long   1072000839
+       .long   3689071823
+       .long   1072004647
+       .long   3566716925
+       .long   1072008466
+       .long   671025100
+       .long   1072012296
+       .long   3712504873
+       .long   1072016135
+       .long   4222122499
+       .long   1072019985
+       .long   2321106615
+       .long   1072023846
+       .long   2425981843
+       .long   1072027717
+       .long   363667784
+       .long   1072031599
+       .long   551349105
+       .long   1072035491
+       .long   3111574537
+       .long   1072039393
+       .long   3872257780
+       .long   1072043306
+       .long   2956612997
+       .long   1072047230
+       .long   488188413
+       .long   1072051165
+       .long   885834528
+       .long   1072055110
+       .long   4273770423
+       .long   1072059065
+       .long   2186617381
+       .long   1072063032
+       .long   3339203574
+       .long   1072067009
+       .long   3561793907
+       .long   1072070997
+       .long   2979960120
+       .long   1072074996
+       .long   1719614413
+       .long   1072079006
+       .long   4201977662
+       .long   1072083026
+       .long   1963711167
+       .long   1072087058
+       .long   3721688645
+       .long   1072091100
+       .long   1013258799
+       .long   1072095154
+       .long   2555984613
+       .long   1072099218
+       .long   4182873220
+       .long   1072103293
+       .long   1727278727
+       .long   1072107380
+       .long   3907805044
+       .long   1072111477
+       .long   2263535754
+       .long   1072115586
+       .long   1218806132
+       .long   1072119706
+       .long   903334909
+       .long   1072123837
+       .long   1447192521
+       .long   1072127979
+       .long   2980802057
+       .long   1072132132
+       .long   1339972927
+       .long   1072136297
+       .long   950803702
+       .long   1072140473
+       .long   1944781191
+       .long   1072144660
+       .long   158781403
+       .long   1072148859
+       .long   19972402
+       .long   1072153069
+       .long   1660913392
+       .long   1072157290
+       .long   919555682
+       .long   1072161523
+       .long   2224145553
+       .long   1072165767
+       .long   1413356050
+       .long   1072170023
+       .long   2916157145
+       .long   1072174290
+       .long   2571947539
+       .long   1072178569
+       .long   515457527
+       .long   1072182860
+       .long   1176749997
+       .long   1072187162
+       .long   396319521
+       .long   1072191476
+       .long   2604962541
+       .long   1072195801
+       .long   3643909174
+       .long   1072200138
+       .long   3649726105
+       .long   1072204487
+       .long   2759350287
+       .long   1072208848
+       .long   1110089947
+       .long   1072213221
+       .long   3134592888
+       .long   1072217605
+       .long   380978316
+       .long   1072222002
+       .long   1577608921
+       .long   1072226410
+       .long   2568320822
+       .long   1072230830
+       .long   3492293770
+       .long   1072235262
+       .long   194117574
+       .long   1072239707
+       .long   1403662306
+       .long   1072244163
+       .long   2966275557
+       .long   1072248631
+       .long   727685349
+       .long   1072253112
+       .long   3418903055
+       .long   1072257604
+       .long   2591453363
+       .long   1072262109
+       .long   2682146384
+       .long   1072266626
+       .long   3833209506
+       .long   1072271155
+       .long   1892288442
+       .long   1072275697
+       .long   1297350157
+       .long   1072280251
+       .long   2191782032
+       .long   1072284817
+       .long   424392917
+       .long   1072289396
+       .long   434316067
+       .long   1072293987
+       .long   2366108318
+       .long   1072298590
+       .long   2069751141
+       .long   1072303206
+       .long   3985553595
+       .long   1072307834
+       .long   3964284211
+       .long   1072312475
+       .long   2152073944
+       .long   1072317129
+       .long   2990417245
+       .long   1072321795
+       .long   2331271250
+       .long   1072326474
+       .long   321958744
+       .long   1072331166
+       .long   1405169241
+       .long   1072335870
+       .long   1434058175
+       .long   1072340587
+       .long   557149882
+       .long   1072345317
+       .long   3218338682
+       .long   1072350059
+       .long   977020788
+       .long   1072354815
+       .long   2572866477
+       .long   1072359583
+       .long   3861050111
+       .long   1072364364
+       .long   697153126
+       .long   1072369159
+       .long   1822067026
+       .long   1072373966
+       .long   3092190715
+       .long   1072378786
+       .long   364333489
+       .long   1072383620
+       .long   2380618042
+       .long   1072388466
+       .long   703710506
+       .long   1072393326
+       .long   4076559943
+       .long   1072398198
+       .long   4062661092
+       .long   1072403084
+       .long   815859274
+       .long   1072407984
+       .long   3080351519
+       .long   1072412896
+       .long   2420883922
+       .long   1072417822
+       .long   3287523847
+       .long   1072422761
+       .long   1540824585
+       .long   1072427714
+       .long   1631695677
+       .long   1072432680
+       .long   3716502172
+       .long   1072437659
+       .long   3657065772
+       .long   1072442652
+       .long   1610600570
+       .long   1072447659
+       .long   2029714210
+       .long   1072452679
+       .long   777507147
+       .long   1072457713
+       .long   2307442995
+       .long   1072462760
+       .long   2483480501
+       .long   1072467821
+       .long   1464976603
+       .long   1072472896
+       .long   3706687593
+       .long   1072477984
+       .long   778901109
+       .long   1072483087
+       .long   1432208378
+       .long   1072488203
+       .long   1532734324
+       .long   1072493333
+       .long   1242007932
+       .long   1072498477
+       .long   721996136
+       .long   1072503635
+       .long   135105010
+       .long   1072508807
+       .long   3939148246
+       .long   1072513992
+       .long   3707479175
+       .long   1072519192
+       .long   3898795731
+       .long   1072524406
+       .long   382305176
+       .long   1072529635
+       .long   1912561781
+       .long   1072534877
+       .long   64696965
+       .long   1072540134
+       .long   3594158869
+       .long   1072545404
+       .long   4076975200
+       .long   1072550689
+       .long   1679558232
+       .long   1072555989
+       .long   863738719
+       .long   1072561303
+       .long   1796832535
+       .long   1072566631
+       .long   351641897
+       .long   1072571974
+       .long   991358482
+       .long   1072577331
+       .long   3884662774
+       .long   1072582702
+       .long   610758006
+       .long   1072588089
+       .long   4224142467
+       .long   1072593489
+       .long   2009970496
+       .long   1072598905
+       .long   2728693978
+       .long   1072604335
+       .long   2256325230
+       .long   1072609780
+       .long   764307441
+       .long   1072615240
+       .long   2719515920
+       .long   1072620714
+       .long   3999357479
+       .long   1072626203
+       .long   481706282
+       .long   1072631708
+       .long   929806999
+       .long   1072637227
+       .long   1222472308
+       .long   1072642761
+       .long   1533953344
+       .long   1072648310
+       .long   2038973688
+       .long   1072653874
+       .long   2912730644
+       .long   1072659453
+       .long   35929225
+       .long   1072665048
+       .long   2174652632
+       .long   1072670657
+       .long   915592468
+       .long   1072676282
+       .long   730821105
+       .long   1072681922
+       .long   1797923801
+       .long   1072687577
+       .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
+       .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
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   4277927936
+       .long   1072049730
+       .long   4277927936
+       .long   1072049730
+       .long   4277927936
+       .long   1072049730
+       .long   4277927936
+       .long   1072049730
+       .long   4277927936
+       .long   1072049730
+       .long   4277927936
+       .long   1072049730
+       .long   4277927936
+       .long   1072049730
+       .long   4277927936
+       .long   1072049730
+       .long   2825664665
+       .long   3182190860
+       .long   2825664665
+       .long   3182190860
+       .long   2825664665
+       .long   3182190860
+       .long   2825664665
+       .long   3182190860
+       .long   2825664665
+       .long   3182190860
+       .long   2825664665
+       .long   3182190860
+       .long   2825664665
+       .long   3182190860
+       .long   2825664665
+       .long   3182190860
+       .long   0
+       .long   1119354880
+       .long   0
+       .long   1119354880
+       .long   0
+       .long   1119354880
+       .long   0
+       .long   1119354880
+       .long   0
+       .long   1119354880
+       .long   0
+       .long   1119354880
+       .long   0
+       .long   1119354880
+       .long   0
+       .long   1119354880
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .long   255
+       .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   1887518228
+       .long   1069897045
+       .long   1887518228
+       .long   1069897045
+       .long   1887518228
+       .long   1069897045
+       .long   1887518228
+       .long   1069897045
+       .long   1887518228
+       .long   1069897045
+       .long   1887518228
+       .long   1069897045
+       .long   1887518228
+       .long   1069897045
+       .long   1887518228
+       .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   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .long   256
+       .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   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   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
+       .type   __svml_dcosh_data_internal,@object
+       .size   __svml_dcosh_data_internal,3776
+       .space 832, 0x00        
+       .align 32
+__dcosh_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   1697350398
+       .long   1079448903
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1071644672
+       .long   1431652600
+       .long   1069897045
+       .long   1431670732
+       .long   1067799893
+       .long   984555731
+       .long   1065423122
+       .long   472530941
+       .long   1062650218
+       .long   2411329662
+       .long   1082536910
+       .long   4277796864
+       .long   1065758274
+       .long   3164486458
+       .long   1025308570
+       .long   4294967295
+       .long   2146435071
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   3875694624
+       .long   1077247184
+       .type   __dcosh_la_CoutTab,@object
+       .size   __dcosh_la_CoutTab,1152
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_cosh_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_cosh_s_la.s
new file mode 100644 (file)
index 0000000..a7be097
--- /dev/null
@@ -0,0 +1,1211 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_coshf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_coshf16
+
+__svml_coshf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   1024+__svml_scosh_data_internal(%rip), %zmm4
+        vmovups   384+__svml_scosh_data_internal(%rip), %zmm6
+
+/*
+ * ............... Load argument ............................
+ * dM = x/log(2) + RShifter
+ */
+        vmovups   768+__svml_scosh_data_internal(%rip), %zmm10
+        vmovups   896+__svml_scosh_data_internal(%rip), %zmm7
+        vmovups   960+__svml_scosh_data_internal(%rip), %zmm9
+
+/* ... */
+        vmovups   704+__svml_scosh_data_internal(%rip), %zmm2
+
+/* x^2 */
+        vmovups   640+__svml_scosh_data_internal(%rip), %zmm3
+
+/* ............... G1,G2 2^N,2^(-N) ........... */
+        vmovups   __svml_scosh_data_internal(%rip), %zmm12
+        vmovups   256+__svml_scosh_data_internal(%rip), %zmm13
+
+/*
+ * -------------------- Implementation  -------------------
+ * ............... Abs argument ............................
+ */
+        vandnps   %zmm0, %zmm4, %zmm1
+
+/* ...............Check for overflow\underflow ............. */
+        vpternlogd $255, %zmm5, %zmm5, %zmm5
+        vfmadd213ps {rn-sae}, %zmm6, %zmm1, %zmm10
+        vpcmpd    $1, 512+__svml_scosh_data_internal(%rip), %zmm1, %k1
+
+/* iM now is an EXP(2^N) */
+        vpslld    $18, %zmm10, %zmm11
+
+/*
+ * ................... R ...................................
+ * sN = sM - RShifter
+ */
+        vsubps    {rn-sae}, %zmm6, %zmm10, %zmm8
+        vpermt2ps 64+__svml_scosh_data_internal(%rip), %zmm10, %zmm12
+        vpermt2ps 320+__svml_scosh_data_internal(%rip), %zmm10, %zmm13
+        vpandnd   %zmm1, %zmm1, %zmm5{%k1}
+
+/* sR = sX - sN*Log2_hi */
+        vfnmadd231ps {rn-sae}, %zmm7, %zmm8, %zmm1
+        vptestmd  %zmm5, %zmm5, %k0
+
+/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */
+        vfnmadd231ps {rn-sae}, %zmm9, %zmm8, %zmm1
+        kmovw     %k0, %edx
+        vmulps    {rn-sae}, %zmm1, %zmm1, %zmm4
+        vmulps    {rn-sae}, %zmm4, %zmm2, %zmm2
+
+/* sSinh_r = r + r*(r^2*(a3)) */
+        vfmadd213ps {rn-sae}, %zmm1, %zmm1, %zmm2
+
+/* sOut = r^2*(a2) */
+        vmulps    {rn-sae}, %zmm4, %zmm3, %zmm1
+        vpandd    1216+__svml_scosh_data_internal(%rip), %zmm11, %zmm14
+        vpaddd    %zmm14, %zmm12, %zmm15
+        vpsubd    %zmm14, %zmm13, %zmm10
+
+/* sG2 = 2^N*Th + 2^(-N)*T_h */
+        vaddps    {rn-sae}, %zmm10, %zmm15, %zmm5
+
+/* sG1 = 2^N*Th - 2^(-N)*T_h */
+        vsubps    {rn-sae}, %zmm10, %zmm15, %zmm6
+
+/* res = sG1*(r + r*(r^2*(a3))) + sG2*(1+r^2*(a2)) */
+        vfmadd213ps {rn-sae}, %zmm5, %zmm5, %zmm1
+        vfmadd213ps {rn-sae}, %zmm1, %zmm2, %zmm6
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm6, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm6, 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), %zmm6
+        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_scosh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_coshf16,@function
+       .size   __svml_coshf16,.-__svml_coshf16
+..LN__svml_coshf16.0:
+
+.L_2__routine_start___svml_scosh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_scosh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        movq      %rsi, %r8
+        movzwl    2(%rdi), %edx
+        xorl      %eax, %eax
+        andl      $32640, %edx
+        cmpl      $32640, %edx
+        je        .LBL_2_12
+
+
+        pxor      %xmm0, %xmm0
+        cvtss2sd  (%rdi), %xmm0
+        movsd     %xmm0, -8(%rsp)
+        andb      $127, -1(%rsp)
+        movzwl    -2(%rsp), %edx
+        andl      $32752, %edx
+        cmpl      $15504, %edx
+        jle       .LBL_2_10
+
+
+        movsd     -8(%rsp), %xmm0
+        movsd     1096+__scosh_la_CoutTab(%rip), %xmm1
+        comisd    %xmm0, %xmm1
+        jbe       .LBL_2_9
+
+
+        movq      1128+__scosh_la_CoutTab(%rip), %rdx
+        movq      %rdx, -8(%rsp)
+        comisd    1144+__scosh_la_CoutTab(%rip), %xmm0
+        jb        .LBL_2_8
+
+
+        movsd     1040+__scosh_la_CoutTab(%rip), %xmm1
+        lea       __scosh_la_CoutTab(%rip), %r9
+        mulsd     %xmm0, %xmm1
+        addsd     1048+__scosh_la_CoutTab(%rip), %xmm1
+        movsd     %xmm1, -40(%rsp)
+        movsd     -40(%rsp), %xmm2
+        movsd     1088+__scosh_la_CoutTab(%rip), %xmm1
+        movl      -40(%rsp), %edx
+        movl      %edx, %esi
+        andl      $63, %esi
+        subsd     1048+__scosh_la_CoutTab(%rip), %xmm2
+        movsd     %xmm2, -32(%rsp)
+        lea       (%rsi,%rsi), %ecx
+        movsd     -32(%rsp), %xmm3
+        lea       1(%rsi,%rsi), %edi
+        mulsd     1104+__scosh_la_CoutTab(%rip), %xmm3
+        movsd     -32(%rsp), %xmm4
+        subsd     %xmm3, %xmm0
+        mulsd     1112+__scosh_la_CoutTab(%rip), %xmm4
+        shrl      $6, %edx
+        subsd     %xmm4, %xmm0
+        mulsd     %xmm0, %xmm1
+        addl      $1022, %edx
+        andl      $2047, %edx
+        addsd     1080+__scosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm0, %xmm1
+        addsd     1072+__scosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm0, %xmm1
+        addsd     1064+__scosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm0, %xmm1
+        addsd     1056+__scosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm0, %xmm1
+        mulsd     %xmm0, %xmm1
+        addsd     %xmm0, %xmm1
+        movsd     (%r9,%rcx,8), %xmm0
+        mulsd     %xmm0, %xmm1
+        addsd     (%r9,%rdi,8), %xmm1
+        addsd     %xmm0, %xmm1
+        cmpl      $2046, %edx
+        ja        .LBL_2_7
+
+
+        movq      1128+__scosh_la_CoutTab(%rip), %rcx
+        shrq      $48, %rcx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm1, %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%r8)
+        ret
+
+.LBL_2_7:
+
+        decl      %edx
+        andl      $2047, %edx
+        movzwl    -2(%rsp), %ecx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm0, %xmm1
+        mulsd     1024+__scosh_la_CoutTab(%rip), %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%r8)
+        ret
+
+.LBL_2_8:
+
+        movsd     1040+__scosh_la_CoutTab(%rip), %xmm1
+        lea       __scosh_la_CoutTab(%rip), %rcx
+        movzwl    -2(%rsp), %esi
+        andl      $-32753, %esi
+        movsd     1080+__scosh_la_CoutTab(%rip), %xmm14
+        mulsd     %xmm0, %xmm1
+        addsd     1048+__scosh_la_CoutTab(%rip), %xmm1
+        movsd     %xmm1, -40(%rsp)
+        movsd     -40(%rsp), %xmm2
+        movl      -40(%rsp), %r10d
+        movl      %r10d, %r9d
+        shrl      $6, %r9d
+        subsd     1048+__scosh_la_CoutTab(%rip), %xmm2
+        movsd     %xmm2, -32(%rsp)
+        lea       1023(%r9), %edi
+        movsd     -32(%rsp), %xmm3
+        addl      $1022, %r9d
+        mulsd     1104+__scosh_la_CoutTab(%rip), %xmm3
+        andl      $63, %r10d
+        movsd     -32(%rsp), %xmm4
+        lea       (%r10,%r10), %edx
+        mulsd     1112+__scosh_la_CoutTab(%rip), %xmm4
+        subsd     %xmm3, %xmm0
+        andl      $2047, %r9d
+        negl      %edi
+        movsd     (%rcx,%rdx,8), %xmm15
+        negl      %edx
+        shll      $4, %r9d
+        addl      $-4, %edi
+        orl       %r9d, %esi
+        andl      $2047, %edi
+        movw      %si, -2(%rsp)
+        andl      $-32753, %esi
+        shll      $4, %edi
+        lea       1(%r10,%r10), %r11d
+        movsd     -8(%rsp), %xmm6
+        orl       %edi, %esi
+        movw      %si, -2(%rsp)
+        lea       128(%rdx), %esi
+        addl      $129, %edx
+        subsd     %xmm4, %xmm0
+        mulsd     %xmm6, %xmm15
+        movaps    %xmm0, %xmm5
+        movaps    %xmm15, %xmm8
+        mulsd     %xmm0, %xmm5
+        movaps    %xmm15, %xmm10
+        movsd     (%rcx,%r11,8), %xmm2
+        mulsd     %xmm6, %xmm2
+        mulsd     %xmm5, %xmm14
+        movsd     -8(%rsp), %xmm7
+        movaps    %xmm2, %xmm12
+        movsd     (%rcx,%rdx,8), %xmm13
+        mulsd     %xmm7, %xmm13
+        addsd     1064+__scosh_la_CoutTab(%rip), %xmm14
+        movsd     1088+__scosh_la_CoutTab(%rip), %xmm1
+        subsd     %xmm13, %xmm12
+        mulsd     %xmm5, %xmm1
+        mulsd     %xmm5, %xmm14
+        mulsd     %xmm0, %xmm12
+        addsd     1072+__scosh_la_CoutTab(%rip), %xmm1
+        mulsd     %xmm0, %xmm14
+        addsd     %xmm12, %xmm2
+        mulsd     %xmm5, %xmm1
+        addsd     %xmm13, %xmm2
+        addsd     1056+__scosh_la_CoutTab(%rip), %xmm1
+        movsd     (%rcx,%rsi,8), %xmm11
+        mulsd     %xmm7, %xmm11
+        mulsd     %xmm5, %xmm1
+        addsd     %xmm11, %xmm8
+        subsd     %xmm11, %xmm15
+        movsd     %xmm8, -24(%rsp)
+        movsd     -24(%rsp), %xmm9
+        mulsd     %xmm15, %xmm14
+        subsd     %xmm9, %xmm10
+        mulsd     %xmm15, %xmm0
+        addsd     %xmm11, %xmm10
+        addsd     %xmm14, %xmm2
+        movsd     %xmm10, -16(%rsp)
+        addsd     %xmm0, %xmm2
+        movsd     -24(%rsp), %xmm3
+        mulsd     %xmm3, %xmm1
+        movsd     -16(%rsp), %xmm6
+        addsd     %xmm1, %xmm2
+        addsd     %xmm6, %xmm2
+        movsd     %xmm2, -24(%rsp)
+        movsd     -24(%rsp), %xmm0
+        addsd     %xmm0, %xmm3
+        cvtsd2ss  %xmm3, %xmm3
+        movss     %xmm3, (%r8)
+        ret
+
+.LBL_2_9:
+
+        movsd     1120+__scosh_la_CoutTab(%rip), %xmm0
+        movl      $3, %eax
+        mulsd     %xmm0, %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%r8)
+        ret
+
+.LBL_2_10:
+
+        movsd     1136+__scosh_la_CoutTab(%rip), %xmm0
+        addsd     -8(%rsp), %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%r8)
+
+
+        ret
+
+.LBL_2_12:
+
+        movss     (%rdi), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, (%r8)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_scosh_cout_rare_internal,@function
+       .size   __svml_scosh_cout_rare_internal,.-__svml_scosh_cout_rare_internal
+..LN__svml_scosh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_scosh_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   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   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   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1056964879
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .long   1042983629
+       .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   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .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   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   3212836864
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .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_scosh_data_internal,@object
+       .size   __svml_scosh_data_internal,1920
+       .align 32
+__scosh_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   1697350398
+       .long   1079448903
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1071644672
+       .long   1431652600
+       .long   1069897045
+       .long   1431670732
+       .long   1067799893
+       .long   984555731
+       .long   1065423122
+       .long   472530941
+       .long   1062650218
+       .long   2684354560
+       .long   1079401119
+       .long   4277796864
+       .long   1065758274
+       .long   3164486458
+       .long   1025308570
+       .long   4294967295
+       .long   2146435071
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   3875694624
+       .long   1077247184
+       .type   __scosh_la_CoutTab,@object
+       .size   __scosh_la_CoutTab,1152
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_exp2_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_exp2_d_la.s
new file mode 100644 (file)
index 0000000..7c61b33
--- /dev/null
@@ -0,0 +1,830 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_exp28_z0_0:
+
+       .align    16,0x90
+       .globl __svml_exp28
+
+__svml_exp28:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   384+__svml_dexp2_data_internal_avx512(%rip), %zmm14
+        vmovups   448+__svml_dexp2_data_internal_avx512(%rip), %zmm6
+
+/*
+ * Reduced argument
+*/
+        vreducepd $65, {sae}, %zmm0, %zmm10
+        vmovups   320+__svml_dexp2_data_internal_avx512(%rip), %zmm7
+        vmovups   512+__svml_dexp2_data_internal_avx512(%rip), %zmm3
+        vmovups   256+__svml_dexp2_data_internal_avx512(%rip), %zmm8
+        vmovups   __svml_dexp2_data_internal_avx512(%rip), %zmm13
+
+/* c6*r   + c5 */
+        vfmadd231pd {rn-sae}, %zmm10, %zmm6, %zmm14
+        vmovups   192+__svml_dexp2_data_internal_avx512(%rip), %zmm9
+        vmovups   640+__svml_dexp2_data_internal_avx512(%rip), %zmm2
+        vmovups   128+__svml_dexp2_data_internal_avx512(%rip), %zmm11
+
+/* c6*r^2 + c5*r + c4 */
+        vfmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm14
+
+/*
+ * Integer form of K+0.b1b2b3b4 in lower bits - call K_plus_f0
+ * Mantisssa of normalized double precision FP: 1.b1b2...b52
+ */
+        vaddpd    {rd-sae}, %zmm3, %zmm0, %zmm4
+        vandpd    576+__svml_dexp2_data_internal_avx512(%rip), %zmm0, %zmm1
+
+/* c6*r^3 + c5*r^2 + c4*r + c3 */
+        vfmadd213pd {rn-sae}, %zmm8, %zmm10, %zmm14
+        vcmppd    $29, {sae}, %zmm2, %zmm1, %k0
+
+/* c6*r^4 + c5*r^3 + c4*r^2 + c3*r + c2 */
+        vfmadd213pd {rn-sae}, %zmm9, %zmm10, %zmm14
+        kmovw     %k0, %edx
+
+/* c6*r^5 + c5*r^4 + c4*r^3 + c3*r^2 + c2*r + c1 */
+        vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm14
+
+/* Table value: 2^(0.b1b2b3b4) */
+        vpandq    704+__svml_dexp2_data_internal_avx512(%rip), %zmm4, %zmm5
+        vpermt2pd 64+__svml_dexp2_data_internal_avx512(%rip), %zmm5, %zmm13
+
+/* T*r */
+        vmulpd    {rn-sae}, %zmm10, %zmm13, %zmm12
+
+/* T + (T*r*(c6*r^5 + c5*r^4 + c4*r^3 + c3*r^2 + c2*r + c1)) */
+        vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm14
+
+/* Scaling placed at the end to avoid accuracy loss when T*r*scale underflows */
+        vscalefpd {rn-sae}, %zmm0, %zmm14, %zmm1
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm1, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm1, 128(%rsp)
+        je        .LBL_1_2
+
+
+        xorl      %eax, %eax
+
+
+        vzeroupper
+        kmovw     %k4, 24(%rsp)
+        kmovw     %k5, 16(%rsp)
+        kmovw     %k6, 8(%rsp)
+        kmovw     %k7, (%rsp)
+        movq      %rsi, 40(%rsp)
+        movq      %rdi, 32(%rsp)
+        movq      %r12, 56(%rsp)
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_7:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_10
+
+.LBL_1_8:
+
+        incl      %r12d
+        cmpl      $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), %zmm1
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+
+        call      __svml_dexp2_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_exp28,@function
+       .size   __svml_exp28,.-__svml_exp28
+..LN__svml_exp28.0:
+
+.L_2__routine_start___svml_dexp2_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dexp2_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    6(%rdi), %edx
+        andl      $32752, %edx
+        movsd     (%rdi), %xmm5
+        movsd     %xmm5, -8(%rsp)
+        cmpl      $32752, %edx
+        je        .LBL_2_12
+
+
+        movsd     1072+__dexp2_la__imldExp2HATab(%rip), %xmm0
+        comisd    %xmm5, %xmm0
+        jbe       .LBL_2_10
+
+
+        comisd    1088+__dexp2_la__imldExp2HATab(%rip), %xmm5
+        jbe       .LBL_2_9
+
+
+        movsd     1024+__dexp2_la__imldExp2HATab(%rip), %xmm0
+        movaps    %xmm5, %xmm3
+        lea       __dexp2_la__imldExp2HATab(%rip), %r10
+        addsd     %xmm5, %xmm0
+        movsd     %xmm0, -24(%rsp)
+        movsd     -24(%rsp), %xmm1
+        movl      -24(%rsp), %r8d
+        movl      %r8d, %ecx
+        andl      $63, %r8d
+        subsd     1024+__dexp2_la__imldExp2HATab(%rip), %xmm1
+        movsd     %xmm1, -16(%rsp)
+        lea       1(%r8,%r8), %r9d
+        movsd     -16(%rsp), %xmm2
+        lea       (%r8,%r8), %edi
+        movsd     1064+__dexp2_la__imldExp2HATab(%rip), %xmm1
+        subsd     %xmm2, %xmm3
+        mulsd     %xmm3, %xmm1
+        movsd     (%r10,%rdi,8), %xmm4
+        shrl      $6, %ecx
+        addsd     1056+__dexp2_la__imldExp2HATab(%rip), %xmm1
+        comisd    1080+__dexp2_la__imldExp2HATab(%rip), %xmm5
+        mulsd     %xmm3, %xmm1
+        movq      1112+__dexp2_la__imldExp2HATab(%rip), %rdx
+        movq      %rdx, -8(%rsp)
+        lea       1023(%rcx), %edx
+        addsd     1048+__dexp2_la__imldExp2HATab(%rip), %xmm1
+        mulsd     %xmm3, %xmm1
+        addsd     1040+__dexp2_la__imldExp2HATab(%rip), %xmm1
+        mulsd     %xmm3, %xmm1
+        addsd     1032+__dexp2_la__imldExp2HATab(%rip), %xmm1
+        mulsd     %xmm3, %xmm1
+        addsd     (%r10,%r9,8), %xmm1
+        mulsd     %xmm4, %xmm1
+        addsd     %xmm4, %xmm1
+        jb        .LBL_2_8
+
+
+        andl      $2047, %edx
+        cmpl      $2046, %edx
+        ja        .LBL_2_7
+
+
+        movq      1112+__dexp2_la__imldExp2HATab(%rip), %rcx
+        shrq      $48, %rcx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm1, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_7:
+
+        decl      %edx
+        andl      $2047, %edx
+        movzwl    -2(%rsp), %ecx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm1, %xmm0
+        mulsd     1128+__dexp2_la__imldExp2HATab(%rip), %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        addl      $1123, %ecx
+        andl      $2047, %ecx
+        movzwl    -2(%rsp), %eax
+        shll      $4, %ecx
+        andl      $-32753, %eax
+        orl       %ecx, %eax
+        movw      %ax, -2(%rsp)
+        movl      $4, %eax
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm1, %xmm0
+        mulsd     1136+__dexp2_la__imldExp2HATab(%rip), %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        movsd     1096+__dexp2_la__imldExp2HATab(%rip), %xmm0
+        movl      $4, %eax
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_10:
+
+        movsd     1104+__dexp2_la__imldExp2HATab(%rip), %xmm0
+        movl      $3, %eax
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+
+
+        ret
+
+.LBL_2_12:
+
+        movb      -1(%rsp), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_14
+
+.LBL_2_13:
+
+        mulsd     %xmm5, %xmm5
+        movsd     %xmm5, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        testl     $1048575, -4(%rsp)
+        jne       .LBL_2_13
+
+
+        cmpl      $0, -8(%rsp)
+        jne       .LBL_2_13
+
+
+        movq      1112+__dexp2_la__imldExp2HATab(%rip), %rdx
+        movq      %rdx, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dexp2_cout_rare_internal,@function
+       .size   __svml_dexp2_cout_rare_internal,.-__svml_dexp2_cout_rare_internal
+..LN__svml_dexp2_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dexp2_data_internal_avx512:
+       .long   0
+       .long   1072693248
+       .long   1828292879
+       .long   1072739672
+       .long   1014845819
+       .long   1072788152
+       .long   1853186616
+       .long   1072838778
+       .long   171030293
+       .long   1072891646
+       .long   1276261410
+       .long   1072946854
+       .long   3577096743
+       .long   1073004506
+       .long   3712504873
+       .long   1073064711
+       .long   1719614413
+       .long   1073127582
+       .long   1944781191
+       .long   1073193236
+       .long   1110089947
+       .long   1073261797
+       .long   2191782032
+       .long   1073333393
+       .long   2572866477
+       .long   1073408159
+       .long   3716502172
+       .long   1073486235
+       .long   3707479175
+       .long   1073567768
+       .long   2728693978
+       .long   1073652911
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4286862682
+       .long   1070514109
+       .long   4286862682
+       .long   1070514109
+       .long   4286862682
+       .long   1070514109
+       .long   4286862682
+       .long   1070514109
+       .long   4286862682
+       .long   1070514109
+       .long   4286862682
+       .long   1070514109
+       .long   4286862682
+       .long   1070514109
+       .long   4286862682
+       .long   1070514109
+       .long   3568142009
+       .long   1068264200
+       .long   3568142009
+       .long   1068264200
+       .long   3568142009
+       .long   1068264200
+       .long   3568142009
+       .long   1068264200
+       .long   3568142009
+       .long   1068264200
+       .long   3568142009
+       .long   1068264200
+       .long   3568142009
+       .long   1068264200
+       .long   3568142009
+       .long   1068264200
+       .long   454500946
+       .long   1065595565
+       .long   454500946
+       .long   1065595565
+       .long   454500946
+       .long   1065595565
+       .long   454500946
+       .long   1065595565
+       .long   454500946
+       .long   1065595565
+       .long   454500946
+       .long   1065595565
+       .long   454500946
+       .long   1065595565
+       .long   454500946
+       .long   1065595565
+       .long   655609113
+       .long   1062590279
+       .long   655609113
+       .long   1062590279
+       .long   655609113
+       .long   1062590279
+       .long   655609113
+       .long   1062590279
+       .long   655609113
+       .long   1062590279
+       .long   655609113
+       .long   1062590279
+       .long   655609113
+       .long   1062590279
+       .long   655609113
+       .long   1062590279
+       .long   4112922395
+       .long   1059365335
+       .long   4112922395
+       .long   1059365335
+       .long   4112922395
+       .long   1059365335
+       .long   4112922395
+       .long   1059365335
+       .long   4112922395
+       .long   1059365335
+       .long   4112922395
+       .long   1059365335
+       .long   4112922395
+       .long   1059365335
+       .long   4112922395
+       .long   1059365335
+       .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   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   0
+       .long   1083174911
+       .long   0
+       .long   1083174911
+       .long   0
+       .long   1083174911
+       .long   0
+       .long   1083174911
+       .long   0
+       .long   1083174911
+       .long   0
+       .long   1083174911
+       .long   0
+       .long   1083174911
+       .long   0
+       .long   1083174911
+       .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
+       .type   __svml_dexp2_data_internal_avx512,@object
+       .size   __svml_dexp2_data_internal_avx512,768
+       .align 32
+__dexp2_la__imldExp2HATab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   1048019041
+       .long   1072704666
+       .long   2631457885
+       .long   3161546771
+       .long   3541402996
+       .long   1072716208
+       .long   896005651
+       .long   1015861842
+       .long   410360776
+       .long   1072727877
+       .long   1642514529
+       .long   1012987726
+       .long   1828292879
+       .long   1072739672
+       .long   1568897901
+       .long   1016568486
+       .long   852742562
+       .long   1072751596
+       .long   1882168529
+       .long   1010744893
+       .long   3490863953
+       .long   1072763649
+       .long   707771662
+       .long   3163903570
+       .long   2930322912
+       .long   1072775834
+       .long   3117806614
+       .long   3163670819
+       .long   1014845819
+       .long   1072788152
+       .long   3936719688
+       .long   3162512149
+       .long   3949972341
+       .long   1072800603
+       .long   1058231231
+       .long   1015777676
+       .long   828946858
+       .long   1072813191
+       .long   1044000608
+       .long   1016786167
+       .long   2288159958
+       .long   1072825915
+       .long   1151779725
+       .long   1015705409
+       .long   1853186616
+       .long   1072838778
+       .long   3819481236
+       .long   1016499965
+       .long   1709341917
+       .long   1072851781
+       .long   2552227826
+       .long   1015039787
+       .long   4112506593
+       .long   1072864925
+       .long   1829350193
+       .long   1015216097
+       .long   2799960843
+       .long   1072878213
+       .long   1913391796
+       .long   1015756674
+       .long   171030293
+       .long   1072891646
+       .long   1303423926
+       .long   1015238005
+       .long   2992903935
+       .long   1072905224
+       .long   1574172746
+       .long   1016061241
+       .long   926591435
+       .long   1072918951
+       .long   3427487848
+       .long   3163704045
+       .long   887463927
+       .long   1072932827
+       .long   1049900754
+       .long   3161575912
+       .long   1276261410
+       .long   1072946854
+       .long   2804567149
+       .long   1015390024
+       .long   569847338
+       .long   1072961034
+       .long   1209502043
+       .long   3159926671
+       .long   1617004845
+       .long   1072975368
+       .long   1623370769
+       .long   1011049453
+       .long   3049340112
+       .long   1072989858
+       .long   3667985273
+       .long   1013894369
+       .long   3577096743
+       .long   1073004506
+       .long   3145379760
+       .long   1014403278
+       .long   1990012071
+       .long   1073019314
+       .long   7447438
+       .long   3163526196
+       .long   1453150082
+       .long   1073034283
+       .long   3171891295
+       .long   3162037958
+       .long   917841882
+       .long   1073049415
+       .long   419288974
+       .long   1016280325
+       .long   3712504873
+       .long   1073064711
+       .long   3793507337
+       .long   1016095713
+       .long   363667784
+       .long   1073080175
+       .long   728023093
+       .long   1016345318
+       .long   2956612997
+       .long   1073095806
+       .long   1005538728
+       .long   3163304901
+       .long   2186617381
+       .long   1073111608
+       .long   2018924632
+       .long   3163803357
+       .long   1719614413
+       .long   1073127582
+       .long   3210617384
+       .long   3163796463
+       .long   1013258799
+       .long   1073143730
+       .long   3094194670
+       .long   3160631279
+       .long   3907805044
+       .long   1073160053
+       .long   2119843535
+       .long   3161988964
+       .long   1447192521
+       .long   1073176555
+       .long   508946058
+       .long   3162904882
+       .long   1944781191
+       .long   1073193236
+       .long   3108873501
+       .long   3162190556
+       .long   919555682
+       .long   1073210099
+       .long   2882956373
+       .long   1013312481
+       .long   2571947539
+       .long   1073227145
+       .long   4047189812
+       .long   3163777462
+       .long   2604962541
+       .long   1073244377
+       .long   3631372142
+       .long   3163870288
+       .long   1110089947
+       .long   1073261797
+       .long   3253791412
+       .long   1015920431
+       .long   2568320822
+       .long   1073279406
+       .long   1509121860
+       .long   1014756995
+       .long   2966275557
+       .long   1073297207
+       .long   2339118633
+       .long   3160254904
+       .long   2682146384
+       .long   1073315202
+       .long   586480042
+       .long   3163702083
+       .long   2191782032
+       .long   1073333393
+       .long   730975783
+       .long   1014083580
+       .long   2069751141
+       .long   1073351782
+       .long   576856675
+       .long   3163014404
+       .long   2990417245
+       .long   1073370371
+       .long   3552361237
+       .long   3163667409
+       .long   1434058175
+       .long   1073389163
+       .long   1853053619
+       .long   1015310724
+       .long   2572866477
+       .long   1073408159
+       .long   2462790535
+       .long   1015814775
+       .long   3092190715
+       .long   1073427362
+       .long   1457303226
+       .long   3159737305
+       .long   4076559943
+       .long   1073446774
+       .long   950899508
+       .long   3160987380
+       .long   2420883922
+       .long   1073466398
+       .long   174054861
+       .long   1014300631
+       .long   3716502172
+       .long   1073486235
+       .long   816778419
+       .long   1014197934
+       .long   777507147
+       .long   1073506289
+       .long   3507050924
+       .long   1015341199
+       .long   3706687593
+       .long   1073526560
+       .long   1821514088
+       .long   1013410604
+       .long   1242007932
+       .long   1073547053
+       .long   1073740399
+       .long   3163532637
+       .long   3707479175
+       .long   1073567768
+       .long   2789017511
+       .long   1014276997
+       .long   64696965
+       .long   1073588710
+       .long   3586233004
+       .long   1015962192
+       .long   863738719
+       .long   1073609879
+       .long   129252895
+       .long   3162690849
+       .long   3884662774
+       .long   1073631278
+       .long   1614448851
+       .long   1014281732
+       .long   2728693978
+       .long   1073652911
+       .long   2413007344
+       .long   3163551506
+       .long   3999357479
+       .long   1073674779
+       .long   1101668360
+       .long   1015989180
+       .long   1533953344
+       .long   1073696886
+       .long   835814894
+       .long   1015702697
+       .long   2174652632
+       .long   1073719233
+       .long   1301400989
+       .long   1014466875
+       .long   0
+       .long   1121452032
+       .long   4277811695
+       .long   1072049730
+       .long   4286751290
+       .long   1070514109
+       .long   3607585384
+       .long   1068264200
+       .long   871937163
+       .long   1065595565
+       .long   3302507530
+       .long   1062590576
+       .long   0
+       .long   1083179008
+       .long   0
+       .long   3230658560
+       .long   0
+       .long   3230714880
+       .long   1
+       .long   1048576
+       .long   4294967295
+       .long   2146435071
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   967835648
+       .long   0
+       .long   0
+       .type   __dexp2_la__imldExp2HATab,@object
+       .size   __dexp2_la__imldExp2HATab,1152
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_exp2_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_exp2_s_la.s
new file mode 100644 (file)
index 0000000..5ddd793
--- /dev/null
@@ -0,0 +1,494 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_exp2f16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_exp2f16
+
+__svml_exp2f16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   256+__svml_sexp2_data_internal_avx512(%rip), %zmm3
+
+/*
+ * Reduced argument
+*/
+        vreduceps $65, {sae}, %zmm0, %zmm6
+        vmovups   192+__svml_sexp2_data_internal_avx512(%rip), %zmm5
+        vmovups   128+__svml_sexp2_data_internal_avx512(%rip), %zmm10
+        vmovups   384+__svml_sexp2_data_internal_avx512(%rip), %zmm2
+        vmovups   64+__svml_sexp2_data_internal_avx512(%rip), %zmm7
+
+/*
+ * Integer form of K+0.b1b2b3b4 in lower bits - call K_plus_f0
+ * Mantisssa of normalized single precision FP: 1.b1b2...b23
+ */
+        vaddps    {rd-sae}, %zmm3, %zmm0, %zmm4
+        vandps    320+__svml_sexp2_data_internal_avx512(%rip), %zmm0, %zmm1
+
+/* c3*r   + c2 */
+        vfmadd231ps {rn-sae}, %zmm6, %zmm5, %zmm10
+        vcmpps    $30, {sae}, %zmm2, %zmm1, %k0
+
+/* c3*r^2 + c2*r + c1 */
+        vfmadd213ps {rn-sae}, %zmm7, %zmm6, %zmm10
+
+/* Table value: 2^(0.b1b2b3b4) */
+        vpermps   __svml_sexp2_data_internal_avx512(%rip), %zmm4, %zmm9
+        kmovw     %k0, %edx
+
+/* T*r */
+        vmulps    {rn-sae}, %zmm6, %zmm9, %zmm8
+
+/* T + (T*r*(c3*r^2 + c2*r + c1) */
+        vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm10
+
+/* Scaling placed at the end to avoid accuracy loss when T*r*scale underflows */
+        vscalefps {rn-sae}, %zmm0, %zmm10, %zmm1
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm1, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm1, 128(%rsp)
+        je        .LBL_1_2
+
+
+        xorl      %eax, %eax
+
+
+        vzeroupper
+        kmovw     %k4, 24(%rsp)
+        kmovw     %k5, 16(%rsp)
+        kmovw     %k6, 8(%rsp)
+        kmovw     %k7, (%rsp)
+        movq      %rsi, 40(%rsp)
+        movq      %rdi, 32(%rsp)
+        movq      %r12, 56(%rsp)
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_7:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_10
+
+.LBL_1_8:
+
+        incl      %r12d
+        cmpl      $16, %r12d
+        jl        .LBL_1_7
+
+
+        kmovw     24(%rsp), %k4
+       .cfi_restore 122
+        kmovw     16(%rsp), %k5
+       .cfi_restore 123
+        kmovw     8(%rsp), %k6
+       .cfi_restore 124
+        kmovw     (%rsp), %k7
+       .cfi_restore 125
+        vmovups   128(%rsp), %zmm1
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+
+        call      __svml_sexp2_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_exp2f16,@function
+       .size   __svml_exp2f16,.-__svml_exp2f16
+..LN__svml_exp2f16.0:
+
+.L_2__routine_start___svml_sexp2_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_sexp2_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    2(%rdi), %edx
+        andl      $32640, %edx
+        cmpl      $32640, %edx
+        je        .LBL_2_10
+
+
+        movss     (%rdi), %xmm7
+        movss     .L_2il0floatpacket.43(%rip), %xmm0
+        movl      %eax, -12(%rsp)
+        comiss    %xmm7, %xmm0
+        jb        .LBL_2_8
+
+
+        comiss    .L_2il0floatpacket.44(%rip), %xmm7
+        jb        .LBL_2_7
+
+
+        movaps    %xmm7, %xmm0
+        movaps    %xmm7, %xmm5
+        movss     %xmm0, -24(%rsp)
+        movss     -24(%rsp), %xmm1
+        movss     .L_2il0floatpacket.46(%rip), %xmm2
+        movss     .L_2il0floatpacket.52(%rip), %xmm6
+        addss     %xmm2, %xmm1
+        movss     %xmm1, -20(%rsp)
+        movss     -20(%rsp), %xmm3
+        movswl    -20(%rsp), %edx
+        subss     %xmm2, %xmm3
+        movss     %xmm3, -24(%rsp)
+        movss     -24(%rsp), %xmm4
+        subss     %xmm4, %xmm5
+        mulss     %xmm5, %xmm6
+        addss     .L_2il0floatpacket.51(%rip), %xmm6
+        mulss     %xmm5, %xmm6
+        addss     .L_2il0floatpacket.50(%rip), %xmm6
+        mulss     %xmm5, %xmm6
+        addss     .L_2il0floatpacket.49(%rip), %xmm6
+        mulss     %xmm5, %xmm6
+        addss     .L_2il0floatpacket.48(%rip), %xmm6
+        mulss     %xmm5, %xmm6
+        addss     .L_2il0floatpacket.47(%rip), %xmm6
+        movss     %xmm6, -16(%rsp)
+        cmpl      $104, %edx
+        jl        .LBL_2_6
+
+
+        movzbl    %dl, %edx
+        shll      $7, %edx
+        movw      %dx, -10(%rsp)
+        movss     -16(%rsp), %xmm0
+        mulss     -12(%rsp), %xmm0
+        movss     %xmm0, -16(%rsp)
+        movss     -16(%rsp), %xmm1
+        mulss     .L_2il0floatpacket.54(%rip), %xmm1
+        movss     %xmm1, -16(%rsp)
+        movl      -16(%rsp), %ecx
+        movl      %ecx, (%rsi)
+        ret
+
+.LBL_2_6:
+
+        addl      $-106, %edx
+        cmpltss   .L_2il0floatpacket.56(%rip), %xmm7
+        movzbl    %dl, %edx
+        movzwl    -10(%rsp), %eax
+        shll      $7, %edx
+        andl      $-32641, %eax
+        orl       %edx, %eax
+        movss     -16(%rsp), %xmm0
+        movw      %ax, -10(%rsp)
+        mulss     -12(%rsp), %xmm0
+        movd      %xmm7, %eax
+        movss     %xmm0, -16(%rsp)
+        movss     -16(%rsp), %xmm1
+        andl      $4, %eax
+        mulss     .L_2il0floatpacket.55(%rip), %xmm1
+        movss     %xmm1, -16(%rsp)
+        movl      -16(%rsp), %ecx
+        movl      %ecx, (%rsi)
+        ret
+
+.LBL_2_7:
+
+        movss     .L_2il0floatpacket.53(%rip), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, -16(%rsp)
+        movl      -16(%rsp), %eax
+        movl      %eax, (%rsi)
+        movl      $4, %eax
+        ret
+
+.LBL_2_8:
+
+        movss     .L_2il0floatpacket.45(%rip), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, -16(%rsp)
+        movl      -16(%rsp), %eax
+        movl      %eax, (%rsi)
+        movl      $3, %eax
+
+
+        ret
+
+.LBL_2_10:
+
+        movb      3(%rdi), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_12
+
+.LBL_2_11:
+
+        movss     (%rdi), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_12:
+
+        testl     $8388607, (%rdi)
+        jne       .LBL_2_11
+
+
+        movl      %eax, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sexp2_cout_rare_internal,@function
+       .size   __svml_sexp2_cout_rare_internal,.-__svml_sexp2_cout_rare_internal
+..LN__svml_sexp2_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_sexp2_data_internal_avx512:
+       .long   1065353216
+       .long   1065724611
+       .long   1066112450
+       .long   1066517459
+       .long   1066940400
+       .long   1067382066
+       .long   1067843287
+       .long   1068324927
+       .long   1068827891
+       .long   1069353124
+       .long   1069901610
+       .long   1070474380
+       .long   1071072509
+       .long   1071697119
+       .long   1072349383
+       .long   1073030525
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1047916907
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1030247626
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   1228931072
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .long   1123811328
+       .type   __svml_sexp2_data_internal_avx512,@object
+       .size   __svml_sexp2_data_internal_avx512,448
+       .align 4
+.L_2il0floatpacket.43:
+       .long   0x43000000
+       .type   .L_2il0floatpacket.43,@object
+       .size   .L_2il0floatpacket.43,4
+       .align 4
+.L_2il0floatpacket.44:
+       .long   0xc3160000
+       .type   .L_2il0floatpacket.44,@object
+       .size   .L_2il0floatpacket.44,4
+       .align 4
+.L_2il0floatpacket.45:
+       .long   0x7f7fffff
+       .type   .L_2il0floatpacket.45,@object
+       .size   .L_2il0floatpacket.45,4
+       .align 4
+.L_2il0floatpacket.46:
+       .long   0x4b400000
+       .type   .L_2il0floatpacket.46,@object
+       .size   .L_2il0floatpacket.46,4
+       .align 4
+.L_2il0floatpacket.47:
+       .long   0x3f800001
+       .type   .L_2il0floatpacket.47,@object
+       .size   .L_2il0floatpacket.47,4
+       .align 4
+.L_2il0floatpacket.48:
+       .long   0x3f317219
+       .type   .L_2il0floatpacket.48,@object
+       .size   .L_2il0floatpacket.48,4
+       .align 4
+.L_2il0floatpacket.49:
+       .long   0x3e75fc83
+       .type   .L_2il0floatpacket.49,@object
+       .size   .L_2il0floatpacket.49,4
+       .align 4
+.L_2il0floatpacket.50:
+       .long   0x3d635716
+       .type   .L_2il0floatpacket.50,@object
+       .size   .L_2il0floatpacket.50,4
+       .align 4
+.L_2il0floatpacket.51:
+       .long   0x3c1e883d
+       .type   .L_2il0floatpacket.51,@object
+       .size   .L_2il0floatpacket.51,4
+       .align 4
+.L_2il0floatpacket.52:
+       .long   0x3aafc483
+       .type   .L_2il0floatpacket.52,@object
+       .size   .L_2il0floatpacket.52,4
+       .align 4
+.L_2il0floatpacket.53:
+       .long   0x00000001
+       .type   .L_2il0floatpacket.53,@object
+       .size   .L_2il0floatpacket.53,4
+       .align 4
+.L_2il0floatpacket.54:
+       .long   0x7f000000
+       .type   .L_2il0floatpacket.54,@object
+       .size   .L_2il0floatpacket.54,4
+       .align 4
+.L_2il0floatpacket.55:
+       .long   0x34000000
+       .type   .L_2il0floatpacket.55,@object
+       .size   .L_2il0floatpacket.55,4
+       .align 4
+.L_2il0floatpacket.56:
+       .long   0xc2fc0000
+       .type   .L_2il0floatpacket.56,@object
+       .size   .L_2il0floatpacket.56,4
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_exp_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_exp_d_la.s
new file mode 100644 (file)
index 0000000..87aee92
--- /dev/null
@@ -0,0 +1,1074 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *   Argument representation:
+ *   N = rint(X*2^k/ln2) = 2^k*M+j
+ *   X = N*ln2/2^k + r = M*ln2 + ln2*(j/2^k) + r
+ *   then -ln2/2^(k+1) < r < ln2/2^(k+1)
+ *   Alternatively:
+ *   N = trunc(X*2^k/ln2)
+ *   then 0 < r < ln2/2^k
+ * 
+ *   Result calculation:
+ *   exp(X) = exp(M*ln2 + ln2*(j/2^k) + r)
+ *   = 2^M * 2^(j/2^k) * exp(r)
+ *   2^M is calculated by bit manipulation
+ *   2^(j/2^k) is stored in table
+ *   exp(r) is approximated by polynomial
+ * 
+ *   The table lookup is skipped if k = 0.
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_exp8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_exp8
+
+__svml_exp8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   256+__svml_dexp_data_internal_avx512(%rip), %zmm3
+        vmovups   320+__svml_dexp_data_internal_avx512(%rip), %zmm1
+        vmovups   384+__svml_dexp_data_internal_avx512(%rip), %zmm4
+        vmovups   448+__svml_dexp_data_internal_avx512(%rip), %zmm2
+        vmovups   576+__svml_dexp_data_internal_avx512(%rip), %zmm5
+        vmovups   640+__svml_dexp_data_internal_avx512(%rip), %zmm15
+
+/* 2^(52-4)*1.5 + x * log2(e) in round-to-zero mode */
+        vfmadd213pd {rz-sae}, %zmm1, %zmm0, %zmm3
+        vmovups   704+__svml_dexp_data_internal_avx512(%rip), %zmm6
+
+/* p34 = c4*r+c3 */
+        vmovups   768+__svml_dexp_data_internal_avx512(%rip), %zmm9
+        vmovups   832+__svml_dexp_data_internal_avx512(%rip), %zmm11
+        vmovups   1024+__svml_dexp_data_internal_avx512(%rip), %zmm13
+
+/* Table lookup: Th = 2^(j/2^k) */
+        vmovups   __svml_dexp_data_internal_avx512(%rip), %zmm14
+
+/* N ~ x*log2(e), round-to-zero to 4 fractional bits */
+        vsubpd    {rn-sae}, %zmm1, %zmm3, %zmm1
+
+/* remove sign of x by "and" operation */
+        vandpd    960+__svml_dexp_data_internal_avx512(%rip), %zmm0, %zmm12
+        vpermt2pd 64+__svml_dexp_data_internal_avx512(%rip), %zmm3, %zmm14
+
+/* R = x - N*ln(2)_high */
+        vfnmadd213pd {rn-sae}, %zmm0, %zmm1, %zmm4
+
+/* compare against threshold */
+        vcmppd    $29, {sae}, %zmm13, %zmm12, %k0
+
+/* R = R - N*ln(2)_high = x - N*ln(2) */
+        vfnmadd231pd {rn-sae}, %zmm1, %zmm2, %zmm4
+
+/* set mask for overflow/underflow */
+        kmovw     %k0, %edx
+
+/* ensure |R|<2 even for special cases */
+        vandpd    512+__svml_dexp_data_internal_avx512(%rip), %zmm4, %zmm7
+
+/* r2 = r*r */
+        vmulpd    {rn-sae}, %zmm7, %zmm7, %zmm8
+
+/* p56 = c6*r+c5 */
+        vfmadd231pd {rn-sae}, %zmm7, %zmm5, %zmm15
+        vfmadd231pd {rn-sae}, %zmm7, %zmm6, %zmm9
+
+/* r3 = r2*r = r^3 */
+        vmulpd    {rn-sae}, %zmm7, %zmm8, %zmm10
+
+/* p12 = c2*r2+r */
+        vfmadd213pd {rn-sae}, %zmm7, %zmm8, %zmm11
+
+/* p36 = (c6*r+c5)*r^2+c4*r+c3 */
+        vfmadd213pd {rn-sae}, %zmm9, %zmm8, %zmm15
+
+/* p16 = ((c6*r+c5)*r^2+c4*r+c3)*r^3+c2*r^2+r = exp(r)-1 */
+        vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm15
+
+/* Th*(exp(r)-1)+Th=Th*exp(r) */
+        vfmadd213pd {rn-sae}, %zmm14, %zmm14, %zmm15
+
+/* exp(x) = 2^M*Th*exp(r) */
+        vscalefpd {rn-sae}, %zmm1, %zmm15, %zmm1
+
+
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm1, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm1, 128(%rsp)
+        je        .LBL_1_2
+
+
+        xorl      %eax, %eax
+
+
+        vzeroupper
+        kmovw     %k4, 24(%rsp)
+        kmovw     %k5, 16(%rsp)
+        kmovw     %k6, 8(%rsp)
+        kmovw     %k7, (%rsp)
+        movq      %rsi, 40(%rsp)
+        movq      %rdi, 32(%rsp)
+        movq      %r12, 56(%rsp)
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_7:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_10
+
+.LBL_1_8:
+
+        incl      %r12d
+        cmpl      $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), %zmm1
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+
+        call      __svml_dexp_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_exp8,@function
+       .size   __svml_exp8,.-__svml_exp8
+..LN__svml_exp8.0:
+
+.L_2__routine_start___svml_dexp_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dexp_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    6(%rdi), %edx
+        andl      $32752, %edx
+        shrl      $4, %edx
+        movsd     (%rdi), %xmm6
+        movsd     %xmm6, -8(%rsp)
+        cmpl      $2047, %edx
+        je        .LBL_2_17
+
+
+        cmpl      $970, %edx
+        jle       .LBL_2_15
+
+
+        movsd     1080+_imldExpHATab(%rip), %xmm0
+        comisd    %xmm6, %xmm0
+        jb        .LBL_2_14
+
+
+        comisd    1096+_imldExpHATab(%rip), %xmm6
+        jb        .LBL_2_13
+
+
+        movsd     1024+_imldExpHATab(%rip), %xmm0
+        movaps    %xmm6, %xmm5
+        mulsd     %xmm6, %xmm0
+        lea       _imldExpHATab(%rip), %r10
+        movsd     %xmm0, -24(%rsp)
+        movsd     -24(%rsp), %xmm1
+        movq      1136+_imldExpHATab(%rip), %rdx
+        movq      %rdx, -8(%rsp)
+        addsd     1032+_imldExpHATab(%rip), %xmm1
+        movsd     %xmm1, -16(%rsp)
+        movsd     -16(%rsp), %xmm2
+        movl      -16(%rsp), %r8d
+        movl      %r8d, %ecx
+        andl      $63, %r8d
+        subsd     1032+_imldExpHATab(%rip), %xmm2
+        movsd     %xmm2, -24(%rsp)
+        lea       1(%r8,%r8), %r9d
+        movsd     -24(%rsp), %xmm3
+        lea       (%r8,%r8), %edi
+        mulsd     1104+_imldExpHATab(%rip), %xmm3
+        movsd     -24(%rsp), %xmm4
+        subsd     %xmm3, %xmm5
+        mulsd     1112+_imldExpHATab(%rip), %xmm4
+        movsd     1072+_imldExpHATab(%rip), %xmm2
+        subsd     %xmm4, %xmm5
+        mulsd     %xmm5, %xmm2
+        shrl      $6, %ecx
+        addsd     1064+_imldExpHATab(%rip), %xmm2
+        comisd    1088+_imldExpHATab(%rip), %xmm6
+        mulsd     %xmm5, %xmm2
+        movsd     (%r10,%rdi,8), %xmm0
+        lea       1023(%rcx), %edx
+        addsd     1056+_imldExpHATab(%rip), %xmm2
+        mulsd     %xmm5, %xmm2
+        addsd     1048+_imldExpHATab(%rip), %xmm2
+        mulsd     %xmm5, %xmm2
+        addsd     1040+_imldExpHATab(%rip), %xmm2
+        mulsd     %xmm5, %xmm2
+        mulsd     %xmm5, %xmm2
+        addsd     %xmm5, %xmm2
+        addsd     (%r10,%r9,8), %xmm2
+        mulsd     %xmm0, %xmm2
+        jb        .LBL_2_9
+
+
+        andl      $2047, %edx
+        addsd     %xmm0, %xmm2
+        cmpl      $2046, %edx
+        ja        .LBL_2_8
+
+
+        movq      1136+_imldExpHATab(%rip), %rcx
+        shrq      $48, %rcx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm0, %xmm2
+        movsd     %xmm2, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        decl      %edx
+        andl      $2047, %edx
+        movzwl    -2(%rsp), %ecx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm0, %xmm2
+        mulsd     1152+_imldExpHATab(%rip), %xmm2
+        movsd     %xmm2, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        addl      $1083, %ecx
+        andl      $2047, %ecx
+        movl      %ecx, %eax
+        movzwl    -2(%rsp), %edx
+        shll      $4, %eax
+        andl      $-32753, %edx
+        orl       %eax, %edx
+        movw      %dx, -2(%rsp)
+        movsd     -8(%rsp), %xmm1
+        mulsd     %xmm1, %xmm2
+        mulsd     %xmm0, %xmm1
+        movaps    %xmm1, %xmm0
+        addsd     %xmm2, %xmm0
+        cmpl      $50, %ecx
+        ja        .LBL_2_11
+
+
+        mulsd     1160+_imldExpHATab(%rip), %xmm0
+        movsd     %xmm0, (%rsi)
+        jmp       .LBL_2_12
+
+.LBL_2_11:
+
+        movsd     %xmm0, -72(%rsp)
+        movsd     -72(%rsp), %xmm0
+        subsd     %xmm0, %xmm1
+        movsd     %xmm1, -64(%rsp)
+        movsd     -64(%rsp), %xmm1
+        addsd     %xmm2, %xmm1
+        movsd     %xmm1, -64(%rsp)
+        movsd     -72(%rsp), %xmm2
+        mulsd     1168+_imldExpHATab(%rip), %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movsd     -72(%rsp), %xmm4
+        movsd     -56(%rsp), %xmm3
+        addsd     %xmm3, %xmm4
+        movsd     %xmm4, -48(%rsp)
+        movsd     -48(%rsp), %xmm6
+        movsd     -56(%rsp), %xmm5
+        subsd     %xmm5, %xmm6
+        movsd     %xmm6, -40(%rsp)
+        movsd     -72(%rsp), %xmm8
+        movsd     -40(%rsp), %xmm7
+        subsd     %xmm7, %xmm8
+        movsd     %xmm8, -32(%rsp)
+        movsd     -64(%rsp), %xmm10
+        movsd     -32(%rsp), %xmm9
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -32(%rsp)
+        movsd     -40(%rsp), %xmm11
+        mulsd     1160+_imldExpHATab(%rip), %xmm11
+        movsd     %xmm11, -40(%rsp)
+        movsd     -32(%rsp), %xmm12
+        mulsd     1160+_imldExpHATab(%rip), %xmm12
+        movsd     %xmm12, -32(%rsp)
+        movsd     -40(%rsp), %xmm14
+        movsd     -32(%rsp), %xmm13
+        addsd     %xmm13, %xmm14
+        movsd     %xmm14, (%rsi)
+
+.LBL_2_12:
+
+        movl      $4, %eax
+        ret
+
+.LBL_2_13:
+
+        movsd     1120+_imldExpHATab(%rip), %xmm0
+        movl      $4, %eax
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        movsd     1128+_imldExpHATab(%rip), %xmm0
+        movl      $3, %eax
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_15:
+
+        movsd     1144+_imldExpHATab(%rip), %xmm0
+        addsd     %xmm6, %xmm0
+        movsd     %xmm0, (%rsi)
+
+
+        ret
+
+.LBL_2_17:
+
+        movb      -1(%rsp), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_19
+
+.LBL_2_18:
+
+        mulsd     %xmm6, %xmm6
+        movsd     %xmm6, (%rsi)
+        ret
+
+.LBL_2_19:
+
+        testl     $1048575, -4(%rsp)
+        jne       .LBL_2_18
+
+
+        cmpl      $0, -8(%rsp)
+        jne       .LBL_2_18
+
+
+        movq      1136+_imldExpHATab(%rip), %rdx
+        movq      %rdx, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dexp_cout_rare_internal,@function
+       .size   __svml_dexp_cout_rare_internal,.-__svml_dexp_cout_rare_internal
+..LN__svml_dexp_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dexp_data_internal_avx512:
+       .long   0
+       .long   1072693248
+       .long   1828292879
+       .long   1072739672
+       .long   1014845819
+       .long   1072788152
+       .long   1853186616
+       .long   1072838778
+       .long   171030293
+       .long   1072891646
+       .long   1276261410
+       .long   1072946854
+       .long   3577096743
+       .long   1073004506
+       .long   3712504873
+       .long   1073064711
+       .long   1719614413
+       .long   1073127582
+       .long   1944781191
+       .long   1073193236
+       .long   1110089947
+       .long   1073261797
+       .long   2191782032
+       .long   1073333393
+       .long   2572866477
+       .long   1073408159
+       .long   3716502172
+       .long   1073486235
+       .long   3707479175
+       .long   1073567768
+       .long   2728693978
+       .long   1073652911
+       .long   0
+       .long   0
+       .long   1568897901
+       .long   1016568486
+       .long   3936719688
+       .long   3162512149
+       .long   3819481236
+       .long   1016499965
+       .long   1303423926
+       .long   1015238005
+       .long   2804567149
+       .long   1015390024
+       .long   3145379760
+       .long   1014403278
+       .long   3793507337
+       .long   1016095713
+       .long   3210617384
+       .long   3163796463
+       .long   3108873501
+       .long   3162190556
+       .long   3253791412
+       .long   1015920431
+       .long   730975783
+       .long   1014083580
+       .long   2462790535
+       .long   1015814775
+       .long   816778419
+       .long   1014197934
+       .long   2789017511
+       .long   1014276997
+       .long   2413007344
+       .long   3163551506
+       .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   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4010615101
+       .long   1062678197
+       .long   4010615101
+       .long   1062678197
+       .long   4010615101
+       .long   1062678197
+       .long   4010615101
+       .long   1062678197
+       .long   4010615101
+       .long   1062678197
+       .long   4010615101
+       .long   1062678197
+       .long   4010615101
+       .long   1062678197
+       .long   4010615101
+       .long   1062678197
+       .long   64584704
+       .long   1065422950
+       .long   64584704
+       .long   1065422950
+       .long   64584704
+       .long   1065422950
+       .long   64584704
+       .long   1065422950
+       .long   64584704
+       .long   1065422950
+       .long   64584704
+       .long   1065422950
+       .long   64584704
+       .long   1065422950
+       .long   64584704
+       .long   1065422950
+       .long   1270150640
+       .long   1067799894
+       .long   1270150640
+       .long   1067799894
+       .long   1270150640
+       .long   1067799894
+       .long   1270150640
+       .long   1067799894
+       .long   1270150640
+       .long   1067799894
+       .long   1270150640
+       .long   1067799894
+       .long   1270150640
+       .long   1067799894
+       .long   1270150640
+       .long   1067799894
+       .long   1421150370
+       .long   1069897045
+       .long   1421150370
+       .long   1069897045
+       .long   1421150370
+       .long   1069897045
+       .long   1421150370
+       .long   1069897045
+       .long   1421150370
+       .long   1069897045
+       .long   1421150370
+       .long   1069897045
+       .long   1421150370
+       .long   1069897045
+       .long   1421150370
+       .long   1069897045
+       .long   9762
+       .long   1071644672
+       .long   9762
+       .long   1071644672
+       .long   9762
+       .long   1071644672
+       .long   9762
+       .long   1071644672
+       .long   9762
+       .long   1071644672
+       .long   9762
+       .long   1071644672
+       .long   9762
+       .long   1071644672
+       .long   9762
+       .long   1071644672
+       .long   4294967152
+       .long   1072693247
+       .long   4294967152
+       .long   1072693247
+       .long   4294967152
+       .long   1072693247
+       .long   4294967152
+       .long   1072693247
+       .long   4294967152
+       .long   1072693247
+       .long   4294967152
+       .long   1072693247
+       .long   4294967152
+       .long   1072693247
+       .long   4294967152
+       .long   1072693247
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   0
+       .long   1005584384
+       .long   0
+       .long   1005584384
+       .long   0
+       .long   1005584384
+       .long   0
+       .long   1005584384
+       .long   0
+       .long   1005584384
+       .long   0
+       .long   1005584384
+       .long   0
+       .long   1005584384
+       .long   0
+       .long   1005584384
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   32752
+       .long   0
+       .long   32752
+       .long   0
+       .long   32752
+       .long   0
+       .long   32752
+       .long   0
+       .long   32752
+       .long   0
+       .long   32752
+       .long   0
+       .long   32752
+       .long   0
+       .long   32752
+       .long   0
+       .type   __svml_dexp_data_internal_avx512,@object
+       .size   __svml_dexp_data_internal_avx512,1280
+       .align 32
+_imldExpHATab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   1048019041
+       .long   1072704666
+       .long   2631457885
+       .long   3161546771
+       .long   3541402996
+       .long   1072716208
+       .long   896005651
+       .long   1015861842
+       .long   410360776
+       .long   1072727877
+       .long   1642514529
+       .long   1012987726
+       .long   1828292879
+       .long   1072739672
+       .long   1568897901
+       .long   1016568486
+       .long   852742562
+       .long   1072751596
+       .long   1882168529
+       .long   1010744893
+       .long   3490863953
+       .long   1072763649
+       .long   707771662
+       .long   3163903570
+       .long   2930322912
+       .long   1072775834
+       .long   3117806614
+       .long   3163670819
+       .long   1014845819
+       .long   1072788152
+       .long   3936719688
+       .long   3162512149
+       .long   3949972341
+       .long   1072800603
+       .long   1058231231
+       .long   1015777676
+       .long   828946858
+       .long   1072813191
+       .long   1044000608
+       .long   1016786167
+       .long   2288159958
+       .long   1072825915
+       .long   1151779725
+       .long   1015705409
+       .long   1853186616
+       .long   1072838778
+       .long   3819481236
+       .long   1016499965
+       .long   1709341917
+       .long   1072851781
+       .long   2552227826
+       .long   1015039787
+       .long   4112506593
+       .long   1072864925
+       .long   1829350193
+       .long   1015216097
+       .long   2799960843
+       .long   1072878213
+       .long   1913391796
+       .long   1015756674
+       .long   171030293
+       .long   1072891646
+       .long   1303423926
+       .long   1015238005
+       .long   2992903935
+       .long   1072905224
+       .long   1574172746
+       .long   1016061241
+       .long   926591435
+       .long   1072918951
+       .long   3427487848
+       .long   3163704045
+       .long   887463927
+       .long   1072932827
+       .long   1049900754
+       .long   3161575912
+       .long   1276261410
+       .long   1072946854
+       .long   2804567149
+       .long   1015390024
+       .long   569847338
+       .long   1072961034
+       .long   1209502043
+       .long   3159926671
+       .long   1617004845
+       .long   1072975368
+       .long   1623370769
+       .long   1011049453
+       .long   3049340112
+       .long   1072989858
+       .long   3667985273
+       .long   1013894369
+       .long   3577096743
+       .long   1073004506
+       .long   3145379760
+       .long   1014403278
+       .long   1990012071
+       .long   1073019314
+       .long   7447438
+       .long   3163526196
+       .long   1453150082
+       .long   1073034283
+       .long   3171891295
+       .long   3162037958
+       .long   917841882
+       .long   1073049415
+       .long   419288974
+       .long   1016280325
+       .long   3712504873
+       .long   1073064711
+       .long   3793507337
+       .long   1016095713
+       .long   363667784
+       .long   1073080175
+       .long   728023093
+       .long   1016345318
+       .long   2956612997
+       .long   1073095806
+       .long   1005538728
+       .long   3163304901
+       .long   2186617381
+       .long   1073111608
+       .long   2018924632
+       .long   3163803357
+       .long   1719614413
+       .long   1073127582
+       .long   3210617384
+       .long   3163796463
+       .long   1013258799
+       .long   1073143730
+       .long   3094194670
+       .long   3160631279
+       .long   3907805044
+       .long   1073160053
+       .long   2119843535
+       .long   3161988964
+       .long   1447192521
+       .long   1073176555
+       .long   508946058
+       .long   3162904882
+       .long   1944781191
+       .long   1073193236
+       .long   3108873501
+       .long   3162190556
+       .long   919555682
+       .long   1073210099
+       .long   2882956373
+       .long   1013312481
+       .long   2571947539
+       .long   1073227145
+       .long   4047189812
+       .long   3163777462
+       .long   2604962541
+       .long   1073244377
+       .long   3631372142
+       .long   3163870288
+       .long   1110089947
+       .long   1073261797
+       .long   3253791412
+       .long   1015920431
+       .long   2568320822
+       .long   1073279406
+       .long   1509121860
+       .long   1014756995
+       .long   2966275557
+       .long   1073297207
+       .long   2339118633
+       .long   3160254904
+       .long   2682146384
+       .long   1073315202
+       .long   586480042
+       .long   3163702083
+       .long   2191782032
+       .long   1073333393
+       .long   730975783
+       .long   1014083580
+       .long   2069751141
+       .long   1073351782
+       .long   576856675
+       .long   3163014404
+       .long   2990417245
+       .long   1073370371
+       .long   3552361237
+       .long   3163667409
+       .long   1434058175
+       .long   1073389163
+       .long   1853053619
+       .long   1015310724
+       .long   2572866477
+       .long   1073408159
+       .long   2462790535
+       .long   1015814775
+       .long   3092190715
+       .long   1073427362
+       .long   1457303226
+       .long   3159737305
+       .long   4076559943
+       .long   1073446774
+       .long   950899508
+       .long   3160987380
+       .long   2420883922
+       .long   1073466398
+       .long   174054861
+       .long   1014300631
+       .long   3716502172
+       .long   1073486235
+       .long   816778419
+       .long   1014197934
+       .long   777507147
+       .long   1073506289
+       .long   3507050924
+       .long   1015341199
+       .long   3706687593
+       .long   1073526560
+       .long   1821514088
+       .long   1013410604
+       .long   1242007932
+       .long   1073547053
+       .long   1073740399
+       .long   3163532637
+       .long   3707479175
+       .long   1073567768
+       .long   2789017511
+       .long   1014276997
+       .long   64696965
+       .long   1073588710
+       .long   3586233004
+       .long   1015962192
+       .long   863738719
+       .long   1073609879
+       .long   129252895
+       .long   3162690849
+       .long   3884662774
+       .long   1073631278
+       .long   1614448851
+       .long   1014281732
+       .long   2728693978
+       .long   1073652911
+       .long   2413007344
+       .long   3163551506
+       .long   3999357479
+       .long   1073674779
+       .long   1101668360
+       .long   1015989180
+       .long   1533953344
+       .long   1073696886
+       .long   835814894
+       .long   1015702697
+       .long   2174652632
+       .long   1073719233
+       .long   1301400989
+       .long   1014466875
+       .long   1697350398
+       .long   1079448903
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1071644672
+       .long   1431652600
+       .long   1069897045
+       .long   1431670732
+       .long   1067799893
+       .long   984555731
+       .long   1065423122
+       .long   472530941
+       .long   1062650218
+       .long   4277811695
+       .long   1082535490
+       .long   3715808466
+       .long   3230016299
+       .long   3576508497
+       .long   3230091536
+       .long   4277796864
+       .long   1065758274
+       .long   3164486458
+       .long   1025308570
+       .long   1
+       .long   1048576
+       .long   4294967295
+       .long   2146435071
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1009778688
+       .long   0
+       .long   1106771968
+       .type   _imldExpHATab,@object
+       .size   _imldExpHATab,1176
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_exp_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_exp_s_la.s
new file mode 100644 (file)
index 0000000..4c0e972
--- /dev/null
@@ -0,0 +1,772 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *   Argument representation:
+ *   M = rint(X*2^k/ln2) = 2^k*N+j
+ *   X = M*ln2/2^k + r = N*ln2 + ln2*(j/2^k) + r
+ *   then -ln2/2^(k+1) < r < ln2/2^(k+1)
+ *   Alternatively:
+ *   M = trunc(X*2^k/ln2)
+ *   then 0 < r < ln2/2^k
+ * 
+ *   Result calculation:
+ *   exp(X) = exp(N*ln2 + ln2*(j/2^k) + r)
+ *   = 2^N * 2^(j/2^k) * exp(r)
+ *   2^N is calculated by bit manipulation
+ *   2^(j/2^k) is computed from table lookup
+ *   exp(r) is approximated by polynomial
+ * 
+ *   The table lookup is skipped if k = 0.
+ *   For low accuracy approximation, exp(r) ~ 1 or 1+r.
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_expf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_expf16
+
+__svml_expf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   256+__svml_sexp_data_internal_avx512(%rip), %zmm2
+        vmovups   320+__svml_sexp_data_internal_avx512(%rip), %zmm1
+
+/* x!=0? */
+        vmovups   896+__svml_sexp_data_internal_avx512(%rip), %zmm7
+        vmovups   384+__svml_sexp_data_internal_avx512(%rip), %zmm5
+
+/* Table lookup: Tl, Tl = 2^(j/2^10), j = 0,...,2^5-1 */
+        vmovups   __svml_sexp_data_internal_avx512(%rip), %zmm8
+
+/* Table lookup: Th, Th = 2^(j/2^5), j = 0,...,2^5-1 */
+        vmovups   128+__svml_sexp_data_internal_avx512(%rip), %zmm12
+
+/* 2^(52-4)*1.5 + x * log2(e) in round-to-zero mode */
+        vfmadd213ps {rz-sae}, %zmm1, %zmm0, %zmm2
+        vmovups   448+__svml_sexp_data_internal_avx512(%rip), %zmm4
+        vmovups   640+__svml_sexp_data_internal_avx512(%rip), %zmm10
+
+/* ensure |R|<2 even for special cases */
+        vmovups   512+__svml_sexp_data_internal_avx512(%rip), %zmm6
+        vcmpps    $4, {sae}, %zmm7, %zmm0, %k1
+
+/* Adjust index by right shift for 5 bits */
+        vpsrld    $5, %zmm2, %zmm3
+
+/* N ~ x*log2(e), round-to-zero to 10 fractional bits */
+        vsubps    {rn-sae}, %zmm1, %zmm2, %zmm13
+        vpermt2ps 64+__svml_sexp_data_internal_avx512(%rip), %zmm2, %zmm8
+        vpermt2ps 192+__svml_sexp_data_internal_avx512(%rip), %zmm3, %zmm12
+
+/* remove sign of x by "and" operation */
+        vandps    576+__svml_sexp_data_internal_avx512(%rip), %zmm0, %zmm9
+
+/* R = x - N*ln(2)_high */
+        vfnmadd213ps {rn-sae}, %zmm0, %zmm13, %zmm5
+
+/* Th*Tl ~ 2^(j/2^k) */
+        vmulps    {rn-sae}, %zmm8, %zmm12, %zmm12{%k1}
+
+/* compare against threshold */
+        vcmpps    $29, {sae}, %zmm10, %zmm9, %k0
+
+/* R = R - N*ln(2)_low = x - N*ln(2) */
+        vfnmadd231ps {rn-sae}, %zmm13, %zmm4, %zmm5
+
+/* set mask for overflow/underflow */
+        kmovw     %k0, %edx
+        vrangeps  $2, {sae}, %zmm6, %zmm5, %zmm11
+
+/* 2^(j/2^k)*(r+1) */
+        vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm12
+
+/* exp(x) = 2^N*2^(j/2^k)*(r+1) */
+        vscalefps {rn-sae}, %zmm13, %zmm12, %zmm1
+
+/*
+ * Check general callout condition
+ * Check VML specific mode related condition,
+ * no check in case of other libraries
+ * Above HA/LA/EP sequences produce
+ * correct results even without going to callout.
+ * Callout was only needed to raise flags
+ * and set errno. If caller doesn't need that
+ * then it is safe to proceed without callout
+ */
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm1, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm1, 128(%rsp)
+        je        .LBL_1_2
+
+
+        xorl      %eax, %eax
+
+
+        vzeroupper
+        kmovw     %k4, 24(%rsp)
+        kmovw     %k5, 16(%rsp)
+        kmovw     %k6, 8(%rsp)
+        kmovw     %k7, (%rsp)
+        movq      %rsi, 40(%rsp)
+        movq      %rdi, 32(%rsp)
+        movq      %r12, 56(%rsp)
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_7:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_10
+
+.LBL_1_8:
+
+        incl      %r12d
+        cmpl      $16, %r12d
+        jl        .LBL_1_7
+
+
+        kmovw     24(%rsp), %k4
+       .cfi_restore 122
+        kmovw     16(%rsp), %k5
+       .cfi_restore 123
+        kmovw     8(%rsp), %k6
+       .cfi_restore 124
+        kmovw     (%rsp), %k7
+       .cfi_restore 125
+        vmovups   128(%rsp), %zmm1
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+
+        call      __svml_sexp_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_expf16,@function
+       .size   __svml_expf16,.-__svml_expf16
+..LN__svml_expf16.0:
+
+.L_2__routine_start___svml_sexp_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_sexp_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    2(%rdi), %edx
+        andl      $32640, %edx
+        cmpl      $32640, %edx
+        je        .LBL_2_12
+
+
+        movss     (%rdi), %xmm9
+        movss     .L_2il0floatpacket.52(%rip), %xmm0
+        movl      %eax, -12(%rsp)
+        comiss    %xmm9, %xmm0
+        jb        .LBL_2_10
+
+
+        comiss    .L_2il0floatpacket.53(%rip), %xmm9
+        jb        .LBL_2_9
+
+
+        movss     .L_2il0floatpacket.55(%rip), %xmm0
+        movaps    %xmm9, %xmm6
+        mulss     %xmm9, %xmm0
+        comiss    .L_2il0floatpacket.64(%rip), %xmm9
+        movss     %xmm0, -24(%rsp)
+        movss     -24(%rsp), %xmm1
+        movss     .L_2il0floatpacket.56(%rip), %xmm2
+        movss     .L_2il0floatpacket.63(%rip), %xmm7
+        addss     %xmm2, %xmm1
+        movss     %xmm1, -20(%rsp)
+        movss     -20(%rsp), %xmm3
+        movss     .L_2il0floatpacket.59(%rip), %xmm8
+        subss     %xmm2, %xmm3
+        movss     %xmm3, -24(%rsp)
+        movss     -24(%rsp), %xmm4
+        mulss     .L_2il0floatpacket.57(%rip), %xmm4
+        movss     -24(%rsp), %xmm5
+        subss     %xmm4, %xmm6
+        mulss     .L_2il0floatpacket.58(%rip), %xmm5
+        movswl    -20(%rsp), %ecx
+        subss     %xmm5, %xmm6
+        mulss     %xmm6, %xmm7
+        addss     .L_2il0floatpacket.62(%rip), %xmm7
+        mulss     %xmm6, %xmm7
+        addss     .L_2il0floatpacket.61(%rip), %xmm7
+        mulss     %xmm6, %xmm7
+        addss     .L_2il0floatpacket.60(%rip), %xmm7
+        mulss     %xmm6, %xmm7
+        addss     %xmm8, %xmm7
+        mulss     %xmm6, %xmm7
+        addss     %xmm7, %xmm8
+        movss     %xmm8, -16(%rsp)
+        jb        .LBL_2_8
+
+
+        lea       127(%rcx), %edx
+        cmpl      $254, %edx
+        ja        .LBL_2_7
+
+
+        movzbl    %dl, %edx
+        shll      $7, %edx
+        movw      %dx, -10(%rsp)
+        movss     -16(%rsp), %xmm0
+        mulss     -12(%rsp), %xmm0
+        movss     %xmm0, -16(%rsp)
+        movl      -16(%rsp), %ecx
+        movl      %ecx, (%rsi)
+        ret
+
+.LBL_2_7:
+
+        addl      $126, %ecx
+        movzbl    %cl, %ecx
+        movzwl    -10(%rsp), %edx
+        shll      $7, %ecx
+        andl      $-32641, %edx
+        orl       %ecx, %edx
+        movss     -16(%rsp), %xmm0
+        movw      %dx, -10(%rsp)
+        mulss     -12(%rsp), %xmm0
+        movss     %xmm0, -16(%rsp)
+        movss     -16(%rsp), %xmm1
+        mulss     .L_2il0floatpacket.67(%rip), %xmm1
+        movss     %xmm1, -16(%rsp)
+        movl      -16(%rsp), %edi
+        movl      %edi, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        addl      $-69, %ecx
+        movzbl    %cl, %ecx
+        movzwl    -10(%rsp), %eax
+        shll      $7, %ecx
+        andl      $-32641, %eax
+        orl       %ecx, %eax
+        movss     -16(%rsp), %xmm0
+        movw      %ax, -10(%rsp)
+        movl      $4, %eax
+        mulss     -12(%rsp), %xmm0
+        movss     %xmm0, -16(%rsp)
+        movss     -16(%rsp), %xmm1
+        mulss     .L_2il0floatpacket.66(%rip), %xmm1
+        movss     %xmm1, -16(%rsp)
+        movl      -16(%rsp), %edx
+        movl      %edx, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        movss     .L_2il0floatpacket.65(%rip), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, -16(%rsp)
+        movl      -16(%rsp), %eax
+        movl      %eax, (%rsi)
+        movl      $4, %eax
+        ret
+
+.LBL_2_10:
+
+        movss     .L_2il0floatpacket.54(%rip), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, -16(%rsp)
+        movl      -16(%rsp), %eax
+        movl      %eax, (%rsi)
+        movl      $3, %eax
+
+
+        ret
+
+.LBL_2_12:
+
+        movb      3(%rdi), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_14
+
+.LBL_2_13:
+
+        movss     (%rdi), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        testl     $8388607, (%rdi)
+        jne       .LBL_2_13
+
+
+        movl      %eax, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sexp_cout_rare_internal,@function
+       .size   __svml_sexp_cout_rare_internal,.-__svml_sexp_cout_rare_internal
+..LN__svml_sexp_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_sexp_data_internal_avx512:
+       .long   1065353217
+       .long   1065358897
+       .long   1065364581
+       .long   1065370269
+       .long   1065375961
+       .long   1065381656
+       .long   1065387356
+       .long   1065393059
+       .long   1065398766
+       .long   1065404477
+       .long   1065410192
+       .long   1065415911
+       .long   1065421634
+       .long   1065427360
+       .long   1065433091
+       .long   1065438825
+       .long   1065444563
+       .long   1065450305
+       .long   1065456051
+       .long   1065461801
+       .long   1065467554
+       .long   1065473312
+       .long   1065479074
+       .long   1065484839
+       .long   1065490608
+       .long   1065496381
+       .long   1065502159
+       .long   1065507940
+       .long   1065513725
+       .long   1065519513
+       .long   1065525306
+       .long   1065531103
+       .long   1065353216
+       .long   1065536903
+       .long   1065724611
+       .long   1065916431
+       .long   1066112450
+       .long   1066312762
+       .long   1066517459
+       .long   1066726640
+       .long   1066940400
+       .long   1067158842
+       .long   1067382066
+       .long   1067610179
+       .long   1067843287
+       .long   1068081499
+       .long   1068324927
+       .long   1068573686
+       .long   1068827891
+       .long   1069087663
+       .long   1069353124
+       .long   1069624397
+       .long   1069901610
+       .long   1070184894
+       .long   1070474380
+       .long   1070770206
+       .long   1071072509
+       .long   1071381432
+       .long   1071697119
+       .long   1072019719
+       .long   1072349383
+       .long   1072686266
+       .long   1073030525
+       .long   1073382323
+       .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   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1178599424
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .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   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .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   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   796917760
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .long   3968
+       .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   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   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   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   849703008
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .type   __svml_sexp_data_internal_avx512,@object
+       .size   __svml_sexp_data_internal_avx512,1216
+       .align 4
+.L_2il0floatpacket.52:
+       .long   0x42b17217
+       .type   .L_2il0floatpacket.52,@object
+       .size   .L_2il0floatpacket.52,4
+       .align 4
+.L_2il0floatpacket.53:
+       .long   0xc2cff1b4
+       .type   .L_2il0floatpacket.53,@object
+       .size   .L_2il0floatpacket.53,4
+       .align 4
+.L_2il0floatpacket.54:
+       .long   0x7f7fffff
+       .type   .L_2il0floatpacket.54,@object
+       .size   .L_2il0floatpacket.54,4
+       .align 4
+.L_2il0floatpacket.55:
+       .long   0x3fb8aa3b
+       .type   .L_2il0floatpacket.55,@object
+       .size   .L_2il0floatpacket.55,4
+       .align 4
+.L_2il0floatpacket.56:
+       .long   0x4b400000
+       .type   .L_2il0floatpacket.56,@object
+       .size   .L_2il0floatpacket.56,4
+       .align 4
+.L_2il0floatpacket.57:
+       .long   0x3f317200
+       .type   .L_2il0floatpacket.57,@object
+       .size   .L_2il0floatpacket.57,4
+       .align 4
+.L_2il0floatpacket.58:
+       .long   0x35bfbe8e
+       .type   .L_2il0floatpacket.58,@object
+       .size   .L_2il0floatpacket.58,4
+       .align 4
+.L_2il0floatpacket.59:
+       .long   0x3f800001
+       .type   .L_2il0floatpacket.59,@object
+       .size   .L_2il0floatpacket.59,4
+       .align 4
+.L_2il0floatpacket.60:
+       .long   0x3efffe85
+       .type   .L_2il0floatpacket.60,@object
+       .size   .L_2il0floatpacket.60,4
+       .align 4
+.L_2il0floatpacket.61:
+       .long   0x3e2aa9c6
+       .type   .L_2il0floatpacket.61,@object
+       .size   .L_2il0floatpacket.61,4
+       .align 4
+.L_2il0floatpacket.62:
+       .long   0x3d2bb1b6
+       .type   .L_2il0floatpacket.62,@object
+       .size   .L_2il0floatpacket.62,4
+       .align 4
+.L_2il0floatpacket.63:
+       .long   0x3c0950ef
+       .type   .L_2il0floatpacket.63,@object
+       .size   .L_2il0floatpacket.63,4
+       .align 4
+.L_2il0floatpacket.64:
+       .long   0xc2aeac4f
+       .type   .L_2il0floatpacket.64,@object
+       .size   .L_2il0floatpacket.64,4
+       .align 4
+.L_2il0floatpacket.65:
+       .long   0x00000001
+       .type   .L_2il0floatpacket.65,@object
+       .size   .L_2il0floatpacket.65,4
+       .align 4
+.L_2il0floatpacket.66:
+       .long   0x21800000
+       .type   .L_2il0floatpacket.66,@object
+       .size   .L_2il0floatpacket.66,4
+       .align 4
+.L_2il0floatpacket.67:
+       .long   0x40000000
+       .type   .L_2il0floatpacket.67,@object
+       .size   .L_2il0floatpacket.67,4
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_expm1_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_expm1_d_la.s
new file mode 100644 (file)
index 0000000..6d44b4d
--- /dev/null
@@ -0,0 +1,1089 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *  After computing exp(x) in high-low parts, an accurate computation is performed to obtain exp(x)-1
+ *  *  Typical exp() implementation, except that:
+ *  *   - tables are small (16 elements), allowing for fast gathers
+ *  *   - all arguments processed in the main path
+ *  *       - final VSCALEF assists branch-free design (correct overflow/underflow and special case responses)
+ *  *       - a VAND is used to ensure the reduced argument |R|<2, even for large inputs
+ *  *       - RZ mode used to avoid oveflow to +/-Inf for x*log2(e); helps with special case handling
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_expm18_z0_0:
+
+       .align    16,0x90
+       .globl __svml_expm18
+
+__svml_expm18:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   256+__svml_dexpm1_data_internal_avx512(%rip), %zmm6
+        vmovups   320+__svml_dexpm1_data_internal_avx512(%rip), %zmm4
+        vmovups   512+__svml_dexpm1_data_internal_avx512(%rip), %zmm11
+        vmovups   576+__svml_dexpm1_data_internal_avx512(%rip), %zmm5
+        vmovups   384+__svml_dexpm1_data_internal_avx512(%rip), %zmm3
+        vmovups   960+__svml_dexpm1_data_internal_avx512(%rip), %zmm13
+        vmovups   1024+__svml_dexpm1_data_internal_avx512(%rip), %zmm15
+
+/* polynomial */
+        vmovups   832+__svml_dexpm1_data_internal_avx512(%rip), %zmm12
+
+/* set Z0=max(Z0, -128.0) */
+        vmovups   640+__svml_dexpm1_data_internal_avx512(%rip), %zmm8
+        vmovups   1088+__svml_dexpm1_data_internal_avx512(%rip), %zmm14
+        vmovups   __svml_dexpm1_data_internal_avx512(%rip), %zmm9
+        vmovaps   %zmm0, %zmm2
+
+/* 2^(52-4)*1.5 + x * log2(e) */
+        vfmadd213pd {rn-sae}, %zmm4, %zmm2, %zmm6
+        vmovups   128+__svml_dexpm1_data_internal_avx512(%rip), %zmm0
+        vcmppd    $21, {sae}, %zmm3, %zmm2, %k0
+
+/* Z0 ~ x*log2(e), rounded to 4 fractional bits */
+        vsubpd    {rn-sae}, %zmm4, %zmm6, %zmm7
+        vpermt2pd 64+__svml_dexpm1_data_internal_avx512(%rip), %zmm6, %zmm9
+        vpermt2pd 192+__svml_dexpm1_data_internal_avx512(%rip), %zmm6, %zmm0
+        vandpd    448+__svml_dexpm1_data_internal_avx512(%rip), %zmm2, %zmm1
+
+/* R = x - Z0*log(2) */
+        vfnmadd213pd {rn-sae}, %zmm2, %zmm7, %zmm11
+        vmaxpd    {sae}, %zmm8, %zmm7, %zmm10
+        vfnmadd231pd {rn-sae}, %zmm7, %zmm5, %zmm11
+        kmovw     %k0, %edx
+
+/* ensure |R|<2 even for special cases */
+        vandpd    704+__svml_dexpm1_data_internal_avx512(%rip), %zmm11, %zmm3
+        vmovups   896+__svml_dexpm1_data_internal_avx512(%rip), %zmm11
+
+/* scale Th */
+        vscalefpd {rn-sae}, %zmm10, %zmm9, %zmm4
+        vfmadd231pd {rn-sae}, %zmm3, %zmm13, %zmm15
+        vfmadd231pd {rn-sae}, %zmm3, %zmm12, %zmm11
+        vmovups   1152+__svml_dexpm1_data_internal_avx512(%rip), %zmm12
+        vmulpd    {rn-sae}, %zmm3, %zmm3, %zmm13
+        vfmadd231pd {rn-sae}, %zmm3, %zmm14, %zmm12
+        vfmadd213pd {rn-sae}, %zmm15, %zmm13, %zmm11
+        vfmadd213pd {rn-sae}, %zmm12, %zmm13, %zmm11
+
+/* Tlr + R+ R*Poly */
+        vfmadd213pd {rn-sae}, %zmm0, %zmm13, %zmm11
+
+/* Th - 1 */
+        vmovups   1216+__svml_dexpm1_data_internal_avx512(%rip), %zmm0
+        vaddpd    {rn-sae}, %zmm3, %zmm11, %zmm14
+        vsubpd    {rn-sae}, %zmm0, %zmm4, %zmm15
+
+/* (Th-1)+Th*(Tlr + R+ R*Poly) */
+        vfmadd213pd {rn-sae}, %zmm15, %zmm14, %zmm4
+        vorpd     %zmm1, %zmm4, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm2, 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_dexpm1_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_expm18,@function
+       .size   __svml_expm18,.-__svml_expm18
+..LN__svml_expm18.0:
+
+.L_2__routine_start___svml_dexpm1_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dexpm1_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movsd     (%rdi), %xmm6
+        pxor      %xmm0, %xmm0
+        movzwl    6(%rdi), %edx
+        comisd    %xmm6, %xmm0
+        ja        .LBL_2_18
+
+
+        andl      $32752, %edx
+        shrl      $4, %edx
+        movsd     %xmm6, -8(%rsp)
+        cmpl      $2047, %edx
+        je        .LBL_2_19
+
+
+        cmpl      $970, %edx
+        jle       .LBL_2_16
+
+
+        movsd     1080+_imldExpHATab(%rip), %xmm0
+        comisd    %xmm6, %xmm0
+        jb        .LBL_2_15
+
+
+        comisd    1096+_imldExpHATab(%rip), %xmm6
+        jb        .LBL_2_14
+
+
+        movsd     1024+_imldExpHATab(%rip), %xmm0
+        movaps    %xmm6, %xmm5
+        mulsd     %xmm6, %xmm0
+        lea       _imldExpHATab(%rip), %r10
+        movsd     %xmm0, -24(%rsp)
+        movsd     -24(%rsp), %xmm1
+        movq      1136+_imldExpHATab(%rip), %rdx
+        movq      %rdx, -8(%rsp)
+        addsd     1032+_imldExpHATab(%rip), %xmm1
+        movsd     %xmm1, -16(%rsp)
+        movsd     -16(%rsp), %xmm2
+        movl      -16(%rsp), %r8d
+        movl      %r8d, %ecx
+        andl      $63, %r8d
+        subsd     1032+_imldExpHATab(%rip), %xmm2
+        movsd     %xmm2, -24(%rsp)
+        lea       1(%r8,%r8), %r9d
+        movsd     -24(%rsp), %xmm3
+        lea       (%r8,%r8), %edi
+        mulsd     1104+_imldExpHATab(%rip), %xmm3
+        movsd     -24(%rsp), %xmm4
+        subsd     %xmm3, %xmm5
+        mulsd     1112+_imldExpHATab(%rip), %xmm4
+        movsd     1072+_imldExpHATab(%rip), %xmm2
+        subsd     %xmm4, %xmm5
+        mulsd     %xmm5, %xmm2
+        shrl      $6, %ecx
+        addsd     1064+_imldExpHATab(%rip), %xmm2
+        comisd    1088+_imldExpHATab(%rip), %xmm6
+        mulsd     %xmm5, %xmm2
+        movsd     (%r10,%rdi,8), %xmm0
+        lea       1023(%rcx), %edx
+        addsd     1056+_imldExpHATab(%rip), %xmm2
+        mulsd     %xmm5, %xmm2
+        addsd     1048+_imldExpHATab(%rip), %xmm2
+        mulsd     %xmm5, %xmm2
+        addsd     1040+_imldExpHATab(%rip), %xmm2
+        mulsd     %xmm5, %xmm2
+        mulsd     %xmm5, %xmm2
+        addsd     %xmm5, %xmm2
+        addsd     (%r10,%r9,8), %xmm2
+        mulsd     %xmm0, %xmm2
+        jb        .LBL_2_10
+
+
+        andl      $2047, %edx
+        addsd     %xmm0, %xmm2
+        cmpl      $2046, %edx
+        ja        .LBL_2_9
+
+
+        movq      1136+_imldExpHATab(%rip), %rcx
+        shrq      $48, %rcx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm0, %xmm2
+        movsd     %xmm2, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        decl      %edx
+        andl      $2047, %edx
+        movzwl    -2(%rsp), %ecx
+        shll      $4, %edx
+        andl      $-32753, %ecx
+        orl       %edx, %ecx
+        movw      %cx, -2(%rsp)
+        movsd     -8(%rsp), %xmm0
+        mulsd     %xmm0, %xmm2
+        mulsd     1152+_imldExpHATab(%rip), %xmm2
+        movsd     %xmm2, (%rsi)
+        ret
+
+.LBL_2_10:
+
+        addl      $1083, %ecx
+        andl      $2047, %ecx
+        movl      %ecx, %eax
+        movzwl    -2(%rsp), %edx
+        shll      $4, %eax
+        andl      $-32753, %edx
+        orl       %eax, %edx
+        movw      %dx, -2(%rsp)
+        movsd     -8(%rsp), %xmm1
+        mulsd     %xmm1, %xmm2
+        mulsd     %xmm0, %xmm1
+        movaps    %xmm1, %xmm0
+        addsd     %xmm2, %xmm0
+        cmpl      $50, %ecx
+        ja        .LBL_2_12
+
+
+        mulsd     1160+_imldExpHATab(%rip), %xmm0
+        movsd     %xmm0, (%rsi)
+        jmp       .LBL_2_13
+
+.LBL_2_12:
+
+        movsd     %xmm0, -72(%rsp)
+        movsd     -72(%rsp), %xmm0
+        subsd     %xmm0, %xmm1
+        movsd     %xmm1, -64(%rsp)
+        movsd     -64(%rsp), %xmm1
+        addsd     %xmm2, %xmm1
+        movsd     %xmm1, -64(%rsp)
+        movsd     -72(%rsp), %xmm2
+        mulsd     1168+_imldExpHATab(%rip), %xmm2
+        movsd     %xmm2, -56(%rsp)
+        movsd     -72(%rsp), %xmm4
+        movsd     -56(%rsp), %xmm3
+        addsd     %xmm3, %xmm4
+        movsd     %xmm4, -48(%rsp)
+        movsd     -48(%rsp), %xmm6
+        movsd     -56(%rsp), %xmm5
+        subsd     %xmm5, %xmm6
+        movsd     %xmm6, -40(%rsp)
+        movsd     -72(%rsp), %xmm8
+        movsd     -40(%rsp), %xmm7
+        subsd     %xmm7, %xmm8
+        movsd     %xmm8, -32(%rsp)
+        movsd     -64(%rsp), %xmm10
+        movsd     -32(%rsp), %xmm9
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, -32(%rsp)
+        movsd     -40(%rsp), %xmm11
+        mulsd     1160+_imldExpHATab(%rip), %xmm11
+        movsd     %xmm11, -40(%rsp)
+        movsd     -32(%rsp), %xmm12
+        mulsd     1160+_imldExpHATab(%rip), %xmm12
+        movsd     %xmm12, -32(%rsp)
+        movsd     -40(%rsp), %xmm14
+        movsd     -32(%rsp), %xmm13
+        addsd     %xmm13, %xmm14
+        movsd     %xmm14, (%rsi)
+
+.LBL_2_13:
+
+        movl      $4, %eax
+        ret
+
+.LBL_2_14:
+
+        movsd     1120+_imldExpHATab(%rip), %xmm0
+        movl      $4, %eax
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_15:
+
+        movsd     1128+_imldExpHATab(%rip), %xmm0
+        movl      $3, %eax
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_16:
+
+        movsd     1144+_imldExpHATab(%rip), %xmm0
+        addsd     %xmm6, %xmm0
+        movsd     %xmm0, (%rsi)
+
+
+        ret
+
+.LBL_2_18:
+
+        movq      $0xbff0000000000000, %rax
+        movq      %rax, (%rsi)
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_19:
+
+        movb      -1(%rsp), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_21
+
+.LBL_2_20:
+
+        mulsd     %xmm6, %xmm6
+        movsd     %xmm6, (%rsi)
+        ret
+
+.LBL_2_21:
+
+        testl     $1048575, -4(%rsp)
+        jne       .LBL_2_20
+
+
+        cmpl      $0, -8(%rsp)
+        jne       .LBL_2_20
+
+
+        movq      1136+_imldExpHATab(%rip), %rdx
+        movq      %rdx, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dexpm1_cout_rare_internal,@function
+       .size   __svml_dexpm1_cout_rare_internal,.-__svml_dexpm1_cout_rare_internal
+..LN__svml_dexpm1_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dexpm1_data_internal_avx512:
+       .long   0
+       .long   1072693248
+       .long   1828292879
+       .long   1072739672
+       .long   1014845819
+       .long   1072788152
+       .long   1853186616
+       .long   1072838778
+       .long   171030293
+       .long   1072891646
+       .long   1276261410
+       .long   1072946854
+       .long   3577096743
+       .long   1073004506
+       .long   3712504873
+       .long   1073064711
+       .long   1719614413
+       .long   1073127582
+       .long   1944781191
+       .long   1073193236
+       .long   1110089947
+       .long   1073261797
+       .long   2191782032
+       .long   1073333393
+       .long   2572866477
+       .long   1073408159
+       .long   3716502172
+       .long   1073486235
+       .long   3707479175
+       .long   1073567768
+       .long   2728693978
+       .long   1073652911
+       .long   0
+       .long   0
+       .long   1568897901
+       .long   1016568486
+       .long   3936719688
+       .long   3162512149
+       .long   3819481236
+       .long   1016499965
+       .long   1303423926
+       .long   1015238005
+       .long   2804567149
+       .long   1015390024
+       .long   3145379760
+       .long   1014403278
+       .long   3793507337
+       .long   1016095713
+       .long   3210617384
+       .long   3163796463
+       .long   3108873501
+       .long   3162190556
+       .long   3253791412
+       .long   1015920431
+       .long   730975783
+       .long   1014083580
+       .long   2462790535
+       .long   1015814775
+       .long   816778419
+       .long   1014197934
+       .long   2789017511
+       .long   1014276997
+       .long   2413007344
+       .long   3163551506
+       .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   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .long   1287323204
+       .long   1082531232
+       .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   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   993624127
+       .long   1014676638
+       .long   0
+       .long   3227516928
+       .long   0
+       .long   3227516928
+       .long   0
+       .long   3227516928
+       .long   0
+       .long   3227516928
+       .long   0
+       .long   3227516928
+       .long   0
+       .long   3227516928
+       .long   0
+       .long   3227516928
+       .long   0
+       .long   3227516928
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4106095538
+       .long   1056571896
+       .long   4106095538
+       .long   1056571896
+       .long   4106095538
+       .long   1056571896
+       .long   4106095538
+       .long   1056571896
+       .long   4106095538
+       .long   1056571896
+       .long   4106095538
+       .long   1056571896
+       .long   4106095538
+       .long   1056571896
+       .long   4106095538
+       .long   1056571896
+       .long   271596938
+       .long   1059717636
+       .long   271596938
+       .long   1059717636
+       .long   271596938
+       .long   1059717636
+       .long   271596938
+       .long   1059717636
+       .long   271596938
+       .long   1059717636
+       .long   271596938
+       .long   1059717636
+       .long   271596938
+       .long   1059717636
+       .long   271596938
+       .long   1059717636
+       .long   2383825455
+       .long   1062650307
+       .long   2383825455
+       .long   1062650307
+       .long   2383825455
+       .long   1062650307
+       .long   2383825455
+       .long   1062650307
+       .long   2383825455
+       .long   1062650307
+       .long   2383825455
+       .long   1062650307
+       .long   2383825455
+       .long   1062650307
+       .long   2383825455
+       .long   1062650307
+       .long   277238292
+       .long   1065423121
+       .long   277238292
+       .long   1065423121
+       .long   277238292
+       .long   1065423121
+       .long   277238292
+       .long   1065423121
+       .long   277238292
+       .long   1065423121
+       .long   277238292
+       .long   1065423121
+       .long   277238292
+       .long   1065423121
+       .long   277238292
+       .long   1065423121
+       .long   1420639494
+       .long   1067799893
+       .long   1420639494
+       .long   1067799893
+       .long   1420639494
+       .long   1067799893
+       .long   1420639494
+       .long   1067799893
+       .long   1420639494
+       .long   1067799893
+       .long   1420639494
+       .long   1067799893
+       .long   1420639494
+       .long   1067799893
+       .long   1420639494
+       .long   1067799893
+       .long   1431656022
+       .long   1069897045
+       .long   1431656022
+       .long   1069897045
+       .long   1431656022
+       .long   1069897045
+       .long   1431656022
+       .long   1069897045
+       .long   1431656022
+       .long   1069897045
+       .long   1431656022
+       .long   1069897045
+       .long   1431656022
+       .long   1069897045
+       .long   1431656022
+       .long   1069897045
+       .long   162
+       .long   1071644672
+       .long   162
+       .long   1071644672
+       .long   162
+       .long   1071644672
+       .long   162
+       .long   1071644672
+       .long   162
+       .long   1071644672
+       .long   162
+       .long   1071644672
+       .long   162
+       .long   1071644672
+       .long   162
+       .long   1071644672
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   3220176896
+       .type   __svml_dexpm1_data_internal_avx512,@object
+       .size   __svml_dexpm1_data_internal_avx512,1344
+       .align 32
+_imldExpHATab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   1048019041
+       .long   1072704666
+       .long   2631457885
+       .long   3161546771
+       .long   3541402996
+       .long   1072716208
+       .long   896005651
+       .long   1015861842
+       .long   410360776
+       .long   1072727877
+       .long   1642514529
+       .long   1012987726
+       .long   1828292879
+       .long   1072739672
+       .long   1568897901
+       .long   1016568486
+       .long   852742562
+       .long   1072751596
+       .long   1882168529
+       .long   1010744893
+       .long   3490863953
+       .long   1072763649
+       .long   707771662
+       .long   3163903570
+       .long   2930322912
+       .long   1072775834
+       .long   3117806614
+       .long   3163670819
+       .long   1014845819
+       .long   1072788152
+       .long   3936719688
+       .long   3162512149
+       .long   3949972341
+       .long   1072800603
+       .long   1058231231
+       .long   1015777676
+       .long   828946858
+       .long   1072813191
+       .long   1044000608
+       .long   1016786167
+       .long   2288159958
+       .long   1072825915
+       .long   1151779725
+       .long   1015705409
+       .long   1853186616
+       .long   1072838778
+       .long   3819481236
+       .long   1016499965
+       .long   1709341917
+       .long   1072851781
+       .long   2552227826
+       .long   1015039787
+       .long   4112506593
+       .long   1072864925
+       .long   1829350193
+       .long   1015216097
+       .long   2799960843
+       .long   1072878213
+       .long   1913391796
+       .long   1015756674
+       .long   171030293
+       .long   1072891646
+       .long   1303423926
+       .long   1015238005
+       .long   2992903935
+       .long   1072905224
+       .long   1574172746
+       .long   1016061241
+       .long   926591435
+       .long   1072918951
+       .long   3427487848
+       .long   3163704045
+       .long   887463927
+       .long   1072932827
+       .long   1049900754
+       .long   3161575912
+       .long   1276261410
+       .long   1072946854
+       .long   2804567149
+       .long   1015390024
+       .long   569847338
+       .long   1072961034
+       .long   1209502043
+       .long   3159926671
+       .long   1617004845
+       .long   1072975368
+       .long   1623370769
+       .long   1011049453
+       .long   3049340112
+       .long   1072989858
+       .long   3667985273
+       .long   1013894369
+       .long   3577096743
+       .long   1073004506
+       .long   3145379760
+       .long   1014403278
+       .long   1990012071
+       .long   1073019314
+       .long   7447438
+       .long   3163526196
+       .long   1453150082
+       .long   1073034283
+       .long   3171891295
+       .long   3162037958
+       .long   917841882
+       .long   1073049415
+       .long   419288974
+       .long   1016280325
+       .long   3712504873
+       .long   1073064711
+       .long   3793507337
+       .long   1016095713
+       .long   363667784
+       .long   1073080175
+       .long   728023093
+       .long   1016345318
+       .long   2956612997
+       .long   1073095806
+       .long   1005538728
+       .long   3163304901
+       .long   2186617381
+       .long   1073111608
+       .long   2018924632
+       .long   3163803357
+       .long   1719614413
+       .long   1073127582
+       .long   3210617384
+       .long   3163796463
+       .long   1013258799
+       .long   1073143730
+       .long   3094194670
+       .long   3160631279
+       .long   3907805044
+       .long   1073160053
+       .long   2119843535
+       .long   3161988964
+       .long   1447192521
+       .long   1073176555
+       .long   508946058
+       .long   3162904882
+       .long   1944781191
+       .long   1073193236
+       .long   3108873501
+       .long   3162190556
+       .long   919555682
+       .long   1073210099
+       .long   2882956373
+       .long   1013312481
+       .long   2571947539
+       .long   1073227145
+       .long   4047189812
+       .long   3163777462
+       .long   2604962541
+       .long   1073244377
+       .long   3631372142
+       .long   3163870288
+       .long   1110089947
+       .long   1073261797
+       .long   3253791412
+       .long   1015920431
+       .long   2568320822
+       .long   1073279406
+       .long   1509121860
+       .long   1014756995
+       .long   2966275557
+       .long   1073297207
+       .long   2339118633
+       .long   3160254904
+       .long   2682146384
+       .long   1073315202
+       .long   586480042
+       .long   3163702083
+       .long   2191782032
+       .long   1073333393
+       .long   730975783
+       .long   1014083580
+       .long   2069751141
+       .long   1073351782
+       .long   576856675
+       .long   3163014404
+       .long   2990417245
+       .long   1073370371
+       .long   3552361237
+       .long   3163667409
+       .long   1434058175
+       .long   1073389163
+       .long   1853053619
+       .long   1015310724
+       .long   2572866477
+       .long   1073408159
+       .long   2462790535
+       .long   1015814775
+       .long   3092190715
+       .long   1073427362
+       .long   1457303226
+       .long   3159737305
+       .long   4076559943
+       .long   1073446774
+       .long   950899508
+       .long   3160987380
+       .long   2420883922
+       .long   1073466398
+       .long   174054861
+       .long   1014300631
+       .long   3716502172
+       .long   1073486235
+       .long   816778419
+       .long   1014197934
+       .long   777507147
+       .long   1073506289
+       .long   3507050924
+       .long   1015341199
+       .long   3706687593
+       .long   1073526560
+       .long   1821514088
+       .long   1013410604
+       .long   1242007932
+       .long   1073547053
+       .long   1073740399
+       .long   3163532637
+       .long   3707479175
+       .long   1073567768
+       .long   2789017511
+       .long   1014276997
+       .long   64696965
+       .long   1073588710
+       .long   3586233004
+       .long   1015962192
+       .long   863738719
+       .long   1073609879
+       .long   129252895
+       .long   3162690849
+       .long   3884662774
+       .long   1073631278
+       .long   1614448851
+       .long   1014281732
+       .long   2728693978
+       .long   1073652911
+       .long   2413007344
+       .long   3163551506
+       .long   3999357479
+       .long   1073674779
+       .long   1101668360
+       .long   1015989180
+       .long   1533953344
+       .long   1073696886
+       .long   835814894
+       .long   1015702697
+       .long   2174652632
+       .long   1073719233
+       .long   1301400989
+       .long   1014466875
+       .long   1697350398
+       .long   1079448903
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1071644672
+       .long   1431652600
+       .long   1069897045
+       .long   1431670732
+       .long   1067799893
+       .long   984555731
+       .long   1065423122
+       .long   472530941
+       .long   1062650218
+       .long   4277811695
+       .long   1082535490
+       .long   3715808466
+       .long   3230016299
+       .long   3576508497
+       .long   3230091536
+       .long   4277796864
+       .long   1065758274
+       .long   3164486458
+       .long   1025308570
+       .long   1
+       .long   1048576
+       .long   4294967295
+       .long   2146435071
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   1009778688
+       .long   0
+       .long   1106771968
+       .type   _imldExpHATab,@object
+       .size   _imldExpHATab,1176
+       .align 8
+.L_2il0floatpacket.77:
+       .long   0x00000000,0xbff00000
+       .type   .L_2il0floatpacket.77,@object
+       .size   .L_2il0floatpacket.77,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_expm1_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_expm1_s_la.s
new file mode 100644 (file)
index 0000000..3ae3336
--- /dev/null
@@ -0,0 +1,593 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *  After computing exp(x) in high-low parts, an accurate computation is performed to obtain exp(x)-1
+ *  *  Typical exp() implementation, except that:
+ *  *   - tables are small (32 elements), allowing for fast gathers
+ *  *   - all arguments processed in the main path
+ *  *       - final VSCALEF assists branch-free design (correct overflow/underflow and special case responses)
+ *  *       - a VAND is used to ensure the reduced argument |R|<2, even for large inputs
+ *  *       - RZ mode used to avoid oveflow to +/-Inf for x*log2(e); helps with special case handling
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_expm1f16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_expm1f16
+
+__svml_expm1f16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   256+__svml_sexpm1_data_internal_avx512(%rip), %zmm5
+        vmovups   320+__svml_sexpm1_data_internal_avx512(%rip), %zmm3
+        vmovups   512+__svml_sexpm1_data_internal_avx512(%rip), %zmm8
+        vmovups   576+__svml_sexpm1_data_internal_avx512(%rip), %zmm4
+        vmovups   __svml_sexpm1_data_internal_avx512(%rip), %zmm6
+
+/* polynomial */
+        vmovups   704+__svml_sexpm1_data_internal_avx512(%rip), %zmm9
+        vmovups   768+__svml_sexpm1_data_internal_avx512(%rip), %zmm12
+        vmovups   128+__svml_sexpm1_data_internal_avx512(%rip), %zmm11
+        vmovups   384+__svml_sexpm1_data_internal_avx512(%rip), %zmm2
+
+/* Th - 1 */
+        vmovups   832+__svml_sexpm1_data_internal_avx512(%rip), %zmm14
+        vmovaps   %zmm0, %zmm1
+
+/* 2^(52-5)*1.5 + x * log2(e) */
+        vfmadd213ps {rn-sae}, %zmm3, %zmm1, %zmm5
+        vcmpps    $29, {sae}, %zmm2, %zmm1, %k0
+
+/* Z0 ~ x*log2(e), rounded to 5 fractional bits */
+        vsubps    {rn-sae}, %zmm3, %zmm5, %zmm7
+        vpermt2ps 64+__svml_sexpm1_data_internal_avx512(%rip), %zmm5, %zmm6
+        vpermt2ps 192+__svml_sexpm1_data_internal_avx512(%rip), %zmm5, %zmm11
+        vandps    448+__svml_sexpm1_data_internal_avx512(%rip), %zmm1, %zmm0
+
+/* R = x - Z0*log(2) */
+        vfnmadd213ps {rn-sae}, %zmm1, %zmm7, %zmm8
+
+/* scale Th */
+        vscalefps {rn-sae}, %zmm7, %zmm6, %zmm2
+        vfnmadd231ps {rn-sae}, %zmm7, %zmm4, %zmm8
+        kmovw     %k0, %edx
+
+/* ensure |R|<2 even for special cases */
+        vandps    640+__svml_sexpm1_data_internal_avx512(%rip), %zmm8, %zmm13
+        vsubps    {rn-sae}, %zmm14, %zmm2, %zmm8
+        vmulps    {rn-sae}, %zmm13, %zmm13, %zmm10
+        vfmadd231ps {rn-sae}, %zmm13, %zmm9, %zmm12
+
+/* Tlr + R+ R2*Poly */
+        vfmadd213ps {rn-sae}, %zmm11, %zmm10, %zmm12
+        vaddps    {rn-sae}, %zmm13, %zmm12, %zmm15
+
+/* (Th-1)+Th*(Tlr + R+ R*Poly) */
+        vfmadd213ps {rn-sae}, %zmm8, %zmm15, %zmm2
+        vorps     %zmm0, %zmm2, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm1, 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_sexpm1_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_expm1f16,@function
+       .size   __svml_expm1f16,.-__svml_expm1f16
+..LN__svml_expm1f16.0:
+
+.L_2__routine_start___svml_sexpm1_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_sexpm1_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movss     (%rdi), %xmm8
+        pxor      %xmm0, %xmm0
+        comiss    %xmm8, %xmm0
+        ja        .LBL_2_8
+
+
+        movzwl    2(%rdi), %edx
+        andl      $32640, %edx
+        cmpl      $32640, %edx
+        je        .LBL_2_9
+
+
+        movss     .L_2il0floatpacket.45(%rip), %xmm0
+        comiss    %xmm8, %xmm0
+        jb        .LBL_2_6
+
+
+        comiss    .L_2il0floatpacket.46(%rip), %xmm8
+        jb        .LBL_2_7
+
+
+        movss     .L_2il0floatpacket.48(%rip), %xmm0
+        mulss     %xmm8, %xmm0
+        movss     %xmm0, -24(%rsp)
+        movss     -24(%rsp), %xmm1
+        movss     .L_2il0floatpacket.49(%rip), %xmm2
+        movss     .L_2il0floatpacket.56(%rip), %xmm6
+        addss     %xmm2, %xmm1
+        movss     %xmm1, -20(%rsp)
+        movss     -20(%rsp), %xmm3
+        movss     .L_2il0floatpacket.52(%rip), %xmm7
+        subss     %xmm2, %xmm3
+        movss     %xmm3, -24(%rsp)
+        movss     -24(%rsp), %xmm4
+        mulss     .L_2il0floatpacket.50(%rip), %xmm4
+        movss     -24(%rsp), %xmm5
+        subss     %xmm4, %xmm8
+        mulss     .L_2il0floatpacket.51(%rip), %xmm5
+        movl      -20(%rsp), %edx
+        subss     %xmm5, %xmm8
+        mulss     %xmm8, %xmm6
+        shll      $23, %edx
+        addss     .L_2il0floatpacket.55(%rip), %xmm6
+        mulss     %xmm8, %xmm6
+        addss     .L_2il0floatpacket.54(%rip), %xmm6
+        mulss     %xmm8, %xmm6
+        addss     .L_2il0floatpacket.53(%rip), %xmm6
+        mulss     %xmm8, %xmm6
+        addss     %xmm7, %xmm6
+        mulss     %xmm8, %xmm6
+        addss     %xmm6, %xmm7
+        movss     %xmm7, -16(%rsp)
+        addl      -16(%rsp), %edx
+        movl      %edx, (%rsi)
+        ret
+
+.LBL_2_6:
+
+        movss     .L_2il0floatpacket.47(%rip), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, -16(%rsp)
+        movl      -16(%rsp), %eax
+        movl      %eax, (%rsi)
+        movl      $3, %eax
+
+.LBL_2_7:
+
+        ret
+
+.LBL_2_8:
+
+        movl      $-1082130432, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        movb      3(%rdi), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_11
+
+.LBL_2_10:
+
+        mulss     %xmm8, %xmm8
+        movss     %xmm8, (%rsi)
+        ret
+
+.LBL_2_11:
+
+        testl     $8388607, (%rdi)
+        jne       .LBL_2_10
+
+
+        movss     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sexpm1_cout_rare_internal,@function
+       .size   __svml_sexpm1_cout_rare_internal,.-__svml_sexpm1_cout_rare_internal
+..LN__svml_sexpm1_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_sexpm1_data_internal_avx512:
+       .long   1065353216
+       .long   1065536903
+       .long   1065724611
+       .long   1065916431
+       .long   1066112450
+       .long   1066312762
+       .long   1066517459
+       .long   1066726640
+       .long   1066940400
+       .long   1067158842
+       .long   1067382066
+       .long   1067610179
+       .long   1067843287
+       .long   1068081499
+       .long   1068324927
+       .long   1068573686
+       .long   1068827891
+       .long   1069087663
+       .long   1069353124
+       .long   1069624397
+       .long   1069901610
+       .long   1070184894
+       .long   1070474380
+       .long   1070770206
+       .long   1071072509
+       .long   1071381432
+       .long   1071697119
+       .long   1072019719
+       .long   1072349383
+       .long   1072686266
+       .long   1073030525
+       .long   1073382323
+       .long   0
+       .long   3007986186
+       .long   860277610
+       .long   3010384254
+       .long   2991457809
+       .long   3008462297
+       .long   860562562
+       .long   3004532446
+       .long   856238081
+       .long   3001480295
+       .long   857441778
+       .long   815380209
+       .long   3003456168
+       .long   3001196762
+       .long   2986372182
+       .long   3006683458
+       .long   848495278
+       .long   851809756
+       .long   3003311522
+       .long   2995654817
+       .long   833868005
+       .long   3004843819
+       .long   835836658
+       .long   3003498340
+       .long   2994528642
+       .long   3002229827
+       .long   2981408986
+       .long   2983889551
+       .long   2983366846
+       .long   3000350873
+       .long   833659207
+       .long   2987748092
+       .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   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   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .long   1118652779
+       .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   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   2969756424
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1042983923
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .long   1056964854
+       .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
+       .type   __svml_sexpm1_data_internal_avx512,@object
+       .size   __svml_sexpm1_data_internal_avx512,896
+       .align 4
+.L_2il0floatpacket.44:
+       .long   0xbf800000
+       .type   .L_2il0floatpacket.44,@object
+       .size   .L_2il0floatpacket.44,4
+       .align 4
+.L_2il0floatpacket.45:
+       .long   0x42b17217
+       .type   .L_2il0floatpacket.45,@object
+       .size   .L_2il0floatpacket.45,4
+       .align 4
+.L_2il0floatpacket.46:
+       .long   0xc2cff1b4
+       .type   .L_2il0floatpacket.46,@object
+       .size   .L_2il0floatpacket.46,4
+       .align 4
+.L_2il0floatpacket.47:
+       .long   0x7f7fffff
+       .type   .L_2il0floatpacket.47,@object
+       .size   .L_2il0floatpacket.47,4
+       .align 4
+.L_2il0floatpacket.48:
+       .long   0x3fb8aa3b
+       .type   .L_2il0floatpacket.48,@object
+       .size   .L_2il0floatpacket.48,4
+       .align 4
+.L_2il0floatpacket.49:
+       .long   0x4b400000
+       .type   .L_2il0floatpacket.49,@object
+       .size   .L_2il0floatpacket.49,4
+       .align 4
+.L_2il0floatpacket.50:
+       .long   0x3f317200
+       .type   .L_2il0floatpacket.50,@object
+       .size   .L_2il0floatpacket.50,4
+       .align 4
+.L_2il0floatpacket.51:
+       .long   0x35bfbe8e
+       .type   .L_2il0floatpacket.51,@object
+       .size   .L_2il0floatpacket.51,4
+       .align 4
+.L_2il0floatpacket.52:
+       .long   0x3f800001
+       .type   .L_2il0floatpacket.52,@object
+       .size   .L_2il0floatpacket.52,4
+       .align 4
+.L_2il0floatpacket.53:
+       .long   0x3efffe85
+       .type   .L_2il0floatpacket.53,@object
+       .size   .L_2il0floatpacket.53,4
+       .align 4
+.L_2il0floatpacket.54:
+       .long   0x3e2aa9c6
+       .type   .L_2il0floatpacket.54,@object
+       .size   .L_2il0floatpacket.54,4
+       .align 4
+.L_2il0floatpacket.55:
+       .long   0x3d2bb1b6
+       .type   .L_2il0floatpacket.55,@object
+       .size   .L_2il0floatpacket.55,4
+       .align 4
+.L_2il0floatpacket.56:
+       .long   0x3c0950ef
+       .type   .L_2il0floatpacket.56,@object
+       .size   .L_2il0floatpacket.56,4
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_log10_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_log10_d_la.s
new file mode 100644 (file)
index 0000000..58313e4
--- /dev/null
@@ -0,0 +1,1124 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *  log10(x) = VGETEXP(x)*log10(2) + log10(VGETMANT(x))
+ *  *       VGETEXP, VGETMANT will correctly treat special cases too (including denormals)
+ *  *   mx = VGETMANT(x) is in [1,2) for all x>=0
+ *  *   log10(mx) = -log10(RCP(mx)) + log10(1 +(mx*RCP(mx)-1))
+ *  *      RCP(mx) is rounded to 4 fractional bits,
+ *  *      and the table lookup for log(RCP(mx)) is based on a small permute instruction
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_log108_z0_0:
+
+       .align    16,0x90
+       .globl __svml_log108
+
+__svml_log108:
+
+
+       .cfi_startproc
+..L2:
+
+        pushq     %rbp
+       .cfi_def_cfa_offset 16
+        movq      %rsp, %rbp
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+        andq      $-64, %rsp
+        subq      $192, %rsp
+        vmovaps   %zmm0, %zmm7
+
+/* GetMant(x), normalized to [1,2) for x>=0, NaN for x<0 */
+        vgetmantpd $8, {sae}, %zmm7, %zmm6
+        vmovups   128+__svml_dlog10_data_internal_avx512(%rip), %zmm3
+        vmovups   512+__svml_dlog10_data_internal_avx512(%rip), %zmm12
+        vmovups   640+__svml_dlog10_data_internal_avx512(%rip), %zmm13
+
+/* Start polynomial evaluation */
+        vmovups   256+__svml_dlog10_data_internal_avx512(%rip), %zmm10
+        vmovups   320+__svml_dlog10_data_internal_avx512(%rip), %zmm1
+        vmovups   384+__svml_dlog10_data_internal_avx512(%rip), %zmm11
+        vmovups   448+__svml_dlog10_data_internal_avx512(%rip), %zmm14
+
+/* Prepare exponent correction: DblRcp<0.75? */
+        vmovups   192+__svml_dlog10_data_internal_avx512(%rip), %zmm2
+
+/* Table lookup */
+        vmovups   __svml_dlog10_data_internal_avx512(%rip), %zmm5
+
+/* GetExp(x) */
+        vgetexppd {sae}, %zmm7, %zmm0
+
+/* DblRcp ~ 1/Mantissa */
+        vrcp14pd  %zmm6, %zmm8
+
+/* x<=0? */
+        vfpclasspd $94, %zmm7, %k0
+
+/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */
+        vrndscalepd $88, {sae}, %zmm8, %zmm4
+        vmovups   576+__svml_dlog10_data_internal_avx512(%rip), %zmm8
+        kmovw     %k0, %edx
+
+/* Reduced argument: R = DblRcp*Mantissa - 1 */
+        vfmsub213pd {rn-sae}, %zmm3, %zmm4, %zmm6
+        vcmppd    $17, {sae}, %zmm2, %zmm4, %k1
+        vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8
+        vmovups   704+__svml_dlog10_data_internal_avx512(%rip), %zmm12
+        vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm1
+        vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14
+        vmovups   768+__svml_dlog10_data_internal_avx512(%rip), %zmm2
+
+/* R^2 */
+        vmulpd    {rn-sae}, %zmm6, %zmm6, %zmm15
+        vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12
+
+/* Prepare table index */
+        vpsrlq    $48, %zmm4, %zmm9
+
+/* add 1 to Expon if DblRcp<0.75 */
+        vaddpd    {rn-sae}, %zmm3, %zmm0, %zmm0{%k1}
+        vmulpd    {rn-sae}, %zmm15, %zmm15, %zmm13
+        vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm1
+        vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8
+        vpermt2pd 64+__svml_dlog10_data_internal_avx512(%rip), %zmm9, %zmm5
+
+/* polynomial */
+        vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm1
+        vfmadd213pd {rn-sae}, %zmm2, %zmm6, %zmm1
+        vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm6
+        vmovups   832+__svml_dlog10_data_internal_avx512(%rip), %zmm1
+        vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm7, 64(%rsp)
+        vmovups   %zmm0, 128(%rsp)
+        je        .LBL_1_2
+
+
+        xorl      %eax, %eax
+
+
+        vzeroupper
+        kmovw     %k4, 24(%rsp)
+        kmovw     %k5, 16(%rsp)
+        kmovw     %k6, 8(%rsp)
+        kmovw     %k7, (%rsp)
+        movq      %rsi, 40(%rsp)
+        movq      %rdi, 32(%rsp)
+        movq      %r12, 56(%rsp)
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_7:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_10
+
+.LBL_1_8:
+
+        incl      %r12d
+        cmpl      $8, %r12d
+        jl        .LBL_1_7
+
+
+        kmovw     24(%rsp), %k4
+       .cfi_restore 122
+        kmovw     16(%rsp), %k5
+       .cfi_restore 123
+        kmovw     8(%rsp), %k6
+       .cfi_restore 124
+        kmovw     (%rsp), %k7
+       .cfi_restore 125
+        vmovups   128(%rsp), %zmm0
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+
+        call      __svml_dlog10_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_log108,@function
+       .size   __svml_log108,.-__svml_log108
+..LN__svml_log108.0:
+
+.L_2__routine_start___svml_dlog10_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dlog10_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    6(%rdi), %edx
+        andl      $32752, %edx
+        cmpl      $32752, %edx
+        je        .LBL_2_12
+
+
+        movsd     (%rdi), %xmm2
+        xorl      %ecx, %ecx
+        movsd     %xmm2, -8(%rsp)
+        movzwl    -2(%rsp), %edx
+        testl     $32752, %edx
+        jne       .LBL_2_4
+
+
+        movsd     1600+__dlog10_la_CoutTab(%rip), %xmm0
+        movl      $-60, %ecx
+        mulsd     %xmm0, %xmm2
+        movsd     %xmm2, -8(%rsp)
+
+.LBL_2_4:
+
+        movsd     1608+__dlog10_la_CoutTab(%rip), %xmm0
+        comisd    %xmm0, %xmm2
+        jbe       .LBL_2_8
+
+
+        movaps    %xmm2, %xmm1
+        subsd     .L_2il0floatpacket.89(%rip), %xmm1
+        movsd     %xmm1, -16(%rsp)
+        andb      $127, -9(%rsp)
+        movsd     -16(%rsp), %xmm0
+        comisd    1592+__dlog10_la_CoutTab(%rip), %xmm0
+        jbe       .LBL_2_7
+
+
+        movsd     %xmm2, -16(%rsp)
+        pxor      %xmm7, %xmm7
+        movzwl    -10(%rsp), %edi
+        lea       __dlog10_la_CoutTab(%rip), %r10
+        andl      $-32753, %edi
+        addl      $16368, %edi
+        movw      %di, -10(%rsp)
+        movsd     -16(%rsp), %xmm3
+        movaps    %xmm3, %xmm1
+        movaps    %xmm3, %xmm2
+        movsd     1688+__dlog10_la_CoutTab(%rip), %xmm5
+        movzwl    -2(%rsp), %edx
+        andl      $32752, %edx
+        addsd     1576+__dlog10_la_CoutTab(%rip), %xmm1
+        addsd     1584+__dlog10_la_CoutTab(%rip), %xmm2
+        movsd     %xmm1, -24(%rsp)
+        movl      -24(%rsp), %r8d
+        movsd     %xmm2, -24(%rsp)
+        andl      $127, %r8d
+        movsd     -24(%rsp), %xmm8
+        movsd     1560+__dlog10_la_CoutTab(%rip), %xmm9
+        movsd     1568+__dlog10_la_CoutTab(%rip), %xmm0
+        shrl      $4, %edx
+        subsd     1584+__dlog10_la_CoutTab(%rip), %xmm8
+        lea       (%r8,%r8,2), %r9d
+        movsd     (%r10,%r9,8), %xmm6
+        lea       -1023(%rcx,%rdx), %ecx
+        cvtsi2sd  %ecx, %xmm7
+        subsd     %xmm8, %xmm3
+        mulsd     %xmm6, %xmm8
+        mulsd     %xmm7, %xmm9
+        subsd     1624+__dlog10_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm6
+        mulsd     %xmm0, %xmm7
+        addsd     8(%r10,%r9,8), %xmm9
+        addsd     16(%r10,%r9,8), %xmm7
+        addsd     %xmm8, %xmm9
+        movaps    %xmm8, %xmm4
+        addsd     %xmm6, %xmm4
+        mulsd     %xmm4, %xmm5
+        addsd     1680+__dlog10_la_CoutTab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        addsd     1672+__dlog10_la_CoutTab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        addsd     1664+__dlog10_la_CoutTab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        addsd     1656+__dlog10_la_CoutTab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        addsd     1648+__dlog10_la_CoutTab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        addsd     1640+__dlog10_la_CoutTab(%rip), %xmm5
+        mulsd     %xmm4, %xmm5
+        addsd     1632+__dlog10_la_CoutTab(%rip), %xmm5
+        mulsd     %xmm5, %xmm8
+        mulsd     %xmm6, %xmm5
+        addsd     %xmm5, %xmm7
+        addsd     %xmm6, %xmm7
+        addsd     %xmm7, %xmm8
+        addsd     %xmm8, %xmm9
+        movsd     %xmm9, (%rsi)
+        ret
+
+.LBL_2_7:
+
+        movsd     1624+__dlog10_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm0, %xmm1
+        movsd     1688+__dlog10_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1680+__dlog10_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1672+__dlog10_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1664+__dlog10_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1656+__dlog10_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1648+__dlog10_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1640+__dlog10_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1632+__dlog10_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     %xmm1, %xmm2
+        movsd     %xmm2, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        ucomisd   %xmm0, %xmm2
+        jp        .LBL_2_9
+        je        .LBL_2_11
+
+.LBL_2_9:
+
+        divsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        movl      $1, %eax
+
+
+        ret
+
+.LBL_2_11:
+
+        movsd     1616+__dlog10_la_CoutTab(%rip), %xmm1
+        movl      $2, %eax
+        xorps     .L_2il0floatpacket.88(%rip), %xmm1
+        divsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_12:
+
+        movb      7(%rdi), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_14
+
+.LBL_2_13:
+
+        movsd     (%rdi), %xmm0
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        testl     $1048575, 4(%rdi)
+        jne       .LBL_2_13
+
+
+        cmpl      $0, (%rdi)
+        jne       .LBL_2_13
+
+
+        movsd     1608+__dlog10_la_CoutTab(%rip), %xmm0
+        movl      $1, %eax
+        divsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dlog10_cout_rare_internal,@function
+       .size   __svml_dlog10_cout_rare_internal,.-__svml_dlog10_cout_rare_internal
+..LN__svml_dlog10_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dlog10_data_internal_avx512:
+       .long   0
+       .long   0
+       .long   721479184
+       .long   3214603769
+       .long   3590975466
+       .long   3215601833
+       .long   1438937368
+       .long   3216186160
+       .long   948324365
+       .long   3216559896
+       .long   2869828094
+       .long   3216915393
+       .long   516509563
+       .long   3217142759
+       .long   2145647618
+       .long   3217304702
+       .long   733771779
+       .long   1069546492
+       .long   3513866211
+       .long   1069249052
+       .long   3459676924
+       .long   1068963280
+       .long   1085767695
+       .long   1068688295
+       .long   3613830132
+       .long   1068347678
+       .long   1803457173
+       .long   1067836310
+       .long   3436756955
+       .long   1067234191
+       .long   930630721
+       .long   1066155272
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   675808112
+       .long   1068024536
+       .long   675808112
+       .long   1068024536
+       .long   675808112
+       .long   1068024536
+       .long   675808112
+       .long   1068024536
+       .long   675808112
+       .long   1068024536
+       .long   675808112
+       .long   1068024536
+       .long   675808112
+       .long   1068024536
+       .long   675808112
+       .long   1068024536
+       .long   2516752404
+       .long   3215710221
+       .long   2516752404
+       .long   3215710221
+       .long   2516752404
+       .long   3215710221
+       .long   2516752404
+       .long   3215710221
+       .long   2516752404
+       .long   3215710221
+       .long   2516752404
+       .long   3215710221
+       .long   2516752404
+       .long   3215710221
+       .long   2516752404
+       .long   3215710221
+       .long   4085995682
+       .long   1068483574
+       .long   4085995682
+       .long   1068483574
+       .long   4085995682
+       .long   1068483574
+       .long   4085995682
+       .long   1068483574
+       .long   4085995682
+       .long   1068483574
+       .long   4085995682
+       .long   1068483574
+       .long   4085995682
+       .long   1068483574
+       .long   4085995682
+       .long   1068483574
+       .long   879025280
+       .long   3216148390
+       .long   879025280
+       .long   3216148390
+       .long   879025280
+       .long   3216148390
+       .long   879025280
+       .long   3216148390
+       .long   879025280
+       .long   3216148390
+       .long   879025280
+       .long   3216148390
+       .long   879025280
+       .long   3216148390
+       .long   879025280
+       .long   3216148390
+       .long   2004821977
+       .long   1068907618
+       .long   2004821977
+       .long   1068907618
+       .long   2004821977
+       .long   1068907618
+       .long   2004821977
+       .long   1068907618
+       .long   2004821977
+       .long   1068907618
+       .long   2004821977
+       .long   1068907618
+       .long   2004821977
+       .long   1068907618
+       .long   2004821977
+       .long   1068907618
+       .long   356255395
+       .long   3216755579
+       .long   356255395
+       .long   3216755579
+       .long   356255395
+       .long   3216755579
+       .long   356255395
+       .long   3216755579
+       .long   356255395
+       .long   3216755579
+       .long   356255395
+       .long   3216755579
+       .long   356255395
+       .long   3216755579
+       .long   356255395
+       .long   3216755579
+       .long   1668235916
+       .long   1069713319
+       .long   1668235916
+       .long   1069713319
+       .long   1668235916
+       .long   1069713319
+       .long   1668235916
+       .long   1069713319
+       .long   1668235916
+       .long   1069713319
+       .long   1668235916
+       .long   1069713319
+       .long   1668235916
+       .long   1069713319
+       .long   1668235916
+       .long   1069713319
+       .long   354870491
+       .long   3217804155
+       .long   354870491
+       .long   3217804155
+       .long   354870491
+       .long   3217804155
+       .long   354870491
+       .long   3217804155
+       .long   354870491
+       .long   3217804155
+       .long   354870491
+       .long   3217804155
+       .long   354870491
+       .long   3217804155
+       .long   354870491
+       .long   3217804155
+       .long   354870542
+       .long   1071369083
+       .long   354870542
+       .long   1071369083
+       .long   354870542
+       .long   1071369083
+       .long   354870542
+       .long   1071369083
+       .long   354870542
+       .long   1071369083
+       .long   354870542
+       .long   1071369083
+       .long   354870542
+       .long   1071369083
+       .long   354870542
+       .long   1071369083
+       .long   1352628735
+       .long   1070810131
+       .long   1352628735
+       .long   1070810131
+       .long   1352628735
+       .long   1070810131
+       .long   1352628735
+       .long   1070810131
+       .long   1352628735
+       .long   1070810131
+       .long   1352628735
+       .long   1070810131
+       .long   1352628735
+       .long   1070810131
+       .long   1352628735
+       .long   1070810131
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .type   __svml_dlog10_data_internal_avx512,@object
+       .size   __svml_dlog10_data_internal_avx512,1152
+       .align 32
+__dlog10_la_CoutTab:
+       .long   0
+       .long   1071366144
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1071337728
+       .long   184549376
+       .long   1065092008
+       .long   2099961998
+       .long   3178897324
+       .long   0
+       .long   1071309312
+       .long   931135488
+       .long   1066155272
+       .long   2365712557
+       .long   3178155773
+       .long   0
+       .long   1071280896
+       .long   603979776
+       .long   1066752445
+       .long   709057215
+       .long   1031474920
+       .long   0
+       .long   1071252480
+       .long   3437232128
+       .long   1067234191
+       .long   1515412199
+       .long   3179085970
+       .long   0
+       .long   1071238272
+       .long   1105723392
+       .long   1067464226
+       .long   153915826
+       .long   3178000698
+       .long   0
+       .long   1071209856
+       .long   3328442368
+       .long   1067711223
+       .long   3899912278
+       .long   3177135692
+       .long   0
+       .long   1071181440
+       .long   341835776
+       .long   1067962480
+       .long   2509208190
+       .long   3176531222
+       .long   0
+       .long   1071167232
+       .long   2884632576
+       .long   1068089751
+       .long   1030636902
+       .long   1025224143
+       .long   0
+       .long   1071138816
+       .long   3613917184
+       .long   1068347678
+       .long   3527163461
+       .long   3177529532
+       .long   0
+       .long   1071124608
+       .long   3549954048
+       .long   1068478374
+       .long   3498894081
+       .long   3173000425
+       .long   0
+       .long   1071096192
+       .long   1623785472
+       .long   1068621140
+       .long   2889825554
+       .long   3176375375
+       .long   0
+       .long   1071081984
+       .long   1085800448
+       .long   1068688295
+       .long   4015256301
+       .long   3177184346
+       .long   0
+       .long   1071053568
+       .long   3652976640
+       .long   1068824490
+       .long   3600693529
+       .long   3175753877
+       .long   0
+       .long   1071039360
+       .long   1592393728
+       .long   1068893555
+       .long   231073830
+       .long   3177087939
+       .long   0
+       .long   1071025152
+       .long   3459645440
+       .long   1068963280
+       .long   1740576090
+       .long   1029619435
+       .long   0
+       .long   1070996736
+       .long   3774611456
+       .long   1069104765
+       .long   3858552785
+       .long   1028603845
+       .long   0
+       .long   1070982528
+       .long   845086720
+       .long   1069176552
+       .long   3138879731
+       .long   1029120443
+       .long   0
+       .long   1070968320
+       .long   3513843712
+       .long   1069249052
+       .long   2107125367
+       .long   1029044389
+       .long   0
+       .long   1070954112
+       .long   434503680
+       .long   1069322282
+       .long   3827602229
+       .long   1028932700
+       .long   0
+       .long   1070939904
+       .long   3613851648
+       .long   1069396254
+       .long   1223751955
+       .long   3176465139
+       .long   0
+       .long   1070911488
+       .long   733741056
+       .long   1069546492
+       .long   1625232067
+       .long   1029570781
+       .long   0
+       .long   1070897280
+       .long   1511620608
+       .long   1069585154
+       .long   3044605139
+       .long   1028090775
+       .long   0
+       .long   1070883072
+       .long   1337196544
+       .long   1069623706
+       .long   2602639001
+       .long   3175938675
+       .long   0
+       .long   1070868864
+       .long   2572533760
+       .long   1069662670
+       .long   3067107955
+       .long   1022933137
+       .long   0
+       .long   1070854656
+       .long   559611904
+       .long   1069702056
+       .long   764145786
+       .long   3174041535
+       .long   0
+       .long   1070840448
+       .long   485818368
+       .long   1069741872
+       .long   2037567072
+       .long   3175580956
+       .long   0
+       .long   1070826240
+       .long   259604480
+       .long   1069782128
+       .long   4012068429
+       .long   1027865895
+       .long   0
+       .long   1070812032
+       .long   3454042112
+       .long   1069822833
+       .long   2867680007
+       .long   3174202478
+       .long   0
+       .long   1070797824
+       .long   2188754944
+       .long   1069863999
+       .long   2538655286
+       .long   3175840981
+       .long   0
+       .long   1070783616
+       .long   2965241856
+       .long   1069905635
+       .long   1338936972
+       .long   3176093950
+       .long   0
+       .long   1070769408
+       .long   966279168
+       .long   1069947753
+       .long   1774547674
+       .long   3175051484
+       .long   0
+       .long   1070755200
+       .long   1604042752
+       .long   1069990363
+       .long   2557470738
+       .long   3174667448
+       .long   0
+       .long   1070740992
+       .long   3417833472
+       .long   1070033477
+       .long   2268255117
+       .long   3175678264
+       .long   0
+       .long   1070740992
+       .long   3417833472
+       .long   1070033477
+       .long   2268255117
+       .long   3175678264
+       .long   0
+       .long   1070726784
+       .long   2451292160
+       .long   1070077108
+       .long   3757728941
+       .long   1027943275
+       .long   0
+       .long   1070712576
+       .long   929644544
+       .long   1070121268
+       .long   899045708
+       .long   1027944939
+       .long   0
+       .long   1070698368
+       .long   3057254400
+       .long   1070165969
+       .long   3880649376
+       .long   3172972504
+       .long   0
+       .long   1070684160
+       .long   2231091200
+       .long   1070211226
+       .long   521319256
+       .long   1027600177
+       .long   0
+       .long   1070684160
+       .long   2231091200
+       .long   1070211226
+       .long   521319256
+       .long   1027600177
+       .long   0
+       .long   1070669952
+       .long   2620162048
+       .long   1070257052
+       .long   1385613369
+       .long   3176104036
+       .long   0
+       .long   1070655744
+       .long   2096726016
+       .long   1070303462
+       .long   3138305819
+       .long   3173646777
+       .long   0
+       .long   1070641536
+       .long   944717824
+       .long   1070350471
+       .long   1065120110
+       .long   1027539054
+       .long   0
+       .long   1070641536
+       .long   944717824
+       .long   1070350471
+       .long   1065120110
+       .long   1027539054
+       .long   0
+       .long   1070627328
+       .long   1985789952
+       .long   1070398094
+       .long   3635943864
+       .long   3173136490
+       .long   0
+       .long   1070613120
+       .long   2123825152
+       .long   1070446348
+       .long   1125219725
+       .long   3175615738
+       .long   0
+       .long   1070598912
+       .long   1078378496
+       .long   1070495250
+       .long   603852726
+       .long   3174570526
+       .long   0
+       .long   1070598912
+       .long   1078378496
+       .long   1070495250
+       .long   603852726
+       .long   3174570526
+       .long   0
+       .long   1070573312
+       .long   1537933312
+       .long   1070544817
+       .long   998069198
+       .long   1026662908
+       .long   0
+       .long   1070544896
+       .long   733773824
+       .long   1070595068
+       .long   4061058002
+       .long   3174036009
+       .long   0
+       .long   1070544896
+       .long   733773824
+       .long   1070595068
+       .long   4061058002
+       .long   3174036009
+       .long   0
+       .long   1070516480
+       .long   3897544704
+       .long   1070621058
+       .long   951856294
+       .long   1026731877
+       .long   0
+       .long   1070516480
+       .long   3897544704
+       .long   1070621058
+       .long   951856294
+       .long   1026731877
+       .long   0
+       .long   1070488064
+       .long   493535232
+       .long   1070646897
+       .long   3852369308
+       .long   3173264746
+       .long   0
+       .long   1070459648
+       .long   463249408
+       .long   1070673107
+       .long   2853152111
+       .long   3174564937
+       .long   0
+       .long   1070459648
+       .long   463249408
+       .long   1070673107
+       .long   2853152111
+       .long   3174564937
+       .long   0
+       .long   1070431232
+       .long   3186585600
+       .long   1070699699
+       .long   1874718356
+       .long   3174139933
+       .long   0
+       .long   1070431232
+       .long   3186585600
+       .long   1070699699
+       .long   1874718356
+       .long   3174139933
+       .long   0
+       .long   1070402816
+       .long   1525858304
+       .long   1070726686
+       .long   3039843523
+       .long   1024724665
+       .long   0
+       .long   1070402816
+       .long   1525858304
+       .long   1070726686
+       .long   3039843523
+       .long   1024724665
+       .long   0
+       .long   1070374400
+       .long   3425300480
+       .long   1070754078
+       .long   1303046649
+       .long   1022401701
+       .long   0
+       .long   1070374400
+       .long   3425300480
+       .long   1070754078
+       .long   1303046649
+       .long   1022401701
+       .long   0
+       .long   1070345984
+       .long   1980465152
+       .long   1070781889
+       .long   3188656319
+       .long   1027271390
+       .long   0
+       .long   1070345984
+       .long   1980465152
+       .long   1070781889
+       .long   3188656319
+       .long   1027271390
+       .long   0
+       .long   1070317568
+       .long   1352630272
+       .long   1070810131
+       .long   3090895658
+       .long   3174564915
+       .long   1352630272
+       .long   1070810131
+       .long   3090895658
+       .long   3174564915
+       .long   64
+       .long   1120927744
+       .long   0
+       .long   1096810496
+       .long   0
+       .long   1064828928
+       .long   0
+       .long   1135607808
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1071366144
+       .long   3207479559
+       .long   1062894188
+       .long   3698831637
+       .long   3220339442
+       .long   3700832817
+       .long   1073506818
+       .long   1691624569
+       .long   3221787401
+       .long   2065628764
+       .long   1075227551
+       .long   1770847080
+       .long   3223701774
+       .long   3786517112
+       .long   1077250450
+       .long   1316351650
+       .long   3225793313
+       .type   __dlog10_la_CoutTab,@object
+       .size   __dlog10_la_CoutTab,1696
+       .align 16
+.L_2il0floatpacket.88:
+       .long   0x00000000,0x80000000,0x00000000,0x00000000
+       .type   .L_2il0floatpacket.88,@object
+       .size   .L_2il0floatpacket.88,16
+       .align 8
+.L_2il0floatpacket.89:
+       .long   0x00000000,0x3ff00000
+       .type   .L_2il0floatpacket.89,@object
+       .size   .L_2il0floatpacket.89,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_log10_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_log10_s_la.s
new file mode 100644 (file)
index 0000000..4a3dbc9
--- /dev/null
@@ -0,0 +1,754 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *  log10(x) = VGETEXP(x)*log10(2) + log10(VGETMANT(x))
+ *  *       VGETEXP, VGETMANT will correctly treat special cases too (including denormals)
+ *  *   mx = VGETMANT(x) is in [1,2) for all x>=0
+ *  *   log10(mx) = -log10(RCP(mx)) + log10(1 +(mx*RCP(mx)-1))
+ *  *      RCP(mx) is rounded to 4 fractional bits,
+ *  *      and the table lookup for log(RCP(mx)) is based on a small permute instruction
+ *  *
+ *  *   LA, EP versions use interval interpolation (16 intervals)
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_log10f16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_log10f16
+
+__svml_log10f16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+
+/* GetMant(x), normalized to [.75,1.5) for x>=0, NaN for x<0 */
+        vgetmantps $11, {sae}, %zmm0, %zmm3
+        vmovups   __svml_slog10_data_internal_avx512(%rip), %zmm1
+        vgetexpps {sae}, %zmm0, %zmm5
+        vmovups   320+__svml_slog10_data_internal_avx512(%rip), %zmm10
+        vpsrld    $19, %zmm3, %zmm7
+        vgetexpps {sae}, %zmm3, %zmm6
+        vsubps    {rn-sae}, %zmm1, %zmm3, %zmm11
+        vpermps   64+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm1
+        vpermps   128+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm2
+        vsubps    {rn-sae}, %zmm6, %zmm5, %zmm9
+        vpermps   192+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm4
+        vpermps   256+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm8
+
+/* x<=0? */
+        vfpclassps $94, %zmm0, %k0
+        vfmadd213ps {rn-sae}, %zmm2, %zmm11, %zmm1
+        vmulps    {rn-sae}, %zmm10, %zmm9, %zmm12
+        vfmadd213ps {rn-sae}, %zmm4, %zmm11, %zmm1
+        kmovw     %k0, %edx
+        vfmadd213ps {rn-sae}, %zmm8, %zmm11, %zmm1
+        vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm1
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm1, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm1, 128(%rsp)
+        je        .LBL_1_2
+
+
+        xorl      %eax, %eax
+
+
+        vzeroupper
+        kmovw     %k4, 24(%rsp)
+        kmovw     %k5, 16(%rsp)
+        kmovw     %k6, 8(%rsp)
+        kmovw     %k7, (%rsp)
+        movq      %rsi, 40(%rsp)
+        movq      %rdi, 32(%rsp)
+        movq      %r12, 56(%rsp)
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_7:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_10
+
+.LBL_1_8:
+
+        incl      %r12d
+        cmpl      $16, %r12d
+        jl        .LBL_1_7
+
+
+        kmovw     24(%rsp), %k4
+       .cfi_restore 122
+        kmovw     16(%rsp), %k5
+       .cfi_restore 123
+        kmovw     8(%rsp), %k6
+       .cfi_restore 124
+        kmovw     (%rsp), %k7
+       .cfi_restore 125
+        vmovups   128(%rsp), %zmm1
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+
+        call      __svml_slog10_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_log10f16,@function
+       .size   __svml_log10f16,.-__svml_log10f16
+..LN__svml_log10f16.0:
+
+.L_2__routine_start___svml_slog10_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_slog10_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    2(%rdi), %edx
+        andl      $32640, %edx
+        cmpl      $32640, %edx
+        je        .LBL_2_12
+
+
+        movss     (%rdi), %xmm2
+        xorl      %ecx, %ecx
+        movss     %xmm2, -16(%rsp)
+        movzwl    -14(%rsp), %edx
+        testl     $32640, %edx
+        jne       .LBL_2_4
+
+
+        mulss     .L_2il0floatpacket.77(%rip), %xmm2
+        movl      $-40, %ecx
+        movss     %xmm2, -16(%rsp)
+
+.LBL_2_4:
+
+        pxor      %xmm0, %xmm0
+        comiss    %xmm0, %xmm2
+        jbe       .LBL_2_8
+
+
+        movaps    %xmm2, %xmm1
+        subss     .L_2il0floatpacket.93(%rip), %xmm1
+        movss     %xmm1, -20(%rsp)
+        andb      $127, -17(%rsp)
+        movss     -20(%rsp), %xmm0
+        comiss    .L_2il0floatpacket.78(%rip), %xmm0
+        jbe       .LBL_2_7
+
+
+        movss     %xmm2, -20(%rsp)
+        pxor      %xmm8, %xmm8
+        movzwl    -18(%rsp), %edi
+        lea       __slog10_la_CoutTab(%rip), %r10
+        andl      $-32641, %edi
+        addl      $16256, %edi
+        movw      %di, -18(%rsp)
+        movss     -20(%rsp), %xmm3
+        movaps    %xmm3, %xmm0
+        movss     .L_2il0floatpacket.80(%rip), %xmm2
+        movaps    %xmm2, %xmm1
+        addss     .L_2il0floatpacket.79(%rip), %xmm0
+        addss     %xmm3, %xmm1
+        movss     %xmm0, -24(%rsp)
+        movl      -24(%rsp), %r8d
+        movss     %xmm1, -24(%rsp)
+        andl      $127, %r8d
+        movss     -24(%rsp), %xmm9
+        movss     .L_2il0floatpacket.89(%rip), %xmm6
+        subss     %xmm2, %xmm9
+        movzwl    -14(%rsp), %edx
+        lea       (%r8,%r8,2), %r9d
+        movss     (%r10,%r9,4), %xmm7
+        andl      $32640, %edx
+        shrl      $7, %edx
+        subss     %xmm9, %xmm3
+        mulss     %xmm7, %xmm9
+        mulss     %xmm3, %xmm7
+        subss     .L_2il0floatpacket.81(%rip), %xmm9
+        movaps    %xmm9, %xmm4
+        lea       -127(%rcx,%rdx), %ecx
+        cvtsi2ss  %ecx, %xmm8
+        addss     %xmm7, %xmm4
+        mulss     %xmm4, %xmm6
+        movss     .L_2il0floatpacket.90(%rip), %xmm10
+        mulss     %xmm8, %xmm10
+        addss     .L_2il0floatpacket.88(%rip), %xmm6
+        addss     4(%r10,%r9,4), %xmm10
+        mulss     %xmm4, %xmm6
+        addss     %xmm9, %xmm10
+        addss     .L_2il0floatpacket.87(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        movss     .L_2il0floatpacket.91(%rip), %xmm5
+        mulss     %xmm5, %xmm8
+        addss     .L_2il0floatpacket.86(%rip), %xmm6
+        addss     8(%r10,%r9,4), %xmm8
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.85(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.84(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.83(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.82(%rip), %xmm6
+        mulss     %xmm6, %xmm9
+        mulss     %xmm7, %xmm6
+        addss     %xmm6, %xmm8
+        addss     %xmm7, %xmm8
+        addss     %xmm8, %xmm9
+        addss     %xmm9, %xmm10
+        movss     %xmm10, (%rsi)
+        ret
+
+.LBL_2_7:
+
+        movss     .L_2il0floatpacket.81(%rip), %xmm0
+        mulss     %xmm0, %xmm1
+        movss     .L_2il0floatpacket.89(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.88(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.87(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.86(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.85(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.84(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.83(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.82(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     %xmm1, %xmm2
+        movss     %xmm2, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        ucomiss   %xmm0, %xmm2
+        jp        .LBL_2_9
+        je        .LBL_2_11
+
+.LBL_2_9:
+
+        divss     %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        movl      $1, %eax
+
+
+        ret
+
+.LBL_2_11:
+
+        movss     .L_2il0floatpacket.92(%rip), %xmm1
+        movl      $2, %eax
+        divss     %xmm0, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+
+.LBL_2_12:
+
+        movb      3(%rdi), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_14
+
+.LBL_2_13:
+
+        movss     (%rdi), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        testl     $8388607, (%rdi)
+        jne       .LBL_2_13
+
+
+        movl      $1, %eax
+        pxor      %xmm1, %xmm1
+        pxor      %xmm0, %xmm0
+        divss     %xmm0, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_slog10_cout_rare_internal,@function
+       .size   __svml_slog10_cout_rare_internal,.-__svml_slog10_cout_rare_internal
+..LN__svml_slog10_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_slog10_data_internal_avx512:
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   3184111259
+       .long   3181837556
+       .long   3180047478
+       .long   3177957936
+       .long   3175655835
+       .long   3173780127
+       .long   3172237531
+       .long   3170958066
+       .long   3196205737
+       .long   3194315592
+       .long   3192585145
+       .long   3191105685
+       .long   3189833727
+       .long   3188734475
+       .long   3187779868
+       .long   3186223182
+       .long   1041488008
+       .long   1041279100
+       .long   1040946627
+       .long   1040547595
+       .long   1040048184
+       .long   1039171801
+       .long   1038306334
+       .long   1037468467
+       .long   1034710670
+       .long   1037388369
+       .long   1039339328
+       .long   1040458589
+       .long   1040937011
+       .long   1041247376
+       .long   1041427373
+       .long   1041506296
+       .long   3193854619
+       .long   3193841271
+       .long   3193799669
+       .long   3193724950
+       .long   3193617675
+       .long   3193480957
+       .long   3193318914
+       .long   3193135864
+       .long   3194544764
+       .long   3194251079
+       .long   3194067571
+       .long   3193958490
+       .long   3193898352
+       .long   3193869008
+       .long   3193857579
+       .long   3193854984
+       .long   1054759896
+       .long   1054759749
+       .long   1054758872
+       .long   1054756529
+       .long   1054752055
+       .long   1054744934
+       .long   1054734809
+       .long   1054721467
+       .long   1054738669
+       .long   1054749415
+       .long   1054755175
+       .long   1054758032
+       .long   1054759295
+       .long   1054759760
+       .long   1054759882
+       .long   1054759897
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .long   1050288283
+       .type   __svml_slog10_data_internal_avx512,@object
+       .size   __svml_slog10_data_internal_avx512,384
+       .align 32
+__slog10_la_CoutTab:
+       .long   1121868800
+       .long   0
+       .long   0
+       .long   1121641104
+       .long   1004535808
+       .long   912917177
+       .long   1121413408
+       .long   1013055488
+       .long   3065901602
+       .long   1121185712
+       .long   1017839616
+       .long   3083361151
+       .long   1120958016
+       .long   1021673472
+       .long   929297206
+       .long   1120844168
+       .long   1023524864
+       .long   3077496589
+       .long   1120616472
+       .long   1025499136
+       .long   3070500046
+       .long   1120388776
+       .long   1027506176
+       .long   912271551
+       .long   1120274928
+       .long   1028521984
+       .long   927716856
+       .long   1120047232
+       .long   1030586368
+       .long   923757491
+       .long   1119933384
+       .long   1031634944
+       .long   3056752848
+       .long   1119705688
+       .long   1032775680
+       .long   917029265
+       .long   1119591840
+       .long   1033314304
+       .long   3065085585
+       .long   1119364144
+       .long   1034403840
+       .long   3064614024
+       .long   1119250296
+       .long   1034954752
+       .long   921091539
+       .long   1119136448
+       .long   1035513856
+       .long   3057436454
+       .long   1118908752
+       .long   1036644352
+       .long   922468856
+       .long   1118794904
+       .long   1037219840
+       .long   3049155845
+       .long   1118681056
+       .long   1037799424
+       .long   904301451
+       .long   1118567208
+       .long   1038385152
+       .long   908617625
+       .long   1118453360
+       .long   1038977024
+       .long   905362229
+       .long   1118225664
+       .long   1040179200
+       .long   3027570914
+       .long   1118111816
+       .long   1040488448
+       .long   882280038
+       .long   1117997968
+       .long   1040796672
+       .long   911375775
+       .long   1117884120
+       .long   1041108480
+       .long   904500572
+       .long   1117770272
+       .long   1041423872
+       .long   3057579304
+       .long   1117656424
+       .long   1041742336
+       .long   3053334705
+       .long   1117542576
+       .long   1042064384
+       .long   3053389931
+       .long   1117428728
+       .long   1042390016
+       .long   3051561465
+       .long   1117314880
+       .long   1042719232
+       .long   3011187895
+       .long   1117201032
+       .long   1043052544
+       .long   3059907089
+       .long   1117087184
+       .long   1043389440
+       .long   3057005374
+       .long   1116973336
+       .long   1043729920
+       .long   911932638
+       .long   1116859488
+       .long   1044075008
+       .long   892958461
+       .long   1116859488
+       .long   1044075008
+       .long   892958461
+       .long   1116745640
+       .long   1044424192
+       .long   3048660547
+       .long   1116631792
+       .long   1044777472
+       .long   3049032043
+       .long   1116517944
+       .long   1045134848
+       .long   906867152
+       .long   1116404096
+       .long   1045496832
+       .long   911484894
+       .long   1116404096
+       .long   1045496832
+       .long   911484894
+       .long   1116290248
+       .long   1045863424
+       .long   912580963
+       .long   1116176400
+       .long   1046235136
+       .long   3058440244
+       .long   1116062552
+       .long   1046610944
+       .long   895945194
+       .long   1116062552
+       .long   1046610944
+       .long   895945194
+       .long   1115948704
+       .long   1046991872
+       .long   904357324
+       .long   1115834856
+       .long   1047377920
+       .long   902293870
+       .long   1115721008
+       .long   1047769088
+       .long   907149878
+       .long   1115721008
+       .long   1047769088
+       .long   907149878
+       .long   1115529456
+       .long   1048165888
+       .long   3052029263
+       .long   1115301760
+       .long   1048567808
+       .long   3035959522
+       .long   1115301760
+       .long   1048567808
+       .long   3035959522
+       .long   1115074064
+       .long   1048775680
+       .long   892998645
+       .long   1115074064
+       .long   1048775680
+       .long   892998645
+       .long   1114846368
+       .long   1048982400
+       .long   881767775
+       .long   1114618672
+       .long   1049192064
+       .long   893839142
+       .long   1114618672
+       .long   1049192064
+       .long   893839142
+       .long   1114390976
+       .long   1049404800
+       .long   896498651
+       .long   1114390976
+       .long   1049404800
+       .long   896498651
+       .long   1114163280
+       .long   1049620736
+       .long   3033695903
+       .long   1114163280
+       .long   1049620736
+       .long   3033695903
+       .long   1113935584
+       .long   1049839872
+       .long   3029986056
+       .long   1113935584
+       .long   1049839872
+       .long   3029986056
+       .long   1113707888
+       .long   1050062336
+       .long   884671939
+       .long   1113707888
+       .long   1050062336
+       .long   884671939
+       .long   1113480192
+       .long   1050288256
+       .long   894707678
+       .long   1050279936
+       .long   964848148
+       .long   1207959616
+       .long   1174405120
+       .long   1002438656
+       .long   1400897536
+       .long   0
+       .long   1065353216
+       .long   1121868800
+       .long   3212771328
+       .long   3079888218
+       .long   870463078
+       .long   2957202361
+       .long   749987585
+       .long   2838272395
+       .long   631921661
+       .long   2720751022
+       .type   __slog10_la_CoutTab,@object
+       .size   __slog10_la_CoutTab,848
+       .align 4
+.L_2il0floatpacket.77:
+       .long   0x53800000
+       .type   .L_2il0floatpacket.77,@object
+       .size   .L_2il0floatpacket.77,4
+       .align 4
+.L_2il0floatpacket.78:
+       .long   0x3bc00000
+       .type   .L_2il0floatpacket.78,@object
+       .size   .L_2il0floatpacket.78,4
+       .align 4
+.L_2il0floatpacket.79:
+       .long   0x48000040
+       .type   .L_2il0floatpacket.79,@object
+       .size   .L_2il0floatpacket.79,4
+       .align 4
+.L_2il0floatpacket.80:
+       .long   0x46000000
+       .type   .L_2il0floatpacket.80,@object
+       .size   .L_2il0floatpacket.80,4
+       .align 4
+.L_2il0floatpacket.81:
+       .long   0x42de5c00
+       .type   .L_2il0floatpacket.81,@object
+       .size   .L_2il0floatpacket.81,4
+       .align 4
+.L_2il0floatpacket.82:
+       .long   0xbf7f0000
+       .type   .L_2il0floatpacket.82,@object
+       .size   .L_2il0floatpacket.82,4
+       .align 4
+.L_2il0floatpacket.83:
+       .long   0xb7935d5a
+       .type   .L_2il0floatpacket.83,@object
+       .size   .L_2il0floatpacket.83,4
+       .align 4
+.L_2il0floatpacket.84:
+       .long   0x33e23666
+       .type   .L_2il0floatpacket.84,@object
+       .size   .L_2il0floatpacket.84,4
+       .align 4
+.L_2il0floatpacket.85:
+       .long   0xb04353b9
+       .type   .L_2il0floatpacket.85,@object
+       .size   .L_2il0floatpacket.85,4
+       .align 4
+.L_2il0floatpacket.86:
+       .long   0x2cb3e701
+       .type   .L_2il0floatpacket.86,@object
+       .size   .L_2il0floatpacket.86,4
+       .align 4
+.L_2il0floatpacket.87:
+       .long   0xa92c998b
+       .type   .L_2il0floatpacket.87,@object
+       .size   .L_2il0floatpacket.87,4
+       .align 4
+.L_2il0floatpacket.88:
+       .long   0x25aa5bfd
+       .type   .L_2il0floatpacket.88,@object
+       .size   .L_2il0floatpacket.88,4
+       .align 4
+.L_2il0floatpacket.89:
+       .long   0xa22b5dae
+       .type   .L_2il0floatpacket.89,@object
+       .size   .L_2il0floatpacket.89,4
+       .align 4
+.L_2il0floatpacket.90:
+       .long   0x3e9a0000
+       .type   .L_2il0floatpacket.90,@object
+       .size   .L_2il0floatpacket.90,4
+       .align 4
+.L_2il0floatpacket.91:
+       .long   0x39826a14
+       .type   .L_2il0floatpacket.91,@object
+       .size   .L_2il0floatpacket.91,4
+       .align 4
+.L_2il0floatpacket.92:
+       .long   0xbf800000
+       .type   .L_2il0floatpacket.92,@object
+       .size   .L_2il0floatpacket.92,4
+       .align 4
+.L_2il0floatpacket.93:
+       .long   0x3f800000
+       .type   .L_2il0floatpacket.93,@object
+       .size   .L_2il0floatpacket.93,4
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_log1p_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_log1p_d_la.s
new file mode 100644 (file)
index 0000000..6073965
--- /dev/null
@@ -0,0 +1,1132 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *  Compute 1+_VARG1 in high-low parts.  The low part will be
+ *  *  incorporated in the reduced argument (with proper scaling).
+ *  *  log(x) = VGETEXP(x)*log(2) + log(VGETMANT(x))
+ *  *       VGETEXP, VGETMANT will correctly treat special cases too (including denormals)
+ *  *   mx = VGETMANT(x) is in [1,2) for all x>=0
+ *  *   log(mx) = -log(RCP(mx)) + log(1 +(mx*RCP(mx)-1))
+ *  *      RCP(mx) is rounded to 4 fractional bits,
+ *  *      and the table lookup for log(RCP(mx)) is based on a small permute instruction
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_log1p8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_log1p8
+
+__svml_log1p8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   128+__svml_dlog1p_data_internal_avx512(%rip), %zmm7
+        vmovups   192+__svml_dlog1p_data_internal_avx512(%rip), %zmm14
+        vmovaps   %zmm0, %zmm9
+        vaddpd    {rn-sae}, %zmm9, %zmm7, %zmm11
+        vandpd    %zmm14, %zmm9, %zmm8
+
+/* compute 1+x as high, low parts */
+        vmaxpd    {sae}, %zmm9, %zmm7, %zmm10
+        vminpd    {sae}, %zmm9, %zmm7, %zmm12
+
+/* GetMant(x), normalized to [1,2) for x>=0, NaN for x<0 */
+        vgetmantpd $8, {sae}, %zmm11, %zmm6
+
+/* GetExp(x) */
+        vgetexppd {sae}, %zmm11, %zmm5
+        vsubpd    {rn-sae}, %zmm10, %zmm11, %zmm13
+
+/* DblRcp ~ 1/Mantissa */
+        vrcp14pd  %zmm6, %zmm15
+
+/* Start polynomial evaluation */
+        vmovups   320+__svml_dlog1p_data_internal_avx512(%rip), %zmm10
+        vmovups   448+__svml_dlog1p_data_internal_avx512(%rip), %zmm11
+
+/* Xl */
+        vsubpd    {rn-sae}, %zmm13, %zmm12, %zmm2
+        vxorpd    %zmm14, %zmm5, %zmm3
+
+/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */
+        vrndscalepd $88, {sae}, %zmm15, %zmm4
+        vmovups   576+__svml_dlog1p_data_internal_avx512(%rip), %zmm12
+        vmovups   512+__svml_dlog1p_data_internal_avx512(%rip), %zmm14
+        vmovups   704+__svml_dlog1p_data_internal_avx512(%rip), %zmm13
+
+/* Xl*2^(-Expon) */
+        vscalefpd {rn-sae}, %zmm3, %zmm2, %zmm1
+
+/* Reduced argument: R = DblRcp*(Mantissa+Xl) - 1 */
+        vfmsub213pd {rn-sae}, %zmm7, %zmm4, %zmm6
+        vmovups   __svml_dlog1p_data_internal_avx512(%rip), %zmm3
+
+/*
+ * Table lookup
+ * Prepare exponent correction: DblRcp<0.75?
+ */
+        vmovups   256+__svml_dlog1p_data_internal_avx512(%rip), %zmm2
+
+/* Prepare table index */
+        vpsrlq    $48, %zmm4, %zmm0
+        vfmadd231pd {rn-sae}, %zmm4, %zmm1, %zmm6
+        vmovups   384+__svml_dlog1p_data_internal_avx512(%rip), %zmm1
+        vcmppd    $17, {sae}, %zmm2, %zmm4, %k1
+        vcmppd    $4, {sae}, %zmm6, %zmm6, %k0
+        vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm1
+        vmovups   640+__svml_dlog1p_data_internal_avx512(%rip), %zmm10
+        vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14
+        vmovups   832+__svml_dlog1p_data_internal_avx512(%rip), %zmm4
+        vpermt2pd 64+__svml_dlog1p_data_internal_avx512(%rip), %zmm0, %zmm3
+
+/* add 1 to Expon if DblRcp<0.75 */
+        vaddpd    {rn-sae}, %zmm7, %zmm5, %zmm5{%k1}
+
+/* R^2 */
+        vmulpd    {rn-sae}, %zmm6, %zmm6, %zmm0
+        vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm10
+        vmovups   768+__svml_dlog1p_data_internal_avx512(%rip), %zmm12
+        vmulpd    {rn-sae}, %zmm0, %zmm0, %zmm15
+        vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12
+        vfmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm1
+        kmovw     %k0, %edx
+        vfmadd213pd {rn-sae}, %zmm12, %zmm0, %zmm10
+
+/* polynomial */
+        vfmadd213pd {rn-sae}, %zmm10, %zmm15, %zmm1
+        vfmadd213pd {rn-sae}, %zmm6, %zmm0, %zmm1
+        vaddpd    {rn-sae}, %zmm1, %zmm3, %zmm6
+        vfmadd213pd {rn-sae}, %zmm6, %zmm4, %zmm5
+        vorpd     %zmm8, %zmm5, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm9, 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_dlog1p_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_log1p8,@function
+       .size   __svml_log1p8,.-__svml_log1p8
+..LN__svml_log1p8.0:
+
+.L_2__routine_start___svml_dlog1p_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dlog1p_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movsd     .L_2il0floatpacket.81(%rip), %xmm3
+        movsd     (%rdi), %xmm2
+        addsd     %xmm3, %xmm2
+        movsd     %xmm2, -16(%rsp)
+        movzwl    -10(%rsp), %edx
+        andl      $32752, %edx
+        cmpl      $32752, %edx
+        je        .LBL_2_12
+
+
+        movsd     %xmm2, -8(%rsp)
+        xorl      %ecx, %ecx
+        movzwl    -2(%rsp), %edx
+        testl     $32752, %edx
+        jne       .LBL_2_4
+
+
+        mulsd     1600+__dlog1p_la_CoutTab(%rip), %xmm2
+        movl      $-60, %ecx
+        movsd     %xmm2, -8(%rsp)
+
+.LBL_2_4:
+
+        movsd     1608+__dlog1p_la_CoutTab(%rip), %xmm0
+        comisd    %xmm0, %xmm2
+        jbe       .LBL_2_8
+
+
+        movaps    %xmm2, %xmm1
+        subsd     %xmm3, %xmm1
+        movsd     %xmm1, -16(%rsp)
+        andb      $127, -9(%rsp)
+        movsd     -16(%rsp), %xmm0
+        comisd    1592+__dlog1p_la_CoutTab(%rip), %xmm0
+        jbe       .LBL_2_7
+
+
+        movsd     %xmm2, -16(%rsp)
+        pxor      %xmm7, %xmm7
+        movzwl    -10(%rsp), %edi
+        lea       __dlog1p_la_CoutTab(%rip), %r10
+        andl      $-32753, %edi
+        addl      $16368, %edi
+        movw      %di, -10(%rsp)
+        movsd     -16(%rsp), %xmm4
+        movaps    %xmm4, %xmm1
+        movaps    %xmm4, %xmm2
+        movsd     1672+__dlog1p_la_CoutTab(%rip), %xmm8
+        movzwl    -2(%rsp), %edx
+        andl      $32752, %edx
+        addsd     1576+__dlog1p_la_CoutTab(%rip), %xmm1
+        addsd     1584+__dlog1p_la_CoutTab(%rip), %xmm2
+        movsd     %xmm1, -24(%rsp)
+        movl      -24(%rsp), %r8d
+        movsd     %xmm2, -24(%rsp)
+        andl      $127, %r8d
+        movsd     -24(%rsp), %xmm5
+        movsd     1560+__dlog1p_la_CoutTab(%rip), %xmm9
+        movsd     1568+__dlog1p_la_CoutTab(%rip), %xmm0
+        shrl      $4, %edx
+        subsd     1584+__dlog1p_la_CoutTab(%rip), %xmm5
+        lea       (%r8,%r8,2), %r9d
+        movsd     (%r10,%r9,8), %xmm6
+        lea       -1023(%rcx,%rdx), %ecx
+        cvtsi2sd  %ecx, %xmm7
+        subsd     %xmm5, %xmm4
+        mulsd     %xmm6, %xmm5
+        mulsd     %xmm7, %xmm9
+        subsd     %xmm3, %xmm5
+        mulsd     %xmm4, %xmm6
+        mulsd     %xmm0, %xmm7
+        addsd     8(%r10,%r9,8), %xmm9
+        addsd     16(%r10,%r9,8), %xmm7
+        addsd     %xmm5, %xmm9
+        addsd     %xmm6, %xmm7
+        movaps    %xmm5, %xmm3
+        addsd     %xmm6, %xmm3
+        mulsd     %xmm3, %xmm8
+        addsd     1664+__dlog1p_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1656+__dlog1p_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1648+__dlog1p_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1640+__dlog1p_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1632+__dlog1p_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1624+__dlog1p_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     %xmm7, %xmm8
+        addsd     %xmm8, %xmm9
+        movsd     %xmm9, (%rsi)
+        ret
+
+.LBL_2_7:
+
+        movsd     1672+__dlog1p_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1664+__dlog1p_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1656+__dlog1p_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1648+__dlog1p_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1640+__dlog1p_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1632+__dlog1p_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1624+__dlog1p_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     %xmm1, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        ucomisd   %xmm0, %xmm2
+        jp        .LBL_2_9
+        je        .LBL_2_11
+
+.LBL_2_9:
+
+        divsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        movl      $1, %eax
+
+
+        ret
+
+.LBL_2_11:
+
+        movsd     1616+__dlog1p_la_CoutTab(%rip), %xmm1
+        movl      $2, %eax
+        xorps     .L_2il0floatpacket.80(%rip), %xmm1
+        divsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_12:
+
+        movb      -9(%rsp), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_14
+
+.LBL_2_13:
+
+        mulsd     %xmm2, %xmm2
+        movsd     %xmm2, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        testl     $1048575, -12(%rsp)
+        jne       .LBL_2_13
+
+
+        cmpl      $0, -16(%rsp)
+        jne       .LBL_2_13
+
+
+        movsd     1608+__dlog1p_la_CoutTab(%rip), %xmm0
+        movl      $1, %eax
+        divsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dlog1p_cout_rare_internal,@function
+       .size   __svml_dlog1p_cout_rare_internal,.-__svml_dlog1p_cout_rare_internal
+..LN__svml_dlog1p_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dlog1p_data_internal_avx512:
+       .long   0
+       .long   0
+       .long   3222364838
+       .long   3215919664
+       .long   1848308454
+       .long   3216910087
+       .long   1890030548
+       .long   3217424176
+       .long   3348797986
+       .long   3217854455
+       .long   2880153102
+       .long   3218171740
+       .long   3256639170
+       .long   3218366859
+       .long   4139503623
+       .long   3218553303
+       .long   288676754
+       .long   1070754146
+       .long   1823716217
+       .long   1070569756
+       .long   1015732707
+       .long   1070240749
+       .long   1800682930
+       .long   1069924160
+       .long   2183652476
+       .long   1069619086
+       .long   1566132617
+       .long   1069101918
+       .long   3047045639
+       .long   1068533144
+       .long   2313634884
+       .long   1067467101
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   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   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .type   __svml_dlog1p_data_internal_avx512,@object
+       .size   __svml_dlog1p_data_internal_avx512,1152
+       .align 32
+__dlog1p_la_CoutTab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072660480
+       .long   1486880768
+       .long   1066410070
+       .long   1813744607
+       .long   3179892593
+       .long   0
+       .long   1072629760
+       .long   377487360
+       .long   1067416219
+       .long   919019713
+       .long   3179241129
+       .long   0
+       .long   1072599040
+       .long   1513619456
+       .long   1067944025
+       .long   874573033
+       .long   3178512940
+       .long   0
+       .long   1072570368
+       .long   3221749760
+       .long   1068427825
+       .long   4181665006
+       .long   3177478212
+       .long   0
+       .long   1072541696
+       .long   4162322432
+       .long   1068708823
+       .long   627020255
+       .long   1028629941
+       .long   0
+       .long   1072513024
+       .long   183107584
+       .long   1068957907
+       .long   2376703469
+       .long   1030233118
+       .long   0
+       .long   1072486400
+       .long   1053425664
+       .long   1069192557
+       .long   696277142
+       .long   1030474863
+       .long   0
+       .long   1072459776
+       .long   3996123136
+       .long   1069430535
+       .long   2630798680
+       .long   1028792016
+       .long   0
+       .long   1072435200
+       .long   3452764160
+       .long   1069600382
+       .long   624954044
+       .long   3177101741
+       .long   0
+       .long   1072409600
+       .long   207650816
+       .long   1069717971
+       .long   3272735636
+       .long   3175176575
+       .long   0
+       .long   1072386048
+       .long   2647228416
+       .long   1069827627
+       .long   3594228712
+       .long   1029303785
+       .long   0
+       .long   1072362496
+       .long   2712010752
+       .long   1069938736
+       .long   3653242769
+       .long   3176839013
+       .long   0
+       .long   1072338944
+       .long   374439936
+       .long   1070051337
+       .long   4072775574
+       .long   3176577495
+       .long   0
+       .long   1072316416
+       .long   3707174912
+       .long   1070160474
+       .long   1486946159
+       .long   1023930920
+       .long   0
+       .long   1072294912
+       .long   1443954688
+       .long   1070265993
+       .long   293532967
+       .long   3176278277
+       .long   0
+       .long   1072273408
+       .long   127762432
+       .long   1070372856
+       .long   3404145447
+       .long   3177023955
+       .long   0
+       .long   1072252928
+       .long   2053832704
+       .long   1070475911
+       .long   1575076358
+       .long   1029048544
+       .long   0
+       .long   1072232448
+       .long   3194093568
+       .long   1070580248
+       .long   1864169120
+       .long   1026866084
+       .long   0
+       .long   1072212992
+       .long   3917201408
+       .long   1070638340
+       .long   2362145246
+       .long   3175606197
+       .long   0
+       .long   1072193536
+       .long   3417112576
+       .long   1070689116
+       .long   70087871
+       .long   3174183577
+       .long   0
+       .long   1072175104
+       .long   4226777088
+       .long   1070737793
+       .long   1620410586
+       .long   3174700065
+       .long   0
+       .long   1072156672
+       .long   3168870400
+       .long   1070787042
+       .long   311238082
+       .long   1025781772
+       .long   0
+       .long   1072139264
+       .long   2150580224
+       .long   1070834092
+       .long   1664262457
+       .long   3175299224
+       .long   0
+       .long   1072120832
+       .long   4095672320
+       .long   1070884491
+       .long   1657121015
+       .long   3174674199
+       .long   0
+       .long   1072104448
+       .long   2595577856
+       .long   1070929805
+       .long   2014006823
+       .long   3175423830
+       .long   0
+       .long   1072087040
+       .long   3747176448
+       .long   1070978493
+       .long   144991708
+       .long   3171552042
+       .long   0
+       .long   1072070656
+       .long   1050435584
+       .long   1071024840
+       .long   3386227432
+       .long   1027876916
+       .long   0
+       .long   1072055296
+       .long   255516672
+       .long   1071068760
+       .long   2637594316
+       .long   1028049573
+       .long   0
+       .long   1072038912
+       .long   1640783872
+       .long   1071116120
+       .long   893247007
+       .long   1028452162
+       .long   0
+       .long   1072023552
+       .long   2940411904
+       .long   1071161011
+       .long   813240633
+       .long   1027664048
+       .long   0
+       .long   1072009216
+       .long   882917376
+       .long   1071203348
+       .long   2376597551
+       .long   3175828767
+       .long   0
+       .long   1071993856
+       .long   213966848
+       .long   1071249188
+       .long   2977204125
+       .long   1028350609
+       .long   0
+       .long   1071979520
+       .long   2921504768
+       .long   1071292428
+       .long   523218347
+       .long   1028007004
+       .long   0
+       .long   1071965184
+       .long   3186655232
+       .long   1071336119
+       .long   2352907891
+       .long   1026967097
+       .long   0
+       .long   1071951872
+       .long   2653364224
+       .long   1071377101
+       .long   2453418583
+       .long   3174349512
+       .long   0
+       .long   1071938560
+       .long   3759783936
+       .long   1071418487
+       .long   3685870403
+       .long   3175415611
+       .long   0
+       .long   1071925248
+       .long   2468364288
+       .long   1071460286
+       .long   1578908842
+       .long   3175510517
+       .long   0
+       .long   1071911936
+       .long   81903616
+       .long   1071502506
+       .long   770710269
+       .long   1026742353
+       .long   0
+       .long   1071899648
+       .long   2799321088
+       .long   1071541858
+       .long   3822266185
+       .long   1028434427
+       .long   0
+       .long   1071886336
+       .long   2142265344
+       .long   1071584911
+       .long   175901806
+       .long   3173871540
+       .long   0
+       .long   1071874048
+       .long   2944024576
+       .long   1071625048
+       .long   2747360403
+       .long   1027672159
+       .long   0
+       .long   1071862784
+       .long   3434301440
+       .long   1071653426
+       .long   4194662196
+       .long   3173893003
+       .long   0
+       .long   1071850496
+       .long   1547755520
+       .long   1071673870
+       .long   4248764681
+       .long   3172759087
+       .long   0
+       .long   1071839232
+       .long   4246986752
+       .long   1071692786
+       .long   2840205638
+       .long   3174430911
+       .long   0
+       .long   1071826944
+       .long   3418390528
+       .long   1071713619
+       .long   3041880823
+       .long   1025440860
+       .long   0
+       .long   1071816704
+       .long   4143093760
+       .long   1071731139
+       .long   2727587401
+       .long   3173965207
+       .long   0
+       .long   1071805440
+       .long   3121326080
+       .long   1071750582
+       .long   3173887692
+       .long   3174190163
+       .long   0
+       .long   1071794176
+       .long   1852893184
+       .long   1071770207
+       .long   3951060252
+       .long   1027348295
+       .long   0
+       .long   1071783936
+       .long   3636379648
+       .long   1071788208
+       .long   1684924001
+       .long   3174777086
+       .long   0
+       .long   1071773696
+       .long   516505600
+       .long   1071806366
+       .long   429181199
+       .long   3173211033
+       .long   0
+       .long   1071763456
+       .long   4186185728
+       .long   1071824681
+       .long   2044904577
+       .long   3174967132
+       .long   0
+       .long   1071753216
+       .long   877596672
+       .long   1071843159
+       .long   1396318105
+       .long   3173959727
+       .long   0
+       .long   1071742976
+       .long   2912784384
+       .long   1071861800
+       .long   448136789
+       .long   3174814192
+       .long   0
+       .long   1071733760
+       .long   3722825728
+       .long   1071878720
+       .long   714165913
+       .long   3173439560
+       .long   0
+       .long   1071723520
+       .long   2522374144
+       .long   1071897682
+       .long   3227240353
+       .long   3173394323
+       .long   0
+       .long   1071714304
+       .long   4165410816
+       .long   1071914895
+       .long   1365684961
+       .long   3174365060
+       .long   0
+       .long   1071705088
+       .long   3477135360
+       .long   1071932251
+       .long   368482985
+       .long   3174140821
+       .long   0
+       .long   1071695872
+       .long   2079455232
+       .long   1071949752
+       .long   1320576317
+       .long   1026822714
+       .long   0
+       .long   1071687680
+       .long   851795968
+       .long   1071965432
+       .long   3702467026
+       .long   1025224125
+       .long   0
+       .long   1071678464
+       .long   647743488
+       .long   1071983213
+       .long   772992109
+       .long   3174038459
+       .long   0
+       .long   1071670272
+       .long   26537984
+       .long   1071999146
+       .long   2360214276
+       .long   3174861275
+       .long   0
+       .long   1071661056
+       .long   1547061248
+       .long   1072017216
+       .long   2886781435
+       .long   1026423395
+       .long   0
+       .long   1071652864
+       .long   2854492160
+       .long   1072033410
+       .long   215631550
+       .long   1025638968
+       .long   0
+       .long   1071644672
+       .long   4277811200
+       .long   1072049730
+       .long   2479318832
+       .long   1026487127
+       .long   4277811200
+       .long   1072049730
+       .long   2479318832
+       .long   1026487127
+       .long   64
+       .long   1120927744
+       .long   0
+       .long   1094713344
+       .long   0
+       .long   1065615360
+       .long   0
+       .long   1135607808
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3219128320
+       .long   1431655955
+       .long   1070945621
+       .long   610
+       .long   3218079744
+       .long   2545118337
+       .long   1070176665
+       .long   1378399119
+       .long   3217380693
+       .long   612435357
+       .long   1069697472
+       .long   94536557
+       .long   3217031348
+       .type   __dlog1p_la_CoutTab,@object
+       .size   __dlog1p_la_CoutTab,1680
+       .align 16
+.L_2il0floatpacket.80:
+       .long   0x00000000,0x80000000,0x00000000,0x00000000
+       .type   .L_2il0floatpacket.80,@object
+       .size   .L_2il0floatpacket.80,16
+       .align 8
+.L_2il0floatpacket.81:
+       .long   0x00000000,0x3ff00000
+       .type   .L_2il0floatpacket.81,@object
+       .size   .L_2il0floatpacket.81,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_log1p_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_log1p_s_la.s
new file mode 100644 (file)
index 0000000..c6eeec2
--- /dev/null
@@ -0,0 +1,1650 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_log1pf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_log1pf16
+
+__svml_log1pf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vmovups   1984+__svml_slog1p_data_internal(%rip), %zmm2
+
+/* reduction: compute r,n */
+        vmovups   2688+__svml_slog1p_data_internal(%rip), %zmm12
+        vmovups   1088+__svml_slog1p_data_internal(%rip), %zmm4
+        vmovaps   %zmm0, %zmm3
+
+/* compute 1+x as high, low parts */
+        vmaxps    {sae}, %zmm3, %zmm2, %zmm5
+        vminps    {sae}, %zmm3, %zmm2, %zmm7
+        vandnps   %zmm3, %zmm4, %zmm1
+        vpternlogd $255, %zmm4, %zmm4, %zmm4
+        vaddps    {rn-sae}, %zmm7, %zmm5, %zmm9
+        vpsubd    %zmm12, %zmm9, %zmm10
+        vsubps    {rn-sae}, %zmm9, %zmm5, %zmm6
+
+/* check argument value ranges */
+        vpaddd    2560+__svml_slog1p_data_internal(%rip), %zmm9, %zmm8
+        vpsrad    $23, %zmm10, %zmm13
+        vmovups   2304+__svml_slog1p_data_internal(%rip), %zmm9
+        vpcmpd    $5, 2624+__svml_slog1p_data_internal(%rip), %zmm8, %k1
+        vpslld    $23, %zmm13, %zmm14
+        vaddps    {rn-sae}, %zmm7, %zmm6, %zmm15
+        vcvtdq2ps {rn-sae}, %zmm13, %zmm0
+        vpsubd    %zmm14, %zmm2, %zmm13
+        vmovups   2496+__svml_slog1p_data_internal(%rip), %zmm7
+        vmovups   2048+__svml_slog1p_data_internal(%rip), %zmm14
+        vmulps    {rn-sae}, %zmm13, %zmm15, %zmm6
+        vpandd    2752+__svml_slog1p_data_internal(%rip), %zmm10, %zmm11
+        vpaddd    %zmm12, %zmm11, %zmm5
+        vmovups   2240+__svml_slog1p_data_internal(%rip), %zmm10
+        vmovups   2176+__svml_slog1p_data_internal(%rip), %zmm11
+        vmovups   2112+__svml_slog1p_data_internal(%rip), %zmm12
+
+/* polynomial evaluation */
+        vsubps    {rn-sae}, %zmm2, %zmm5, %zmm2
+        vaddps    {rn-sae}, %zmm6, %zmm2, %zmm15
+        vmovups   2432+__svml_slog1p_data_internal(%rip), %zmm2
+        vfmadd231ps {rn-sae}, %zmm15, %zmm7, %zmm2
+        vpandnd   %zmm8, %zmm8, %zmm4{%k1}
+        vmovups   2368+__svml_slog1p_data_internal(%rip), %zmm8
+
+/* combine and get argument value range mask */
+        vptestmd  %zmm4, %zmm4, %k0
+        vfmadd213ps {rn-sae}, %zmm8, %zmm15, %zmm2
+        kmovw     %k0, %edx
+        vfmadd213ps {rn-sae}, %zmm9, %zmm15, %zmm2
+        vfmadd213ps {rn-sae}, %zmm10, %zmm15, %zmm2
+        vfmadd213ps {rn-sae}, %zmm11, %zmm15, %zmm2
+        vfmadd213ps {rn-sae}, %zmm12, %zmm15, %zmm2
+        vfmadd213ps {rn-sae}, %zmm14, %zmm15, %zmm2
+        vmulps    {rn-sae}, %zmm15, %zmm2, %zmm4
+        vfmadd213ps {rn-sae}, %zmm15, %zmm15, %zmm4
+
+/* final reconstruction */
+        vmovups   2816+__svml_slog1p_data_internal(%rip), %zmm15
+        vfmadd213ps {rn-sae}, %zmm4, %zmm15, %zmm0
+        vorps     %zmm1, %zmm0, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm3, 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_slog1p_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_log1pf16,@function
+       .size   __svml_log1pf16,.-__svml_log1pf16
+..LN__svml_log1pf16.0:
+
+.L_2__routine_start___svml_slog1p_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_slog1p_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movss     .L_2il0floatpacket.90(%rip), %xmm1
+        xorb      %r8b, %r8b
+        movss     (%rdi), %xmm5
+        addss     %xmm1, %xmm5
+        movss     %xmm5, -20(%rsp)
+        movzwl    -18(%rsp), %edx
+        andl      $32640, %edx
+        cmpl      $32640, %edx
+        je        .LBL_2_15
+
+
+        movss     %xmm5, -16(%rsp)
+        xorl      %ecx, %ecx
+        movzwl    -14(%rsp), %edx
+        testl     $32640, %edx
+        jne       .LBL_2_4
+
+
+        mulss     .L_2il0floatpacket.75(%rip), %xmm5
+        movb      $1, %r8b
+        movss     %xmm5, -16(%rsp)
+        movl      $-40, %ecx
+
+.LBL_2_4:
+
+        pxor      %xmm3, %xmm3
+        comiss    %xmm3, %xmm5
+        jbe       .LBL_2_10
+
+
+        movaps    %xmm5, %xmm2
+        subss     %xmm1, %xmm2
+        movss     %xmm2, -20(%rsp)
+        andb      $127, -17(%rsp)
+        movss     -20(%rsp), %xmm0
+        comiss    .L_2il0floatpacket.76(%rip), %xmm0
+        jbe       .LBL_2_9
+
+
+        movzwl    -14(%rsp), %edx
+        pxor      %xmm6, %xmm6
+        andl      $32640, %edx
+        shrl      $7, %edx
+        lea       -127(%rcx,%rdx), %ecx
+        cvtsi2ss  %ecx, %xmm6
+        cmpb      $1, %r8b
+        je        .LBL_2_13
+
+
+        movss     .L_2il0floatpacket.86(%rip), %xmm4
+        movss     .L_2il0floatpacket.87(%rip), %xmm0
+        mulss     %xmm6, %xmm4
+        mulss     %xmm0, %xmm6
+
+.LBL_2_8:
+
+        movss     %xmm5, -20(%rsp)
+        movaps    %xmm4, %xmm9
+        movzwl    -18(%rsp), %edx
+        lea       __slog1p_la_CoutTab(%rip), %r8
+        andl      $-32641, %edx
+        addl      $16256, %edx
+        movw      %dx, -18(%rsp)
+        movss     -20(%rsp), %xmm8
+        movaps    %xmm8, %xmm2
+        movss     .L_2il0floatpacket.89(%rip), %xmm7
+        addss     .L_2il0floatpacket.88(%rip), %xmm2
+        movss     %xmm2, -24(%rsp)
+        movl      -24(%rsp), %ecx
+        andl      $127, %ecx
+        lea       (%rcx,%rcx,2), %edi
+        movss     4(%r8,%rdi,4), %xmm5
+        movss     (%r8,%rdi,4), %xmm0
+        addss     %xmm5, %xmm9
+        addss     8(%r8,%rdi,4), %xmm6
+        movaps    %xmm9, %xmm3
+        subss     %xmm4, %xmm3
+        movss     %xmm3, -24(%rsp)
+        movss     -24(%rsp), %xmm4
+        subss     %xmm4, %xmm5
+        movss     %xmm5, -24(%rsp)
+        movss     -24(%rsp), %xmm10
+        addss     %xmm6, %xmm10
+        movaps    %xmm7, %xmm6
+        addss     %xmm8, %xmm6
+        movss     %xmm6, -24(%rsp)
+        movss     -24(%rsp), %xmm12
+        subss     %xmm7, %xmm12
+        subss     %xmm12, %xmm8
+        mulss     %xmm0, %xmm12
+        subss     %xmm1, %xmm12
+        mulss     %xmm8, %xmm0
+        movaps    %xmm0, %xmm15
+        movaps    %xmm12, %xmm2
+        addss     %xmm10, %xmm15
+        addss     %xmm9, %xmm12
+        addss     %xmm0, %xmm2
+        movaps    %xmm15, %xmm1
+        movaps    %xmm12, %xmm13
+        subss     %xmm10, %xmm1
+        addss     %xmm15, %xmm13
+        movss     %xmm1, -24(%rsp)
+        movss     -24(%rsp), %xmm11
+        subss     %xmm11, %xmm0
+        movss     %xmm0, -24(%rsp)
+        movss     -24(%rsp), %xmm0
+        movss     %xmm13, (%rsi)
+        subss     %xmm12, %xmm13
+        movss     .L_2il0floatpacket.83(%rip), %xmm12
+        mulss     %xmm2, %xmm12
+        movss     %xmm13, -24(%rsp)
+        movss     -24(%rsp), %xmm14
+        addss     .L_2il0floatpacket.82(%rip), %xmm12
+        subss     %xmm14, %xmm15
+        mulss     %xmm2, %xmm12
+        movss     %xmm15, -24(%rsp)
+        movss     -24(%rsp), %xmm1
+        addss     .L_2il0floatpacket.81(%rip), %xmm12
+        mulss     %xmm2, %xmm12
+        addss     .L_2il0floatpacket.80(%rip), %xmm12
+        mulss     %xmm2, %xmm12
+        addss     .L_2il0floatpacket.79(%rip), %xmm12
+        mulss     %xmm2, %xmm12
+        addss     .L_2il0floatpacket.78(%rip), %xmm12
+        mulss     %xmm2, %xmm12
+        addss     .L_2il0floatpacket.77(%rip), %xmm12
+        mulss     %xmm2, %xmm12
+        mulss     %xmm2, %xmm12
+        addss     %xmm12, %xmm0
+        addss     %xmm0, %xmm1
+        movss     %xmm1, -24(%rsp)
+        movss     -24(%rsp), %xmm3
+        addss     (%rsi), %xmm3
+        movss     %xmm3, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        movss     .L_2il0floatpacket.83(%rip), %xmm0
+        mulss     %xmm2, %xmm0
+        addss     .L_2il0floatpacket.82(%rip), %xmm0
+        mulss     %xmm2, %xmm0
+        addss     .L_2il0floatpacket.81(%rip), %xmm0
+        mulss     %xmm2, %xmm0
+        addss     .L_2il0floatpacket.80(%rip), %xmm0
+        mulss     %xmm2, %xmm0
+        addss     .L_2il0floatpacket.79(%rip), %xmm0
+        mulss     %xmm2, %xmm0
+        addss     .L_2il0floatpacket.78(%rip), %xmm0
+        mulss     %xmm2, %xmm0
+        addss     .L_2il0floatpacket.77(%rip), %xmm0
+        mulss     %xmm2, %xmm0
+        mulss     %xmm2, %xmm0
+        addss     %xmm2, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_10:
+
+        ucomiss   %xmm3, %xmm5
+        jp        .LBL_2_11
+        je        .LBL_2_14
+
+.LBL_2_11:
+
+        divss     %xmm3, %xmm3
+        movss     %xmm3, (%rsi)
+        movl      $1, %eax
+
+
+        ret
+
+.LBL_2_13:
+
+        movss     .L_2il0floatpacket.85(%rip), %xmm0
+        mulss     %xmm0, %xmm6
+        movaps    %xmm6, %xmm4
+        movaps    %xmm3, %xmm6
+        jmp       .LBL_2_8
+
+.LBL_2_14:
+
+        movss     .L_2il0floatpacket.84(%rip), %xmm0
+        movl      $2, %eax
+        divss     %xmm3, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_15:
+
+        movb      -17(%rsp), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_17
+
+.LBL_2_16:
+
+        mulss     %xmm5, %xmm5
+        movss     %xmm5, (%rsi)
+        ret
+
+.LBL_2_17:
+
+        testl     $8388607, -20(%rsp)
+        jne       .LBL_2_16
+
+
+        movl      $1, %eax
+        pxor      %xmm1, %xmm1
+        pxor      %xmm0, %xmm0
+        divss     %xmm0, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_slog1p_cout_rare_internal,@function
+       .size   __svml_slog1p_cout_rare_internal,.-__svml_slog1p_cout_rare_internal
+..LN__svml_slog1p_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_slog1p_data_internal:
+       .long   3266227256
+       .long   3107766024
+       .long   3266228276
+       .long   3107776882
+       .long   3266229284
+       .long   3109949545
+       .long   3266230292
+       .long   3108055846
+       .long   3266231292
+       .long   3106351937
+       .long   3266232276
+       .long   3109092567
+       .long   3266233260
+       .long   3107948216
+       .long   3266234236
+       .long   3107170960
+       .long   3266235204
+       .long   3106817287
+       .long   3266236164
+       .long   3106942449
+       .long   3266237116
+       .long   3107600489
+       .long   3266238060
+       .long   3108844279
+       .long   3266239004
+       .long   3106531253
+       .long   3266239932
+       .long   3109100650
+       .long   3266240860
+       .long   3108213420
+       .long   3266241780
+       .long   3108112381
+       .long   3266242692
+       .long   3108845034
+       .long   3266243604
+       .long   3106263589
+       .long   3266244500
+       .long   3108802209
+       .long   3266245396
+       .long   3108116909
+       .long   3266246284
+       .long   3108445707
+       .long   3266247164
+       .long   3109831435
+       .long   3266248044
+       .long   3108121760
+       .long   3266248916
+       .long   3107552123
+       .long   3266249780
+       .long   3108162844
+       .long   3266250644
+       .long   3105799146
+       .long   3266251492
+       .long   3108888393
+       .long   3266252340
+       .long   3109079979
+       .long   3266253188
+       .long   3106411173
+       .long   3266254020
+       .long   3109307139
+       .long   3266254852
+       .long   3109415127
+       .long   3266255684
+       .long   3106770317
+       .long   3266256500
+       .long   3109795834
+       .long   3266257324
+       .long   3105942641
+       .long   3266258132
+       .long   3107826892
+       .long   3266258940
+       .long   3107092610
+       .long   3266259740
+       .long   3107966131
+       .long   3266260540
+       .long   3106284596
+       .long   3266261332
+       .long   3106273188
+       .long   3266262116
+       .long   3107962226
+       .long   3266262900
+       .long   3107187186
+       .long   3266263676
+       .long   3108171617
+       .long   3266264452
+       .long   3106749947
+       .long   3266265220
+       .long   3107144703
+       .long   3266265980
+       .long   3109383615
+       .long   3266266740
+       .long   3109299629
+       .long   3266267500
+       .long   3106919521
+       .long   3266268252
+       .long   3106463913
+       .long   3266268996
+       .long   3107958670
+       .long   3266269740
+       .long   3107234917
+       .long   3266270476
+       .long   3108511954
+       .long   3266271212
+       .long   3107620056
+       .long   3266271940
+       .long   3108777693
+       .long   3266272668
+       .long   3107814325
+       .long   3266273388
+       .long   3108947630
+       .long   3266274108
+       .long   3108006290
+       .long   3266274820
+       .long   3109207222
+       .long   3266275532
+       .long   3108378366
+       .long   3266276236
+       .long   3109735912
+       .long   3266276940
+       .long   3109107087
+       .long   3266277644
+       .long   3106513079
+       .long   3266278340
+       .long   3106169044
+       .long   3266279028
+       .long   3108095503
+       .long   3266279716
+       .long   3108118349
+       .long   3266280404
+       .long   3106257463
+       .long   3266281084
+       .long   3106726720
+       .long   3266281756
+       .long   3109545389
+       .long   3266282436
+       .long   3106343833
+       .long   3266283100
+       .long   3109723642
+       .long   3266283772
+       .long   3107120300
+       .long   3266284436
+       .long   3106940529
+       .long   3266285092
+       .long   3109202170
+       .long   3266285748
+       .long   3109728494
+       .long   3266286404
+       .long   3108536808
+       .long   3266287052
+       .long   3109838471
+       .long   3266287700
+       .long   3109455977
+       .long   3266288348
+       .long   3107405879
+       .long   3266288988
+       .long   3107898790
+       .long   3266289628
+       .long   3106756477
+       .long   3266290260
+       .long   3108189081
+       .long   3266290892
+       .long   3108017907
+       .long   3266291524
+       .long   3106258339
+       .long   3266292148
+       .long   3107119845
+       .long   3266292772
+       .long   3106423069
+       .long   3266293388
+       .long   3108377050
+       .long   3266294004
+       .long   3108802011
+       .long   3266294620
+       .long   3107712277
+       .long   3266295228
+       .long   3109316274
+       .long   3266295836
+       .long   3109433625
+       .long   3266296444
+       .long   3108078064
+       .long   3266297044
+       .long   3109457438
+       .long   3266297644
+       .long   3109390801
+       .long   3266298244
+       .long   3107891329
+       .long   3266298836
+       .long   3109166323
+       .long   3266299428
+       .long   3109034299
+       .long   3266300020
+       .long   3107507904
+       .long   3266300604
+       .long   3108793919
+       .long   3266301188
+       .long   3108710352
+       .long   3266301772
+       .long   3107269350
+       .long   3266302348
+       .long   3108677203
+       .long   3266302924
+       .long   3108751436
+       .long   3266303500
+       .long   3107503720
+       .long   3266304068
+       .long   3109139881
+       .long   3266304636
+       .long   3109476985
+       .long   3266305204
+       .long   3108526254
+       .long   3266305772
+       .long   3106298768
+       .long   3266306332
+       .long   3106999765
+       .long   3266306892
+       .long   3106445739
+       .long   3266307444
+       .long   3108841650
+       .long   3266308004
+       .long   3105809415
+       .long   3266308548
+       .long   3109942336
+       .long   3266309100
+       .long   3108667760
+       .long   3266309652
+       .long   3106190122
+       .long   3266310196
+       .long   3106713732
+       .long   3266310740
+       .long   3106054165
+       .long   3266311276
+       .long   3108415484
+       .long   3266311812
+       .long   3109613023
+       .long   3266312348
+       .long   3109656301
+       .long   3266312884
+       .long   3108554723
+       .long   3266313420
+       .long   3106317576
+       .long   3266313948
+       .long   3107148341
+       .long   3266314476
+       .long   3106861780
+       .long   3266314996
+       .long   3109661153
+       .long   3266315524
+       .long   3107166702
+       .long   3266316044
+       .long   3107775778
+       .long   3266316564
+       .long   3107302717
+       .long   3266317076
+       .long   3109950361
+       .long   3266317596
+       .long   3107338539
+       .long   3266318108
+       .long   3107864196
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .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   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   964689920
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   2063597568
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   1051372345
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   3204448310
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   998244352
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   3212836863
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   2055208960
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   4294967040
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   1060205056
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .long   901758464
+       .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   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   1051372180
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   3196061070
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   1045225872
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   3190336823
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   1041222418
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   3189430755
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   1041073389
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   16777216
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   25165824
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   1059760811
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   8388607
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   2139095040
+       .long   4286578688
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .long   1065353216
+       .long   3212836864
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .long   0
+       .long   2147483648
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .byte   0
+       .type   __svml_slog1p_data_internal,@object
+       .size   __svml_slog1p_data_internal,3072
+       .align 32
+__slog1p_la_CoutTab:
+       .long   1065353216
+       .long   0
+       .long   0
+       .long   1065091072
+       .long   1015087104
+       .long   900509991
+       .long   1064828928
+       .long   1023541248
+       .long   925811956
+       .long   1064566784
+       .long   1027915776
+       .long   3084221144
+       .long   1064304640
+       .long   1032073216
+       .long   3066991812
+       .long   1064173568
+       .long   1033195520
+       .long   882149603
+       .long   1063911424
+       .long   1035468800
+       .long   928189163
+       .long   1063649280
+       .long   1037783040
+       .long   927501741
+       .long   1063518208
+       .long   1038958592
+       .long   3076037756
+       .long   1063256064
+       .long   1040759808
+       .long   904405630
+       .long   1063124992
+       .long   1041361920
+       .long   3052231524
+       .long   1062862848
+       .long   1042581504
+       .long   922094799
+       .long   1062731776
+       .long   1043201024
+       .long   3070120623
+       .long   1062469632
+       .long   1044455424
+       .long   3069864633
+       .long   1062338560
+       .long   1045091328
+       .long   3063188516
+       .long   1062207488
+       .long   1045733376
+       .long   3054902185
+       .long   1061945344
+       .long   1047035904
+       .long   920635797
+       .long   1061814272
+       .long   1047697408
+       .long   904920689
+       .long   1061683200
+       .long   1048365056
+       .long   912483742
+       .long   1061552128
+       .long   1048807936
+       .long   3052664405
+       .long   1061421056
+       .long   1049148416
+       .long   912794238
+       .long   1061158912
+       .long   1049840384
+       .long   889474359
+       .long   1061027840
+       .long   1050191872
+       .long   3059868362
+       .long   1060896768
+       .long   1050546944
+       .long   3059256525
+       .long   1060765696
+       .long   1050905600
+       .long   912008988
+       .long   1060634624
+       .long   1051268352
+       .long   912290698
+       .long   1060503552
+       .long   1051635200
+       .long   3037211048
+       .long   1060372480
+       .long   1052005888
+       .long   906226119
+       .long   1060241408
+       .long   1052380928
+       .long   3052480305
+       .long   1060110336
+       .long   1052760064
+       .long   3048768765
+       .long   1059979264
+       .long   1053143552
+       .long   3049975450
+       .long   1059848192
+       .long   1053531392
+       .long   894485718
+       .long   1059717120
+       .long   1053923840
+       .long   897598623
+       .long   1059586048
+       .long   1054320896
+       .long   907355277
+       .long   1059586048
+       .long   1054320896
+       .long   907355277
+       .long   1059454976
+       .long   1054722816
+       .long   881705073
+       .long   1059323904
+       .long   1055129600
+       .long   3049723733
+       .long   1059192832
+       .long   1055541248
+       .long   890353599
+       .long   1059061760
+       .long   1055958016
+       .long   908173938
+       .long   1059061760
+       .long   1055958016
+       .long   908173938
+       .long   1058930688
+       .long   1056380160
+       .long   883644938
+       .long   1058799616
+       .long   1056807680
+       .long   3052015799
+       .long   1058668544
+       .long   1057102592
+       .long   884897284
+       .long   1058668544
+       .long   1057102592
+       .long   884897284
+       .long   1058537472
+       .long   1057321920
+       .long   3037632470
+       .long   1058406400
+       .long   1057544128
+       .long   865017195
+       .long   1058275328
+       .long   1057769344
+       .long   3042936546
+       .long   1058275328
+       .long   1057769344
+       .long   3042936546
+       .long   1058144256
+       .long   1057997568
+       .long   903344518
+       .long   1058013184
+       .long   1058228992
+       .long   897862967
+       .long   1058013184
+       .long   1058228992
+       .long   897862967
+       .long   1057882112
+       .long   1058463680
+       .long   3047822280
+       .long   1057882112
+       .long   1058463680
+       .long   3047822280
+       .long   1057751040
+       .long   1058701632
+       .long   883793293
+       .long   1057619968
+       .long   1058943040
+       .long   851667963
+       .long   1057619968
+       .long   1058943040
+       .long   851667963
+       .long   1057488896
+       .long   1059187968
+       .long   3000004036
+       .long   1057488896
+       .long   1059187968
+       .long   3000004036
+       .long   1057357824
+       .long   1059436544
+       .long   3047430717
+       .long   1057357824
+       .long   1059436544
+       .long   3047430717
+       .long   1057226752
+       .long   1059688832
+       .long   3043802308
+       .long   1057226752
+       .long   1059688832
+       .long   3043802308
+       .long   1057095680
+       .long   1059944960
+       .long   876113044
+       .long   1057095680
+       .long   1059944960
+       .long   876113044
+       .long   1056964608
+       .long   1060205056
+       .long   901758606
+       .long   1060205056
+       .long   901758606
+       .long   1207959616
+       .long   1174405120
+       .long   1008730112
+       .long   1400897536
+       .long   0
+       .long   1065353216
+       .long   3204448256
+       .long   1051372203
+       .long   3196059648
+       .long   1045220557
+       .long   3190467243
+       .long   1041387009
+       .long   3187672480
+       .type   __slog1p_la_CoutTab,@object
+       .size   __slog1p_la_CoutTab,840
+       .align 4
+.L_2il0floatpacket.75:
+       .long   0x53800000
+       .type   .L_2il0floatpacket.75,@object
+       .size   .L_2il0floatpacket.75,4
+       .align 4
+.L_2il0floatpacket.76:
+       .long   0x3c200000
+       .type   .L_2il0floatpacket.76,@object
+       .size   .L_2il0floatpacket.76,4
+       .align 4
+.L_2il0floatpacket.77:
+       .long   0xbf000000
+       .type   .L_2il0floatpacket.77,@object
+       .size   .L_2il0floatpacket.77,4
+       .align 4
+.L_2il0floatpacket.78:
+       .long   0x3eaaaaab
+       .type   .L_2il0floatpacket.78,@object
+       .size   .L_2il0floatpacket.78,4
+       .align 4
+.L_2il0floatpacket.79:
+       .long   0xbe800000
+       .type   .L_2il0floatpacket.79,@object
+       .size   .L_2il0floatpacket.79,4
+       .align 4
+.L_2il0floatpacket.80:
+       .long   0x3e4ccccd
+       .type   .L_2il0floatpacket.80,@object
+       .size   .L_2il0floatpacket.80,4
+       .align 4
+.L_2il0floatpacket.81:
+       .long   0xbe2aaaab
+       .type   .L_2il0floatpacket.81,@object
+       .size   .L_2il0floatpacket.81,4
+       .align 4
+.L_2il0floatpacket.82:
+       .long   0x3e124e01
+       .type   .L_2il0floatpacket.82,@object
+       .size   .L_2il0floatpacket.82,4
+       .align 4
+.L_2il0floatpacket.83:
+       .long   0xbe0005a0
+       .type   .L_2il0floatpacket.83,@object
+       .size   .L_2il0floatpacket.83,4
+       .align 4
+.L_2il0floatpacket.84:
+       .long   0xbf800000
+       .type   .L_2il0floatpacket.84,@object
+       .size   .L_2il0floatpacket.84,4
+       .align 4
+.L_2il0floatpacket.85:
+       .long   0x3f317218
+       .type   .L_2il0floatpacket.85,@object
+       .size   .L_2il0floatpacket.85,4
+       .align 4
+.L_2il0floatpacket.86:
+       .long   0x3f317200
+       .type   .L_2il0floatpacket.86,@object
+       .size   .L_2il0floatpacket.86,4
+       .align 4
+.L_2il0floatpacket.87:
+       .long   0x35bfbe8e
+       .type   .L_2il0floatpacket.87,@object
+       .size   .L_2il0floatpacket.87,4
+       .align 4
+.L_2il0floatpacket.88:
+       .long   0x48000040
+       .type   .L_2il0floatpacket.88,@object
+       .size   .L_2il0floatpacket.88,4
+       .align 4
+.L_2il0floatpacket.89:
+       .long   0x46000000
+       .type   .L_2il0floatpacket.89,@object
+       .size   .L_2il0floatpacket.89,4
+       .align 4
+.L_2il0floatpacket.90:
+       .long   0x3f800000
+       .type   .L_2il0floatpacket.90,@object
+       .size   .L_2il0floatpacket.90,4
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_log2_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_log2_d_la.s
new file mode 100644 (file)
index 0000000..89d3bbc
--- /dev/null
@@ -0,0 +1,1714 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *  log2(x) = VGETEXP(x) + log2(VGETMANT(x))
+ *  *       VGETEXP, VGETMANT will correctly treat special cases too (including denormals)
+ *  *   mx = VGETMANT(x) is in [1,2) for all x>=0
+ *  *   log2(mx) = -log2(RCP(mx)) + log2(1 +(mx*RCP(mx)-1))
+ *  *      RCP(mx) is rounded to 4 fractional bits,
+ *  *      and the table lookup for log(RCP(mx)) is based on a small permute instruction
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_log28_z0_0:
+
+       .align    16,0x90
+       .globl __svml_log28
+
+__svml_log28:
+
+
+       .cfi_startproc
+..L2:
+
+        pushq     %rbp
+       .cfi_def_cfa_offset 16
+        movq      %rsp, %rbp
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+        andq      $-64, %rsp
+        subq      $192, %rsp
+        vmovaps   %zmm0, %zmm7
+
+/* GetMant(x), normalized to [1,2) for x>=0, NaN for x<0 */
+        vgetmantpd $8, {sae}, %zmm7, %zmm6
+        vmovups   128+__svml_dlog2_data_internal_avx512(%rip), %zmm2
+        vmovups   512+__svml_dlog2_data_internal_avx512(%rip), %zmm12
+        vmovups   640+__svml_dlog2_data_internal_avx512(%rip), %zmm13
+
+/* Start polynomial evaluation */
+        vmovups   256+__svml_dlog2_data_internal_avx512(%rip), %zmm10
+        vmovups   320+__svml_dlog2_data_internal_avx512(%rip), %zmm0
+        vmovups   384+__svml_dlog2_data_internal_avx512(%rip), %zmm11
+        vmovups   448+__svml_dlog2_data_internal_avx512(%rip), %zmm14
+
+/* Prepare exponent correction: DblRcp<0.75? */
+        vmovups   192+__svml_dlog2_data_internal_avx512(%rip), %zmm1
+
+/* Table lookup */
+        vmovups   __svml_dlog2_data_internal_avx512(%rip), %zmm4
+
+/* GetExp(x) */
+        vgetexppd {sae}, %zmm7, %zmm5
+
+/* DblRcp ~ 1/Mantissa */
+        vrcp14pd  %zmm6, %zmm8
+
+/* x<=0? */
+        vfpclasspd $94, %zmm7, %k0
+
+/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */
+        vrndscalepd $88, {sae}, %zmm8, %zmm3
+        vmovups   576+__svml_dlog2_data_internal_avx512(%rip), %zmm8
+        kmovw     %k0, %edx
+
+/* Reduced argument: R = DblRcp*Mantissa - 1 */
+        vfmsub213pd {rn-sae}, %zmm2, %zmm3, %zmm6
+        vcmppd    $17, {sae}, %zmm1, %zmm3, %k1
+        vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8
+        vmovups   704+__svml_dlog2_data_internal_avx512(%rip), %zmm12
+        vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm0
+        vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14
+        vmovups   768+__svml_dlog2_data_internal_avx512(%rip), %zmm1
+
+/* R^2 */
+        vmulpd    {rn-sae}, %zmm6, %zmm6, %zmm15
+        vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12
+
+/* Prepare table index */
+        vpsrlq    $48, %zmm3, %zmm9
+
+/* add 1 to Expon if DblRcp<0.75 */
+        vaddpd    {rn-sae}, %zmm2, %zmm5, %zmm5{%k1}
+        vmulpd    {rn-sae}, %zmm15, %zmm15, %zmm13
+        vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm0
+        vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8
+        vpermt2pd 64+__svml_dlog2_data_internal_avx512(%rip), %zmm9, %zmm4
+
+/* polynomial */
+        vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm0
+        vfmadd213pd {rn-sae}, %zmm1, %zmm6, %zmm0
+        vfmadd213pd {rn-sae}, %zmm4, %zmm0, %zmm6
+        vaddpd    {rn-sae}, %zmm6, %zmm5, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm7, 64(%rsp)
+        vmovups   %zmm0, 128(%rsp)
+        je        .LBL_1_2
+
+
+        xorl      %eax, %eax
+
+
+        vzeroupper
+        kmovw     %k4, 24(%rsp)
+        kmovw     %k5, 16(%rsp)
+        kmovw     %k6, 8(%rsp)
+        kmovw     %k7, (%rsp)
+        movq      %rsi, 40(%rsp)
+        movq      %rdi, 32(%rsp)
+        movq      %r12, 56(%rsp)
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_7:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_10
+
+.LBL_1_8:
+
+        incl      %r12d
+        cmpl      $8, %r12d
+        jl        .LBL_1_7
+
+
+        kmovw     24(%rsp), %k4
+       .cfi_restore 122
+        kmovw     16(%rsp), %k5
+       .cfi_restore 123
+        kmovw     8(%rsp), %k6
+       .cfi_restore 124
+        kmovw     (%rsp), %k7
+       .cfi_restore 125
+        vmovups   128(%rsp), %zmm0
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+
+        call      __svml_dlog2_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_log28,@function
+       .size   __svml_log28,.-__svml_log28
+..LN__svml_log28.0:
+
+.L_2__routine_start___svml_dlog2_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dlog2_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        movq      $0, -64(%rsp)
+        movsd     -64(%rsp), %xmm0
+        movsd     (%rdi), %xmm1
+        movups    _zeros.402.0.0.1(%rip), %xmm2
+        subsd     %xmm0, %xmm1
+        movsd     %xmm1, -8(%rsp)
+        movups    %xmm2, -56(%rsp)
+
+
+        movups    _ones.402.0.0.1(%rip), %xmm0
+        movups    %xmm0, -40(%rsp)
+
+
+        movups    _infs.402.0.0.1(%rip), %xmm0
+        movups    %xmm0, -24(%rsp)
+
+
+        movl      -4(%rsp), %eax
+        cmpl      $2146435072, %eax
+        jae       .LBL_2_19
+
+
+        lea       -1072660480(%rax), %edx
+        cmpl      $53248, %edx
+        jae       .LBL_2_14
+
+
+        lea       -1072693232(%rax), %edx
+        cmpl      $24, %edx
+        jae       .LBL_2_13
+
+
+        movl      -8(%rsp), %edi
+        movl      %eax, %ecx
+        movl      %edi, %edx
+        shll      $11, %ecx
+        shrl      $21, %edx
+        orl       %edx, %ecx
+        addl      $-2147483646, %ecx
+        cmpl      $3, %ecx
+        jae       .LBL_2_12
+
+
+        addl      $-1072693248, %eax
+        orl       %edi, %eax
+        jne       .LBL_2_10
+
+
+        movq      -56(%rsp), %rax
+        movq      %rax, (%rsi)
+        jmp       .LBL_2_11
+
+.LBL_2_10:
+
+        movsd     -8(%rsp), %xmm0
+        movsd     16+__dlog2_la__Q3(%rip), %xmm2
+        movsd     24+__dlog2_la__Q3(%rip), %xmm1
+        addsd     -32(%rsp), %xmm0
+        mulsd     %xmm0, %xmm2
+        mulsd     %xmm0, %xmm1
+        addsd     8+__dlog2_la__Q3(%rip), %xmm2
+        mulsd     %xmm0, %xmm2
+        movsd     %xmm0, -8(%rsp)
+        addsd     __dlog2_la__Q3(%rip), %xmm2
+        mulsd     %xmm0, %xmm2
+        addsd     %xmm1, %xmm2
+        movsd     %xmm2, (%rsi)
+
+.LBL_2_11:
+
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_12:
+
+        movsd     -8(%rsp), %xmm2
+        xorl      %eax, %eax
+        movsd     16+__dlog2_la__Q2(%rip), %xmm1
+        movsd     24+__dlog2_la__Q2(%rip), %xmm3
+        addsd     -32(%rsp), %xmm2
+        movaps    %xmm2, %xmm0
+        mulsd     %xmm2, %xmm0
+        mulsd     %xmm0, %xmm1
+        mulsd     %xmm0, %xmm3
+        addsd     __dlog2_la__Q2(%rip), %xmm1
+        addsd     8+__dlog2_la__Q2(%rip), %xmm3
+        mulsd     %xmm2, %xmm1
+        mulsd     %xmm0, %xmm3
+        movsd     %xmm2, -8(%rsp)
+        addsd     %xmm1, %xmm3
+        movl      $0, -8(%rsp)
+        movsd     -8(%rsp), %xmm4
+        subsd     %xmm4, %xmm2
+        addsd     %xmm2, %xmm4
+        mulsd     32+__dlog2_la__Q2(%rip), %xmm4
+        addsd     %xmm3, %xmm4
+        movsd     %xmm4, (%rsi)
+        ret
+
+.LBL_2_13:
+
+        movsd     -8(%rsp), %xmm2
+        xorl      %eax, %eax
+        movsd     72+__dlog2_la__Q1(%rip), %xmm10
+        movsd     64+__dlog2_la__Q1(%rip), %xmm4
+        movsd     __dlog2_la__TWO_32P(%rip), %xmm5
+        movsd     __dlog2_la__TWO_32P(%rip), %xmm7
+        movsd     88+__dlog2_la__Q1(%rip), %xmm14
+        movsd     __dlog2_la__TWO_32P(%rip), %xmm11
+        movsd     __dlog2_la__TWO_32P(%rip), %xmm15
+        addsd     -32(%rsp), %xmm2
+        movaps    %xmm2, %xmm3
+        movaps    %xmm2, %xmm6
+        mulsd     %xmm2, %xmm3
+        movaps    %xmm2, %xmm0
+        mulsd     %xmm2, %xmm5
+        mulsd     __dlog2_la__TWO_32(%rip), %xmm6
+        mulsd     %xmm3, %xmm10
+        mulsd     %xmm3, %xmm4
+        addsd     56+__dlog2_la__Q1(%rip), %xmm10
+        addsd     48+__dlog2_la__Q1(%rip), %xmm4
+        mulsd     %xmm3, %xmm10
+        mulsd     %xmm3, %xmm4
+        addsd     40+__dlog2_la__Q1(%rip), %xmm10
+        addsd     32+__dlog2_la__Q1(%rip), %xmm4
+        mulsd     %xmm3, %xmm10
+        mulsd     %xmm3, %xmm4
+        addsd     24+__dlog2_la__Q1(%rip), %xmm10
+        addsd     16+__dlog2_la__Q1(%rip), %xmm4
+        mulsd     %xmm3, %xmm10
+        mulsd     %xmm2, %xmm4
+        movsd     __dlog2_la__TWO_32(%rip), %xmm3
+        addsd     %xmm4, %xmm10
+        mulsd     %xmm10, %xmm7
+        movaps    %xmm3, %xmm8
+        mulsd     %xmm10, %xmm8
+        movsd     %xmm5, -72(%rsp)
+        movsd     -72(%rsp), %xmm1
+        movsd     %xmm7, -72(%rsp)
+        subsd     %xmm6, %xmm1
+        movsd     -72(%rsp), %xmm9
+        subsd     %xmm1, %xmm0
+        subsd     %xmm8, %xmm9
+        movsd     %xmm1, -8(%rsp)
+        subsd     %xmm9, %xmm10
+        addsd     %xmm9, %xmm14
+        addsd     8+__dlog2_la__Q1(%rip), %xmm10
+        movaps    %xmm14, %xmm4
+        mulsd     %xmm0, %xmm4
+        mulsd     %xmm2, %xmm10
+        mulsd     %xmm1, %xmm14
+        addsd     %xmm0, %xmm1
+        addsd     %xmm10, %xmm4
+        movaps    %xmm4, %xmm12
+        movsd     80+__dlog2_la__Q1(%rip), %xmm9
+        addsd     %xmm14, %xmm12
+        mulsd     %xmm12, %xmm11
+        mulsd     %xmm3, %xmm12
+        movsd     %xmm11, -72(%rsp)
+        movsd     -72(%rsp), %xmm13
+        subsd     %xmm12, %xmm13
+        subsd     %xmm13, %xmm4
+        addsd     %xmm13, %xmm9
+        addsd     %xmm14, %xmm4
+        movaps    %xmm9, %xmm13
+        addsd     __dlog2_la__Q1(%rip), %xmm4
+        addsd     %xmm4, %xmm13
+        mulsd     %xmm13, %xmm15
+        mulsd     %xmm3, %xmm13
+        movsd     %xmm15, -72(%rsp)
+        movsd     -72(%rsp), %xmm14
+        subsd     %xmm13, %xmm14
+        mulsd     %xmm14, %xmm1
+        subsd     %xmm14, %xmm9
+        addsd     %xmm9, %xmm4
+        mulsd     %xmm2, %xmm4
+        addsd     %xmm4, %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        movl      %eax, %ecx
+        movl      %eax, %edx
+        shrl      $20, %ecx
+        andl      $1048575, %edx
+        addl      $-1023, %ecx
+        cmpl      $1048576, %eax
+        jae       .LBL_2_18
+
+
+        movl      %edx, -4(%rsp)
+        movl      -8(%rsp), %edx
+        orl       %edx, %eax
+        jne       .LBL_2_17
+
+
+        movsd     -32(%rsp), %xmm0
+        movl      $2, %eax
+        divsd     -56(%rsp), %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_17:
+
+        movsd     -8(%rsp), %xmm0
+        mulsd     __dlog2_la__TWO_55(%rip), %xmm0
+        movsd     %xmm0, -8(%rsp)
+        movl      -4(%rsp), %edx
+        movl      %edx, %ecx
+        shrl      $20, %ecx
+        movl      %edx, %eax
+        addl      $-1078, %ecx
+
+.LBL_2_18:
+
+        shrl      $12, %eax
+        orl       $1072693248, %edx
+        movzbl    %al, %edi
+        pxor      %xmm7, %xmm7
+        movl      %edx, -4(%rsp)
+        lea       __dlog2_la___libm_rcp_table_256(%rip), %rdx
+        movsd     -8(%rsp), %xmm10
+        pxor      %xmm8, %xmm8
+        movl      $0, -8(%rsp)
+        lea       __dlog2_la___libm_log2_table_256(%rip), %rax
+        movsd     -8(%rsp), %xmm0
+        cvtss2sd  (%rdx,%rdi,4), %xmm7
+        cvtsi2sd  %ecx, %xmm8
+        subsd     %xmm0, %xmm10
+        mulsd     %xmm7, %xmm10
+        mulsd     %xmm0, %xmm7
+        movsd     40+__dlog2_la__P(%rip), %xmm4
+        movsd     32+__dlog2_la__P(%rip), %xmm3
+        movsd     48+__dlog2_la__P(%rip), %xmm5
+        movsd     __dlog2_la__TWO_32(%rip), %xmm6
+        shlq      $4, %rdi
+        addsd     -32(%rsp), %xmm7
+        movaps    %xmm7, %xmm2
+        mulsd     %xmm5, %xmm7
+        addsd     %xmm10, %xmm2
+        mulsd     %xmm5, %xmm10
+        addsd     %xmm7, %xmm6
+        movaps    %xmm2, %xmm1
+        mulsd     %xmm2, %xmm1
+        mulsd     %xmm1, %xmm4
+        mulsd     %xmm1, %xmm3
+        addsd     24+__dlog2_la__P(%rip), %xmm4
+        addsd     16+__dlog2_la__P(%rip), %xmm3
+        mulsd     %xmm1, %xmm4
+        mulsd     %xmm1, %xmm3
+        addsd     8+__dlog2_la__P(%rip), %xmm4
+        addsd     __dlog2_la__P(%rip), %xmm3
+        mulsd     %xmm1, %xmm4
+        mulsd     %xmm2, %xmm3
+        movsd     %xmm6, -72(%rsp)
+        addsd     %xmm3, %xmm4
+        addsd     8(%rax,%rdi), %xmm8
+        addsd     %xmm4, %xmm10
+        movsd     -72(%rsp), %xmm9
+        subsd     __dlog2_la__TWO_32(%rip), %xmm9
+        subsd     %xmm9, %xmm7
+        addsd     %xmm8, %xmm9
+        addsd     (%rax,%rdi), %xmm7
+        movsd     %xmm9, -8(%rsp)
+        xorl      %eax, %eax
+        addsd     %xmm7, %xmm10
+        addsd     %xmm9, %xmm10
+        movsd     %xmm10, (%rsi)
+        ret
+
+.LBL_2_19:
+
+        movl      %eax, %edx
+        andl      $2147483647, %edx
+        cmpl      $2146435072, %edx
+        ja        .LBL_2_28
+
+
+        jne       .LBL_2_22
+
+
+        cmpl      $0, -8(%rsp)
+        jne       .LBL_2_28
+
+.LBL_2_22:
+
+        testl     $-2147483648, %eax
+        je        .LBL_2_27
+
+
+        movl      -8(%rsp), %eax
+        orl       %eax, %edx
+        movsd     -56(%rsp), %xmm1
+        jne       .LBL_2_25
+
+
+        movsd     -32(%rsp), %xmm0
+        movl      $2, %eax
+        divsd     %xmm1, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_25:
+
+        movsd     -24(%rsp), %xmm0
+        movl      $1, %eax
+        mulsd     %xmm1, %xmm0
+        movsd     %xmm0, (%rsi)
+
+
+        ret
+
+.LBL_2_27:
+
+        movq      -8(%rsp), %rax
+        movq      %rax, (%rsi)
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_28:
+
+        movsd     -8(%rsp), %xmm0
+        xorl      %eax, %eax
+        mulsd     -40(%rsp), %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dlog2_cout_rare_internal,@function
+       .size   __svml_dlog2_cout_rare_internal,.-__svml_dlog2_cout_rare_internal
+..LN__svml_dlog2_cout_rare_internal.1:
+       .section .rodata, "a"
+       .align 64
+       .align 16
+_zeros.402.0.0.1:
+       .long   0
+       .long   0
+       .long   0
+       .long   2147483648
+       .align 16
+_ones.402.0.0.1:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3220176896
+       .align 16
+_infs.402.0.0.1:
+       .long   0
+       .long   2146435072
+       .long   0
+       .long   4293918720
+
+       .section .rodata, "a"
+       .space 16, 0x00         
+       .align 64
+__svml_dlog2_data_internal_avx512:
+       .long   0
+       .long   0
+       .long   4207481622
+       .long   3216401398
+       .long   972805768
+       .long   3217408026
+       .long   3103942666
+       .long   3218062358
+       .long   1271733131
+       .long   3218381432
+       .long   2300516105
+       .long   3218676666
+       .long   3761433103
+       .long   3218958163
+       .long   14039718
+       .long   3219177733
+       .long   1904282206
+       .long   1071288313
+       .long   1751501034
+       .long   1071041295
+       .long   3815829096
+       .long   1070803966
+       .long   2835758645
+       .long   1070555096
+       .long   180337970
+       .long   1070114968
+       .long   3266000023
+       .long   1069690285
+       .long   2530196300
+       .long   1069012484
+       .long   3386464469
+       .long   1067938708
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   3658358034
+       .long   1069846603
+       .long   3658358034
+       .long   1069846603
+       .long   3658358034
+       .long   1069846603
+       .long   3658358034
+       .long   1069846603
+       .long   3658358034
+       .long   1069846603
+       .long   3658358034
+       .long   1069846603
+       .long   3658358034
+       .long   1069846603
+       .long   3658358034
+       .long   1069846603
+       .long   1307270350
+       .long   3217498040
+       .long   1307270350
+       .long   3217498040
+       .long   1307270350
+       .long   3217498040
+       .long   1307270350
+       .long   3217498040
+       .long   1307270350
+       .long   3217498040
+       .long   1307270350
+       .long   3217498040
+       .long   1307270350
+       .long   3217498040
+       .long   1307270350
+       .long   3217498040
+       .long   1367442963
+       .long   1070227827
+       .long   1367442963
+       .long   1070227827
+       .long   1367442963
+       .long   1070227827
+       .long   1367442963
+       .long   1070227827
+       .long   1367442963
+       .long   1070227827
+       .long   1367442963
+       .long   1070227827
+       .long   1367442963
+       .long   1070227827
+       .long   1367442963
+       .long   1070227827
+       .long   3840087116
+       .long   3217999623
+       .long   3840087116
+       .long   3217999623
+       .long   3840087116
+       .long   3217999623
+       .long   3840087116
+       .long   3217999623
+       .long   3840087116
+       .long   3217999623
+       .long   3840087116
+       .long   3217999623
+       .long   3840087116
+       .long   3217999623
+       .long   3840087116
+       .long   3217999623
+       .long   1360320794
+       .long   1070757740
+       .long   1360320794
+       .long   1070757740
+       .long   1360320794
+       .long   1070757740
+       .long   1360320794
+       .long   1070757740
+       .long   1360320794
+       .long   1070757740
+       .long   1360320794
+       .long   1070757740
+       .long   1360320794
+       .long   1070757740
+       .long   1360320794
+       .long   1070757740
+       .long   1698500493
+       .long   3218543943
+       .long   1698500493
+       .long   3218543943
+       .long   1698500493
+       .long   3218543943
+       .long   1698500493
+       .long   3218543943
+       .long   1698500493
+       .long   3218543943
+       .long   1698500493
+       .long   3218543943
+       .long   1698500493
+       .long   3218543943
+       .long   1698500493
+       .long   3218543943
+       .long   3694789279
+       .long   1071564553
+       .long   3694789279
+       .long   1071564553
+       .long   3694789279
+       .long   1071564553
+       .long   3694789279
+       .long   1071564553
+       .long   3694789279
+       .long   1071564553
+       .long   3694789279
+       .long   1071564553
+       .long   3694789279
+       .long   1071564553
+       .long   3694789279
+       .long   1071564553
+       .long   1697350356
+       .long   3219592519
+       .long   1697350356
+       .long   3219592519
+       .long   1697350356
+       .long   3219592519
+       .long   1697350356
+       .long   3219592519
+       .long   1697350356
+       .long   3219592519
+       .long   1697350356
+       .long   3219592519
+       .long   1697350356
+       .long   3219592519
+       .long   1697350356
+       .long   3219592519
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   1697350398
+       .long   1073157447
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .type   __svml_dlog2_data_internal_avx512,@object
+       .size   __svml_dlog2_data_internal_avx512,1088
+       .align 64
+__dlog2_la__Q3:
+       .long   3213221364
+       .long   1050233568
+       .long   1697350398
+       .long   3219592519
+       .long   3694789629
+       .long   1071564553
+       .long   0
+       .long   1073157447
+       .type   __dlog2_la__Q3,@object
+       .size   __dlog2_la__Q3,32
+       .space 32, 0x00         
+       .align 64
+__dlog2_la__Q2:
+       .long   3213221358
+       .long   1050233568
+       .long   1697350398
+       .long   3219592519
+       .long   3695167823
+       .long   1071564553
+       .long   1697791998
+       .long   3218543943
+       .long   0
+       .long   1073157447
+       .type   __dlog2_la__Q2,@object
+       .size   __dlog2_la__Q2,40
+       .space 24, 0x00         
+       .align 64
+__dlog2_la__Q1:
+       .long   3213221370
+       .long   1050233568
+       .long   3213207734
+       .long   3196668640
+       .long   3694789628
+       .long   1071564553
+       .long   1697350743
+       .long   3218543943
+       .long   1357908666
+       .long   1070757740
+       .long   3685007067
+       .long   3217999625
+       .long   96832070
+       .long   1070227830
+       .long   1140452344
+       .long   3217495379
+       .long   2606274745
+       .long   1069844296
+       .long   1933654871
+       .long   3217172449
+       .long   0
+       .long   1073157447
+       .long   0
+       .long   3219592519
+       .type   __dlog2_la__Q1,@object
+       .size   __dlog2_la__Q1,96
+       .space 32, 0x00         
+       .align 64
+__dlog2_la__TWO_32P:
+       .long   1048576
+       .long   1106247680
+       .type   __dlog2_la__TWO_32P,@object
+       .size   __dlog2_la__TWO_32P,8
+       .space 56, 0x00         
+       .align 64
+__dlog2_la__TWO_32:
+       .long   0
+       .long   1106247680
+       .type   __dlog2_la__TWO_32,@object
+       .size   __dlog2_la__TWO_32,8
+       .space 56, 0x00         
+       .align 64
+__dlog2_la__TWO_55:
+       .long   0
+       .long   1130364928
+       .type   __dlog2_la__TWO_55,@object
+       .size   __dlog2_la__TWO_55,8
+       .space 56, 0x00         
+       .align 64
+__dlog2_la___libm_rcp_table_256:
+       .long   0x3f7f8000
+       .long   0x3f7e8000
+       .long   0x3f7d8000
+       .long   0x3f7c8000
+       .long   0x3f7ba000
+       .long   0x3f7aa000
+       .long   0x3f79a000
+       .long   0x3f78c000
+       .long   0x3f77c000
+       .long   0x3f76e000
+       .long   0x3f75e000
+       .long   0x3f750000
+       .long   0x3f742000
+       .long   0x3f732000
+       .long   0x3f724000
+       .long   0x3f716000
+       .long   0x3f708000
+       .long   0x3f6fa000
+       .long   0x3f6ec000
+       .long   0x3f6de000
+       .long   0x3f6d0000
+       .long   0x3f6c2000
+       .long   0x3f6b6000
+       .long   0x3f6a8000
+       .long   0x3f69a000
+       .long   0x3f68c000
+       .long   0x3f680000
+       .long   0x3f672000
+       .long   0x3f666000
+       .long   0x3f658000
+       .long   0x3f64c000
+       .long   0x3f640000
+       .long   0x3f632000
+       .long   0x3f626000
+       .long   0x3f61a000
+       .long   0x3f60e000
+       .long   0x3f600000
+       .long   0x3f5f4000
+       .long   0x3f5e8000
+       .long   0x3f5dc000
+       .long   0x3f5d0000
+       .long   0x3f5c4000
+       .long   0x3f5b8000
+       .long   0x3f5ae000
+       .long   0x3f5a2000
+       .long   0x3f596000
+       .long   0x3f58a000
+       .long   0x3f57e000
+       .long   0x3f574000
+       .long   0x3f568000
+       .long   0x3f55e000
+       .long   0x3f552000
+       .long   0x3f546000
+       .long   0x3f53c000
+       .long   0x3f532000
+       .long   0x3f526000
+       .long   0x3f51c000
+       .long   0x3f510000
+       .long   0x3f506000
+       .long   0x3f4fc000
+       .long   0x3f4f2000
+       .long   0x3f4e6000
+       .long   0x3f4dc000
+       .long   0x3f4d2000
+       .long   0x3f4c8000
+       .long   0x3f4be000
+       .long   0x3f4b4000
+       .long   0x3f4aa000
+       .long   0x3f4a0000
+       .long   0x3f496000
+       .long   0x3f48c000
+       .long   0x3f482000
+       .long   0x3f478000
+       .long   0x3f46e000
+       .long   0x3f464000
+       .long   0x3f45c000
+       .long   0x3f452000
+       .long   0x3f448000
+       .long   0x3f43e000
+       .long   0x3f436000
+       .long   0x3f42c000
+       .long   0x3f422000
+       .long   0x3f41a000
+       .long   0x3f410000
+       .long   0x3f408000
+       .long   0x3f3fe000
+       .long   0x3f3f6000
+       .long   0x3f3ec000
+       .long   0x3f3e4000
+       .long   0x3f3da000
+       .long   0x3f3d2000
+       .long   0x3f3ca000
+       .long   0x3f3c0000
+       .long   0x3f3b8000
+       .long   0x3f3b0000
+       .long   0x3f3a8000
+       .long   0x3f39e000
+       .long   0x3f396000
+       .long   0x3f38e000
+       .long   0x3f386000
+       .long   0x3f37e000
+       .long   0x3f376000
+       .long   0x3f36c000
+       .long   0x3f364000
+       .long   0x3f35c000
+       .long   0x3f354000
+       .long   0x3f34c000
+       .long   0x3f344000
+       .long   0x3f33c000
+       .long   0x3f334000
+       .long   0x3f32e000
+       .long   0x3f326000
+       .long   0x3f31e000
+       .long   0x3f316000
+       .long   0x3f30e000
+       .long   0x3f306000
+       .long   0x3f2fe000
+       .long   0x3f2f8000
+       .long   0x3f2f0000
+       .long   0x3f2e8000
+       .long   0x3f2e2000
+       .long   0x3f2da000
+       .long   0x3f2d2000
+       .long   0x3f2cc000
+       .long   0x3f2c4000
+       .long   0x3f2bc000
+       .long   0x3f2b6000
+       .long   0x3f2ae000
+       .long   0x3f2a8000
+       .long   0x3f2a0000
+       .long   0x3f29a000
+       .long   0x3f292000
+       .long   0x3f28c000
+       .long   0x3f284000
+       .long   0x3f27e000
+       .long   0x3f276000
+       .long   0x3f270000
+       .long   0x3f268000
+       .long   0x3f262000
+       .long   0x3f25c000
+       .long   0x3f254000
+       .long   0x3f24e000
+       .long   0x3f248000
+       .long   0x3f240000
+       .long   0x3f23a000
+       .long   0x3f234000
+       .long   0x3f22e000
+       .long   0x3f226000
+       .long   0x3f220000
+       .long   0x3f21a000
+       .long   0x3f214000
+       .long   0x3f20e000
+       .long   0x3f206000
+       .long   0x3f200000
+       .long   0x3f1fa000
+       .long   0x3f1f4000
+       .long   0x3f1ee000
+       .long   0x3f1e8000
+       .long   0x3f1e2000
+       .long   0x3f1dc000
+       .long   0x3f1d6000
+       .long   0x3f1d0000
+       .long   0x3f1ca000
+       .long   0x3f1c4000
+       .long   0x3f1be000
+       .long   0x3f1b8000
+       .long   0x3f1b2000
+       .long   0x3f1ac000
+       .long   0x3f1a6000
+       .long   0x3f1a0000
+       .long   0x3f19a000
+       .long   0x3f194000
+       .long   0x3f190000
+       .long   0x3f18a000
+       .long   0x3f184000
+       .long   0x3f17e000
+       .long   0x3f178000
+       .long   0x3f172000
+       .long   0x3f16e000
+       .long   0x3f168000
+       .long   0x3f162000
+       .long   0x3f15c000
+       .long   0x3f158000
+       .long   0x3f152000
+       .long   0x3f14c000
+       .long   0x3f148000
+       .long   0x3f142000
+       .long   0x3f13c000
+       .long   0x3f138000
+       .long   0x3f132000
+       .long   0x3f12c000
+       .long   0x3f128000
+       .long   0x3f122000
+       .long   0x3f11c000
+       .long   0x3f118000
+       .long   0x3f112000
+       .long   0x3f10e000
+       .long   0x3f108000
+       .long   0x3f104000
+       .long   0x3f0fe000
+       .long   0x3f0f8000
+       .long   0x3f0f4000
+       .long   0x3f0ee000
+       .long   0x3f0ea000
+       .long   0x3f0e6000
+       .long   0x3f0e0000
+       .long   0x3f0dc000
+       .long   0x3f0d6000
+       .long   0x3f0d2000
+       .long   0x3f0cc000
+       .long   0x3f0c8000
+       .long   0x3f0c2000
+       .long   0x3f0be000
+       .long   0x3f0ba000
+       .long   0x3f0b4000
+       .long   0x3f0b0000
+       .long   0x3f0ac000
+       .long   0x3f0a6000
+       .long   0x3f0a2000
+       .long   0x3f09e000
+       .long   0x3f098000
+       .long   0x3f094000
+       .long   0x3f090000
+       .long   0x3f08a000
+       .long   0x3f086000
+       .long   0x3f082000
+       .long   0x3f07e000
+       .long   0x3f078000
+       .long   0x3f074000
+       .long   0x3f070000
+       .long   0x3f06c000
+       .long   0x3f066000
+       .long   0x3f062000
+       .long   0x3f05e000
+       .long   0x3f05a000
+       .long   0x3f056000
+       .long   0x3f052000
+       .long   0x3f04c000
+       .long   0x3f048000
+       .long   0x3f044000
+       .long   0x3f040000
+       .long   0x3f03c000
+       .long   0x3f038000
+       .long   0x3f034000
+       .long   0x3f030000
+       .long   0x3f02a000
+       .long   0x3f026000
+       .long   0x3f022000
+       .long   0x3f01e000
+       .long   0x3f01a000
+       .long   0x3f016000
+       .long   0x3f012000
+       .long   0x3f00e000
+       .long   0x3f00a000
+       .long   0x3f006000
+       .long   0x3f002000
+       .type   __dlog2_la___libm_rcp_table_256,@object
+       .size   __dlog2_la___libm_rcp_table_256,1024
+       .align 64
+__dlog2_la___libm_log2_table_256:
+       .long   0xfb44c3b7,0x3e1485cb
+       .long   0x00000000,0x3f671b0e
+       .long   0x06028ac0,0x3e31d5d9
+       .long   0x00000000,0x3f815cfe
+       .long   0xb8d7240b,0x3df8b9cb
+       .long   0x00000000,0x3f8cfee7
+       .long   0x0d179106,0x3e38864a
+       .long   0x00000000,0x3f94564a
+       .long   0xecba1593,0x3e459c6a
+       .long   0x00000000,0x3f997723
+       .long   0x94120c14,0x3e48d36a
+       .long   0x00000000,0x3f9f5923
+       .long   0xd2571490,0x3e5410ba
+       .long   0x00000000,0x3fa2a094
+       .long   0x1dc036a2,0x3e2776b0
+       .long   0x00000000,0x3fa53894
+       .long   0x78efe2b1,0x3e537229
+       .long   0x00000000,0x3fa8324c
+       .long   0xfd29dc75,0x3e59c0fa
+       .long   0x00000000,0x3faacf54
+       .long   0x046734f7,0x3e4636b7
+       .long   0x00000000,0x3fadced9
+       .long   0xd3b410b8,0x3e6f7950
+       .long   0x00000000,0x3fb0387e
+       .long   0x00f2200a,0x3e19d1e7
+       .long   0x00000000,0x3fb18ac6
+       .long   0x8661ba82,0x3e4f09a9
+       .long   0x00000000,0x3fb30edd
+       .long   0x9367107c,0x3e564d91
+       .long   0x00000000,0x3fb463c1
+       .long   0x0e4a4ce8,0x3e4e1fd1
+       .long   0x00000000,0x3fb5b9e1
+       .long   0x3cdb6374,0x3e492cf0
+       .long   0x00000000,0x3fb7113f
+       .long   0x069c4f7f,0x3e61a364
+       .long   0x00000000,0x3fb869dd
+       .long   0x427b631b,0x3e6493a6
+       .long   0x00000000,0x3fb9c3be
+       .long   0xe02b3e8b,0x3e6af2c2
+       .long   0x00000000,0x3fbb1ee4
+       .long   0x389f4365,0x3e616e1e
+       .long   0x00000000,0x3fbc7b52
+       .long   0x6a31fd96,0x3e4633b7
+       .long   0x00000000,0x3fbdd90a
+       .long   0x0508664d,0x3e62ed84
+       .long   0x00000000,0x3fbf05d4
+       .long   0xaca1905c,0x3e775dcd
+       .long   0x00000000,0x3fc032fb
+       .long   0x094fbeeb,0x3e753e65
+       .long   0x00000000,0x3fc0e3b5
+       .long   0x96aa4b17,0x3e671f44
+       .long   0x00000000,0x3fc19519
+       .long   0x92da5a47,0x3e785566
+       .long   0x00000000,0x3fc22dad
+       .long   0xbeb7d722,0x3e518efa
+       .long   0x00000000,0x3fc2e050
+       .long   0xab57551c,0x3e738564
+       .long   0x00000000,0x3fc379f7
+       .long   0x54a914e3,0x3e55d0da
+       .long   0x00000000,0x3fc42ddd
+       .long   0xfe974017,0x3e73cd00
+       .long   0x00000000,0x3fc4c89b
+       .long   0x59064390,0x3e54ffd6
+       .long   0x00000000,0x3fc563dc
+       .long   0x633ab50f,0x3e67d75e
+       .long   0x00000000,0x3fc619a2
+       .long   0xc8877e8a,0x3e77e6ce
+       .long   0x00000000,0x3fc6b5ff
+       .long   0x1ab7837f,0x3e7ecc1f
+       .long   0x00000000,0x3fc752e1
+       .long   0xf9d5827a,0x3e7cea7c
+       .long   0x00000000,0x3fc7f049
+       .long   0x64ccd537,0x3e357f7a
+       .long   0x00000000,0x3fc8a898
+       .long   0xf7c9b05b,0x3e7994ca
+       .long   0x00000000,0x3fc94724
+       .long   0xa2f56536,0x3e524b8f
+       .long   0x00000000,0x3fc9e63a
+       .long   0x5edaab42,0x3e7fd640
+       .long   0x00000000,0x3fca85d8
+       .long   0xd163379a,0x3e625f54
+       .long   0x00000000,0x3fcb2602
+       .long   0x936acd51,0x3e7ebdc3
+       .long   0x00000000,0x3fcbc6b6
+       .long   0xcfbc0aa0,0x3e7eee14
+       .long   0x00000000,0x3fcc67f7
+       .long   0xf73bcdad,0x3e764469
+       .long   0x00000000,0x3fcceec4
+       .long   0x60971b86,0x3e6eb44e
+       .long   0x00000000,0x3fcd9109
+       .long   0xcd2052a5,0x3e65fcf4
+       .long   0x00000000,0x3fce33dd
+       .long   0xc402867b,0x3e61af1e
+       .long   0x00000000,0x3fced741
+       .long   0xa0c956e4,0x3e61bfbd
+       .long   0x00000000,0x3fcf7b36
+       .long   0x831e77ff,0x3e85287b
+       .long   0x00000000,0x3fd00223
+       .long   0xaddfdee2,0x3e7d2fc3
+       .long   0x00000000,0x3fd054a4
+       .long   0x342052c1,0x3e83724b
+       .long   0x00000000,0x3fd0999d
+       .long   0x602bcd34,0x3e7b4ec9
+       .long   0x00000000,0x3fd0eca6
+       .long   0x3aa20ead,0x3e6742da
+       .long   0x00000000,0x3fd13ffa
+       .long   0x9ecdadf4,0x3e713e82
+       .long   0x00000000,0x3fd185a4
+       .long   0xfef3031b,0x3e52f27e
+       .long   0x00000000,0x3fd1cb83
+       .long   0x79e4af8a,0x3e710739
+       .long   0x00000000,0x3fd21fa1
+       .long   0xe59ad84a,0x3e637301
+       .long   0x00000000,0x3fd265f5
+       .long   0x3d7dfd9b,0x3e88697c
+       .long   0x00000000,0x3fd2baa0
+       .long   0x738117b0,0x3e717788
+       .long   0x00000000,0x3fd3016b
+       .long   0xd3c26a97,0x3e6c5514
+       .long   0x00000000,0x3fd3486c
+       .long   0x4c4ff246,0x3e8df550
+       .long   0x00000000,0x3fd38fa3
+       .long   0x40340fa6,0x3e88102d
+       .long   0x00000000,0x3fd3e562
+       .long   0x4592f4c3,0x3e5f53b6
+       .long   0x00000000,0x3fd42d14
+       .long   0x8b149a00,0x3e750fc8
+       .long   0x00000000,0x3fd474fd
+       .long   0xa8f50e5f,0x3e86d01c
+       .long   0x00000000,0x3fd4bd1e
+       .long   0x7a22a88a,0x3e83c469
+       .long   0x00000000,0x3fd50578
+       .long   0xdc18b6d2,0x3e79000e
+       .long   0x00000000,0x3fd54e0b
+       .long   0x7c00250b,0x3e7870f0
+       .long   0x00000000,0x3fd596d7
+       .long   0xc1c885ae,0x3e8e3dd5
+       .long   0x00000000,0x3fd5dfdc
+       .long   0xa6ecc47e,0x3e7bf64c
+       .long   0x00000000,0x3fd6291c
+       .long   0x0bc16c18,0x3e6bdaca
+       .long   0x00000000,0x3fd67296
+       .long   0x1f925729,0x3e84d25c
+       .long   0x00000000,0x3fd6bc4a
+       .long   0xf23978de,0x3e5a5fb4
+       .long   0x00000000,0x3fd7063a
+       .long   0xe2ac7f60,0x3e8e3da0
+       .long   0x00000000,0x3fd75064
+       .long   0x71f51a7b,0x3e819e20
+       .long   0x00000000,0x3fd79acb
+       .long   0x5b924234,0x3e5e43ae
+       .long   0x00000000,0x3fd7d67c
+       .long   0xe9aedf37,0x3e701a2b
+       .long   0x00000000,0x3fd8214f
+       .long   0xeddd33ea,0x3e6b6f51
+       .long   0x00000000,0x3fd86c5f
+       .long   0xe732b3c4,0x3e79375f
+       .long   0x00000000,0x3fd8b7ac
+       .long   0xe47cb9df,0x3e7e831b
+       .long   0x00000000,0x3fd8f416
+       .long   0xe392d3c8,0x3e8abc37
+       .long   0x00000000,0x3fd93fd2
+       .long   0x28b35c77,0x3e80852d
+       .long   0x00000000,0x3fd98bcd
+       .long   0xd29cea36,0x3e69f374
+       .long   0x00000000,0x3fd9c8c3
+       .long   0xb3d7b0e6,0x3e542981
+       .long   0x00000000,0x3fda152f
+       .long   0x1fe6d5ac,0x3e8b2bfb
+       .long   0x00000000,0x3fda527f
+       .long   0xf32e5dda,0x3e6f6f5c
+       .long   0x00000000,0x3fda9f5e
+       .long   0xd34d0d30,0x3e65abaa
+       .long   0x00000000,0x3fdadd0b
+       .long   0xe0ac9602,0x3e7bd47f
+       .long   0x00000000,0x3fdb2a5d
+       .long   0x7c5c784b,0x3e833601
+       .long   0x00000000,0x3fdb6867
+       .long   0xd7b0821f,0x3e5b887c
+       .long   0x00000000,0x3fdbb62f
+       .long   0xcd0a8f6a,0x3e83eccc
+       .long   0x00000000,0x3fdbf497
+       .long   0x7500a4e8,0x3e7ba0e6
+       .long   0x00000000,0x3fdc332a
+       .long   0xfc8712bb,0x3e885a8b
+       .long   0x00000000,0x3fdc819d
+       .long   0xf7a3a78f,0x3e81c336
+       .long   0x00000000,0x3fdcc090
+       .long   0x4ad8a38b,0x3e7846b4
+       .long   0x00000000,0x3fdcffae
+       .long   0xfcfc3a99,0x3e7db50f
+       .long   0x00000000,0x3fdd3ef7
+       .long   0x433cccd2,0x3e238809
+       .long   0x00000000,0x3fdd8e50
+       .long   0x6828fa82,0x3e721b2e
+       .long   0x00000000,0x3fddcdfb
+       .long   0xfc7c49c1,0x3e82848b
+       .long   0x00000000,0x3fde0dd2
+       .long   0x1fce4d49,0x3e615144
+       .long   0x00000000,0x3fde4dd6
+       .long   0x77e2e8fd,0x3e68b88a
+       .long   0x00000000,0x3fde8e06
+       .long   0x22a961b0,0x3e8fd353
+       .long   0x00000000,0x3fdece62
+       .long   0x266f2e1f,0x3e72854e
+       .long   0x00000000,0x3fdf1f16
+       .long   0xc69211fe,0x3e8520c7
+       .long   0x00000000,0x3fdf5fd8
+       .long   0xaba878d5,0x3e826fcf
+       .long   0x00000000,0x3fdfa0c8
+       .long   0xcd5b35b1,0x3e726ed8
+       .long   0x00000000,0x3fdfe1e6
+       .long   0x678a4f1c,0x3e49054d
+       .long   0x00000000,0x3fe01199
+       .long   0x3bc19f18,0x3e5d23cb
+       .long   0x00000000,0x3fe03256
+       .long   0x12772acb,0x3e87af35
+       .long   0x00000000,0x3fe0532a
+       .long   0x2849c88a,0x3e67f5fc
+       .long   0x00000000,0x3fe07416
+       .long   0x0e574fa1,0x3e84fce2
+       .long   0x00000000,0x3fe08cd6
+       .long   0x0ec2b5fa,0x3e857044
+       .long   0x00000000,0x3fe0adeb
+       .long   0xd031f353,0x3e6d5d1d
+       .long   0x00000000,0x3fe0cf18
+       .long   0xdae75c4d,0x3e99a159
+       .long   0x00000000,0x3fe0f05c
+       .long   0x1553afb9,0x3e90eaf1
+       .long   0x00000000,0x3fe111b9
+       .long   0xdcc5c3c7,0x3e8bc6f3
+       .long   0x00000000,0x3fe1332e
+       .long   0x1109e597,0x3e94ef84
+       .long   0x00000000,0x3fe154bb
+       .long   0xd82adea4,0x3e937f40
+       .long   0x00000000,0x3fe16df5
+       .long   0x78336a2f,0x3e96dc5a
+       .long   0x00000000,0x3fe18fad
+       .long   0x84c2c804,0x3e90935b
+       .long   0x00000000,0x3fe1b17e
+       .long   0x04fd30aa,0x3e8a837a
+       .long   0x00000000,0x3fe1caeb
+       .long   0xd924b0ac,0x3e99061d
+       .long   0x00000000,0x3fe1ece7
+       .long   0xef9b9d01,0x3e7ed700
+       .long   0x00000000,0x3fe20efd
+       .long   0x202c81ec,0x3e9c6ebb
+       .long   0x00000000,0x3fe2289d
+       .long   0xfc0d7d76,0x3e936d4d
+       .long   0x00000000,0x3fe24adf
+       .long   0x9f8756ba,0x3e9a35d7
+       .long   0x00000000,0x3fe26d3a
+       .long   0xe7c79d83,0x3e584ee3
+       .long   0x00000000,0x3fe28710
+       .long   0x942065a0,0x3e7d9e0d
+       .long   0x00000000,0x3fe2a998
+       .long   0x2175afbf,0x3e872108
+       .long   0x00000000,0x3fe2c38f
+       .long   0xfaf6283c,0x3e9f5809
+       .long   0x00000000,0x3fe2e644
+       .long   0x411d0507,0x3e871209
+       .long   0x00000000,0x3fe3005e
+       .long   0x370c24bf,0x3e9c3b11
+       .long   0x00000000,0x3fe32341
+       .long   0x8044bb5a,0x3e9bce8e
+       .long   0x00000000,0x3fe33d7d
+       .long   0x698ea854,0x3e98aca0
+       .long   0x00000000,0x3fe3608f
+       .long   0xd4d873bb,0x3e972a8e
+       .long   0x00000000,0x3fe37aee
+       .long   0x615e8182,0x3e8f669b
+       .long   0x00000000,0x3fe39e2f
+       .long   0xdda5b49a,0x3e98d1f4
+       .long   0x00000000,0x3fe3b8b1
+       .long   0xe72383f7,0x3e9cc279
+       .long   0x00000000,0x3fe3dc21
+       .long   0x497497f1,0x3e9c6774
+       .long   0x00000000,0x3fe3f6c7
+       .long   0x801bd0e6,0x3e82c7f6
+       .long   0x00000000,0x3fe4117d
+       .long   0xd0ee28b4,0x3e9dfdd6
+       .long   0x00000000,0x3fe43531
+       .long   0xb70d3761,0x3e92d3a2
+       .long   0x00000000,0x3fe4500b
+       .long   0xe7d6bcb2,0x3e9c8343
+       .long   0x00000000,0x3fe46af4
+       .long   0x90d43957,0x3e693179
+       .long   0x00000000,0x3fe48eef
+       .long   0xf12570df,0x3e799eab
+       .long   0x00000000,0x3fe4a9fd
+       .long   0x1b88755d,0x3e78c5f8
+       .long   0x00000000,0x3fe4c51b
+       .long   0xdf99a22c,0x3e7369be
+       .long   0x00000000,0x3fe4e049
+       .long   0x6ed50f62,0x3e88fd93
+       .long   0x00000000,0x3fe5049f
+       .long   0x978605ff,0x3e9c6042
+       .long   0x00000000,0x3fe51ff2
+       .long   0xe6c85f4c,0x3e930ae6
+       .long   0x00000000,0x3fe53b56
+       .long   0xc3275ba6,0x3e92e7b6
+       .long   0x00000000,0x3fe556ca
+       .long   0x91597938,0x3e9e6401
+       .long   0x00000000,0x3fe5724e
+       .long   0x448ebb62,0x3e3d2dee
+       .long   0x00000000,0x3fe59719
+       .long   0x47501b6d,0x3e9b432e
+       .long   0x00000000,0x3fe5b2c3
+       .long   0x571fa7cd,0x3e83cf9b
+       .long   0x00000000,0x3fe5ce7f
+       .long   0x7359819d,0x3e8dc615
+       .long   0x00000000,0x3fe5ea4b
+       .long   0xc78a85ed,0x3e8973c3
+       .long   0x00000000,0x3fe60628
+       .long   0xc15a9f3d,0x3e77d788
+       .long   0x00000000,0x3fe62216
+       .long   0x51952736,0x3e9d2538
+       .long   0x00000000,0x3fe63e14
+       .long   0xde792c07,0x3e94dab9
+       .long   0x00000000,0x3fe65a24
+       .long   0x5bfa4318,0x3e8f5be1
+       .long   0x00000000,0x3fe67645
+       .long   0x55090ec8,0x3e903b26
+       .long   0x00000000,0x3fe69277
+       .long   0xc78b6175,0x3e99236f
+       .long   0x00000000,0x3fe6aeba
+       .long   0x3a80db6a,0x3e8a1972
+       .long   0x00000000,0x3fe6cb0f
+       .long   0xf558aa96,0x3e8d43a2
+       .long   0x00000000,0x3fe6e775
+       .long   0xd9a82f2e,0x3e424ee3
+       .long   0x00000000,0x3fe703ed
+       .long   0x583878f6,0x3e764d8e
+       .long   0x00000000,0x3fe72076
+       .long   0xc1150a3e,0x3e379604
+       .long   0x00000000,0x3fe73d11
+       .long   0xed85584b,0x3e93b229
+       .long   0x00000000,0x3fe759bd
+       .long   0x451a7b48,0x3e62967a
+       .long   0x00000000,0x3fe7767c
+       .long   0xc044e72d,0x3e8e12d7
+       .long   0x00000000,0x3fe7934c
+       .long   0xfdfb6949,0x3e9ca45d
+       .long   0x00000000,0x3fe7b02e
+       .long   0xff690fce,0x3e9244fc
+       .long   0x00000000,0x3fe7c37a
+       .long   0x81487a2c,0x3e7e9cea
+       .long   0x00000000,0x3fe7e07b
+       .long   0xd0ad2d9a,0x3e760da0
+       .long   0x00000000,0x3fe7fd8e
+       .long   0x096f45d9,0x3e8d7703
+       .long   0x00000000,0x3fe81ab3
+       .long   0x1b17115b,0x3e78dbee
+       .long   0x00000000,0x3fe837eb
+       .long   0x7c252ee0,0x3e8dc5a4
+       .long   0x00000000,0x3fe85535
+       .long   0x42d5123f,0x3e950116
+       .long   0x00000000,0x3fe868c6
+       .long   0xf11e41be,0x3e4c4eb7
+       .long   0x00000000,0x3fe88630
+       .long   0xdb2890b4,0x3e7773b8
+       .long   0x00000000,0x3fe8a3ac
+       .long   0x7ffb4479,0x3e7bc8e7
+       .long   0x00000000,0x3fe8c13b
+       .long   0x237693b3,0x3e8c388f
+       .long   0x00000000,0x3fe8d4fa
+       .long   0x45fcf1a0,0x3e731cd4
+       .long   0x00000000,0x3fe8f2a9
+       .long   0xe4895b91,0x3e9fae07
+       .long   0x00000000,0x3fe9106a
+       .long   0x42d2824e,0x3e7d140d
+       .long   0x00000000,0x3fe9244c
+       .long   0x39900f67,0x3e75c3c8
+       .long   0x00000000,0x3fe9422e
+       .long   0xa314252b,0x3e902422
+       .long   0x00000000,0x3fe96023
+       .long   0xf2a6b8ef,0x3e7b9be8
+       .long   0x00000000,0x3fe97427
+       .long   0x1476f5e9,0x3e66b188
+       .long   0x00000000,0x3fe9923d
+       .long   0xdde10a6f,0x3e93c377
+       .long   0x00000000,0x3fe9b066
+       .long   0x4944a32c,0x3e817cad
+       .long   0x00000000,0x3fe9c48d
+       .long   0xc738e7ef,0x3e9927f2
+       .long   0x00000000,0x3fe9e2d7
+       .long   0xd25cfd94,0x3e7ccc41
+       .long   0x00000000,0x3fea0136
+       .long   0x2210e81b,0x3e8382fa
+       .long   0x00000000,0x3fea1580
+       .long   0x1e690ce2,0x3e7752a7
+       .long   0x00000000,0x3fea3400
+       .long   0x122315d2,0x3e94cfee
+       .long   0x00000000,0x3fea4860
+       .long   0xce98333b,0x3e80536e
+       .long   0x00000000,0x3fea6702
+       .long   0xc30f00e9,0x3e838b7e
+       .long   0x00000000,0x3fea7b79
+       .long   0x05b0c779,0x3e9dc380
+       .long   0x00000000,0x3fea9a3c
+       .long   0xdd6dd3fe,0x3e6be168
+       .long   0x00000000,0x3feab915
+       .long   0x26e0d276,0x3e966757
+       .long   0x00000000,0x3feacdb0
+       .long   0x0aad615c,0x3e880252
+       .long   0x00000000,0x3feaecab
+       .long   0x7927096a,0x3e607c31
+       .long   0x00000000,0x3feb015e
+       .long   0x53b3d90e,0x3e596513
+       .long   0x00000000,0x3feb161a
+       .long   0x8f2f0570,0x3e90ec3a
+       .long   0x00000000,0x3feb3545
+       .long   0x81193954,0x3e9cb640
+       .long   0x00000000,0x3feb4a18
+       .long   0x311e7236,0x3e936479
+       .long   0x00000000,0x3feb6967
+       .long   0x3a42a413,0x3e9210e8
+       .long   0x00000000,0x3feb7e52
+       .long   0x4a0daeb2,0x3e9a1717
+       .long   0x00000000,0x3feb9dc4
+       .long   0xce900653,0x3e925bb7
+       .long   0x00000000,0x3febb2c7
+       .long   0xb5087588,0x3e95dbb8
+       .long   0x00000000,0x3febd25d
+       .long   0x4a41204c,0x3e8d0aa9
+       .long   0x00000000,0x3febe778
+       .long   0x69a0d774,0x3e9c772f
+       .long   0x00000000,0x3febfc9c
+       .long   0x79d0a9a5,0x3e97b6a0
+       .long   0x00000000,0x3fec1c65
+       .long   0xd26f1a12,0x3e8f7402
+       .long   0x00000000,0x3fec31a2
+       .long   0x1243bc84,0x3e4db2f1
+       .long   0x00000000,0x3fec46e9
+       .long   0x477e1755,0x3e80dcc2
+       .long   0x00000000,0x3fec66e5
+       .long   0xc2f904c1,0x3e8b1e31
+       .long   0x00000000,0x3fec7c44
+       .long   0x1785b0c4,0x3e8fb619
+       .long   0x00000000,0x3fec91ad
+       .long   0xedb052ef,0x3e98832d
+       .long   0x00000000,0x3fecb1dd
+       .long   0x9e373618,0x3e98c822
+       .long   0x00000000,0x3fecc75f
+       .long   0x32954637,0x3e9a46e7
+       .long   0x00000000,0x3fecdceb
+       .long   0xf0e6b2a9,0x3e996305
+       .long   0x00000000,0x3fecfd50
+       .long   0x1a6614ee,0x3e68c160
+       .long   0x00000000,0x3fed12f6
+       .long   0x09e33b28,0x3e9229c4
+       .long   0x00000000,0x3fed28a5
+       .long   0xe53b994c,0x3e7f281b
+       .long   0x00000000,0x3fed3e5f
+       .long   0x1124ac35,0x3e9f27f3
+       .long   0x00000000,0x3fed5f08
+       .long   0x3d2fdc03,0x3e84e779
+       .long   0x00000000,0x3fed74dc
+       .long   0x1e93fd97,0x3e416c07
+       .long   0x00000000,0x3fed8aba
+       .long   0x91b415ef,0x3e654669
+       .long   0x00000000,0x3feda0a2
+       .long   0x6495f594,0x3e9712d4
+       .long   0x00000000,0x3fedc191
+       .long   0x40171789,0x3e9ca7b2
+       .long   0x00000000,0x3fedd793
+       .long   0xe8fc4323,0x3e929afa
+       .long   0x00000000,0x3fededa0
+       .long   0xeb03bd09,0x3e9a2e96
+       .long   0x00000000,0x3fee03b7
+       .long   0xca370ea2,0x3e94a63d
+       .long   0x00000000,0x3fee19d9
+       .long   0xe30512ec,0x3e6a3bcb
+       .long   0x00000000,0x3fee3006
+       .long   0x411c95ce,0x3e99d3ed
+       .long   0x00000000,0x3fee515c
+       .long   0x35cfaf8e,0x3e3e5b57
+       .long   0x00000000,0x3fee67a4
+       .long   0x5669df6a,0x3e9fca71
+       .long   0x00000000,0x3fee7df5
+       .long   0x04f19d94,0x3e9914e2
+       .long   0x00000000,0x3fee9452
+       .long   0xcaa19134,0x3e8b511c
+       .long   0x00000000,0x3feeaaba
+       .long   0x4bb3bfb1,0x3e9ed72f
+       .long   0x00000000,0x3feec12c
+       .long   0x3c29d75e,0x3e8be8d6
+       .long   0x00000000,0x3feed7aa
+       .long   0x97da24fd,0x3e9c55d9
+       .long   0x00000000,0x3feeee32
+       .long   0x983c68ea,0x3e7ddfb1
+       .long   0x00000000,0x3fef1014
+       .long   0xf4425883,0x3e83ce66
+       .long   0x00000000,0x3fef26b8
+       .long   0xf7857f23,0x3e9055c3
+       .long   0x00000000,0x3fef3d67
+       .long   0x2805b525,0x3e9c2223
+       .long   0x00000000,0x3fef5421
+       .long   0x0c347fcf,0x3e8d59ba
+       .long   0x00000000,0x3fef6ae7
+       .long   0x7c901c44,0x3e82b110
+       .long   0x00000000,0x3fef81b8
+       .long   0x74d1b482,0x3e8b1394
+       .long   0x00000000,0x3fef9894
+       .long   0x36fb9eb2,0x3e9ca75b
+       .long   0x00000000,0x3fefaf7b
+       .long   0x629b1b7e,0x3e981a0a
+       .long   0x00000000,0x3fefc66e
+       .long   0x7b8c1116,0x3e54cc20
+       .long   0x00000000,0x3fefdd6d
+       .long   0xc0babe05,0x3e99ac8b
+       .long   0x00000000,0x3feff476
+       .type   __dlog2_la___libm_log2_table_256,@object
+       .size   __dlog2_la___libm_log2_table_256,4096
+       .space 512, 0x00        
+       .align 64
+__dlog2_la__P:
+       .long   3213235158
+       .long   1050233568
+       .long   1697350398
+       .long   3219592519
+       .long   3694740707
+       .long   1071564553
+       .long   1697260025
+       .long   3218543943
+       .long   2542794428
+       .long   1070757746
+       .long   2165113687
+       .long   3217999640
+       .long   0
+       .long   1073157447
+       .type   __dlog2_la__P,@object
+       .size   __dlog2_la__P,56
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_log2_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_log2_s_la.s
new file mode 100644 (file)
index 0000000..7f26b01
--- /dev/null
@@ -0,0 +1,728 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *  log2(x) = VGETEXP(x) + log2(VGETMANT(x))
+ *  *       VGETEXP, VGETMANT will correctly treat special cases too (including denormals)
+ *  *   mx = VGETMANT(x) is in [1,2) for all x>=0
+ *  *   log2(mx) = -log2(RCP(mx)) + log2(1 +(mx*RCP(mx)-1))
+ *  *      RCP(mx) is rounded to 4 fractional bits,
+ *  *      and the table lookup for log2(RCP(mx)) is based on a small permute instruction
+ *  *
+ *  *   LA, EP versions use interval interpolation (16 intervals)
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_log2f16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_log2f16
+
+__svml_log2f16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+
+/* GetMant(x), normalized to [.75,1.5) for x>=0, NaN for x<0 */
+        vgetmantps $11, {sae}, %zmm0, %zmm3
+        vmovups   __svml_slog2_data_internal_avx512(%rip), %zmm1
+        vgetexpps {sae}, %zmm0, %zmm5
+
+/* x<=0? */
+        vfpclassps $94, %zmm0, %k0
+        vsubps    {rn-sae}, %zmm1, %zmm3, %zmm9
+        vpsrld    $19, %zmm3, %zmm7
+        vgetexpps {sae}, %zmm3, %zmm6
+        vpermps   64+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm1
+        vpermps   128+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm2
+        vpermps   192+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm4
+        vpermps   256+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm8
+        vsubps    {rn-sae}, %zmm6, %zmm5, %zmm10
+        vfmadd213ps {rn-sae}, %zmm2, %zmm9, %zmm1
+        kmovw     %k0, %edx
+        vfmadd213ps {rn-sae}, %zmm4, %zmm9, %zmm1
+        vfmadd213ps {rn-sae}, %zmm8, %zmm9, %zmm1
+        vfmadd213ps {rn-sae}, %zmm10, %zmm9, %zmm1
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm1, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm1, 128(%rsp)
+        je        .LBL_1_2
+
+
+        xorl      %eax, %eax
+
+
+        vzeroupper
+        kmovw     %k4, 24(%rsp)
+        kmovw     %k5, 16(%rsp)
+        kmovw     %k6, 8(%rsp)
+        kmovw     %k7, (%rsp)
+        movq      %rsi, 40(%rsp)
+        movq      %rdi, 32(%rsp)
+        movq      %r12, 56(%rsp)
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_7:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_10
+
+.LBL_1_8:
+
+        incl      %r12d
+        cmpl      $16, %r12d
+        jl        .LBL_1_7
+
+
+        kmovw     24(%rsp), %k4
+       .cfi_restore 122
+        kmovw     16(%rsp), %k5
+       .cfi_restore 123
+        kmovw     8(%rsp), %k6
+       .cfi_restore 124
+        kmovw     (%rsp), %k7
+       .cfi_restore 125
+        vmovups   128(%rsp), %zmm1
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+
+        call      __svml_slog2_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_log2f16,@function
+       .size   __svml_log2f16,.-__svml_log2f16
+..LN__svml_log2f16.0:
+
+.L_2__routine_start___svml_slog2_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_slog2_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    2(%rdi), %edx
+        andl      $32640, %edx
+        cmpl      $32640, %edx
+        je        .LBL_2_13
+
+
+        movss     (%rdi), %xmm2
+        xorl      %ecx, %ecx
+        pxor      %xmm1, %xmm1
+        movss     %xmm2, -16(%rsp)
+        ucomiss   %xmm1, %xmm2
+        jp        .LBL_2_3
+        je        .LBL_2_5
+
+.LBL_2_3:
+
+        movzwl    -14(%rsp), %edx
+        testl     $32640, %edx
+        jne       .LBL_2_5
+
+
+        movss     .L_2il0floatpacket.76(%rip), %xmm0
+        movl      $-27, %ecx
+        mulss     %xmm0, %xmm2
+        movss     %xmm2, -16(%rsp)
+
+.LBL_2_5:
+
+        comiss    %xmm1, %xmm2
+        jbe       .LBL_2_9
+
+
+        movaps    %xmm2, %xmm1
+        subss     .L_2il0floatpacket.90(%rip), %xmm1
+        movss     %xmm1, -20(%rsp)
+        andb      $127, -17(%rsp)
+        movss     -20(%rsp), %xmm0
+        comiss    .L_2il0floatpacket.77(%rip), %xmm0
+        jbe       .LBL_2_8
+
+
+        movzwl    -14(%rsp), %edx
+        pxor      %xmm8, %xmm8
+        andl      $32640, %edx
+        lea       __slog2_la_CoutTab(%rip), %r10
+        shrl      $7, %edx
+        movss     %xmm2, -20(%rsp)
+        movss     .L_2il0floatpacket.79(%rip), %xmm2
+        movaps    %xmm2, %xmm1
+        movss     .L_2il0floatpacket.88(%rip), %xmm6
+        lea       -127(%rcx,%rdx), %r9d
+        movzwl    -18(%rsp), %ecx
+        andl      $-32641, %ecx
+        addl      $16256, %ecx
+        movw      %cx, -18(%rsp)
+        movss     -20(%rsp), %xmm3
+        movaps    %xmm3, %xmm0
+        addss     %xmm3, %xmm1
+        addss     .L_2il0floatpacket.78(%rip), %xmm0
+        cvtsi2ss  %r9d, %xmm8
+        movss     %xmm0, -24(%rsp)
+        movl      -24(%rsp), %edi
+        movss     %xmm1, -24(%rsp)
+        andl      $127, %edi
+        movss     -24(%rsp), %xmm7
+        subss     %xmm2, %xmm7
+        lea       (%rdi,%rdi,2), %r8d
+        movss     (%r10,%r8,4), %xmm5
+        subss     %xmm7, %xmm3
+        addss     4(%r10,%r8,4), %xmm8
+        mulss     %xmm5, %xmm7
+        mulss     %xmm3, %xmm5
+        subss     .L_2il0floatpacket.80(%rip), %xmm7
+        movaps    %xmm7, %xmm4
+        addss     %xmm7, %xmm8
+        addss     %xmm5, %xmm4
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.87(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.86(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.85(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.84(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.83(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.82(%rip), %xmm6
+        mulss     %xmm4, %xmm6
+        addss     .L_2il0floatpacket.81(%rip), %xmm6
+        mulss     %xmm6, %xmm7
+        mulss     %xmm5, %xmm6
+        addss     8(%r10,%r8,4), %xmm6
+        addss     %xmm5, %xmm6
+        addss     %xmm6, %xmm7
+        addss     %xmm7, %xmm8
+        movss     %xmm8, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        movss     .L_2il0floatpacket.80(%rip), %xmm0
+        mulss     %xmm0, %xmm1
+        movss     .L_2il0floatpacket.88(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.87(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.86(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.85(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.84(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.83(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.82(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     .L_2il0floatpacket.81(%rip), %xmm2
+        mulss     %xmm1, %xmm2
+        addss     %xmm1, %xmm2
+        movss     %xmm2, (%rsi)
+        ret
+
+.LBL_2_9:
+
+        ucomiss   %xmm1, %xmm2
+        jp        .LBL_2_10
+        je        .LBL_2_12
+
+.LBL_2_10:
+
+        divss     %xmm1, %xmm1
+        movss     %xmm1, (%rsi)
+        movl      $1, %eax
+
+
+        ret
+
+.LBL_2_12:
+
+        movss     .L_2il0floatpacket.89(%rip), %xmm0
+        movl      $2, %eax
+        divss     %xmm1, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_13:
+
+        movb      3(%rdi), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_15
+
+.LBL_2_14:
+
+        movss     (%rdi), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_15:
+
+        testl     $8388607, (%rdi)
+        jne       .LBL_2_14
+
+
+        movl      $1, %eax
+        pxor      %xmm1, %xmm1
+        pxor      %xmm0, %xmm0
+        divss     %xmm0, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_slog2_cout_rare_internal,@function
+       .size   __svml_slog2_cout_rare_internal,.-__svml_slog2_cout_rare_internal
+..LN__svml_slog2_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_slog2_data_internal_avx512:
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   3198647882
+       .long   3196759613
+       .long   3194486322
+       .long   3192115638
+       .long   3190203785
+       .long   3188646043
+       .long   3187058849
+       .long   3184933705
+       .long   3210235473
+       .long   3208544417
+       .long   3207107312
+       .long   3205878647
+       .long   3204822309
+       .long   3203370544
+       .long   3201784975
+       .long   3200401796
+       .long   1056280844
+       .long   1055933857
+       .long   1055381630
+       .long   1054718852
+       .long   1054004959
+       .long   1053277138
+       .long   1052558383
+       .long   1051862550
+       .long   1049572249
+       .long   1051796030
+       .long   1053416266
+       .long   1054571017
+       .long   1055365658
+       .long   1055881163
+       .long   1056180132
+       .long   1056311220
+       .long   3208161588
+       .long   3208150502
+       .long   3208115952
+       .long   3208053899
+       .long   3207964810
+       .long   3207851268
+       .long   3207716694
+       .long   3207564674
+       .long   3208734740
+       .long   3208490840
+       .long   3208338440
+       .long   3208247850
+       .long   3208197907
+       .long   3208173537
+       .long   3208164045
+       .long   3208161890
+       .long   1069066811
+       .long   1069066688
+       .long   1069065960
+       .long   1069064014
+       .long   1069060299
+       .long   1069054385
+       .long   1069045976
+       .long   1069034896
+       .long   1069049182
+       .long   1069058106
+       .long   1069062890
+       .long   1069065263
+       .long   1069066312
+       .long   1069066697
+       .long   1069066799
+       .long   1069066811
+       .type   __svml_slog2_data_internal_avx512,@object
+       .size   __svml_slog2_data_internal_avx512,320
+       .align 32
+__slog2_la_CoutTab:
+       .long   1136175680
+       .long   0
+       .long   0
+       .long   1135986583
+       .long   1018822656
+       .long   930849160
+       .long   1135809305
+       .long   1026916352
+       .long   941737263
+       .long   1135632026
+       .long   1032306688
+       .long   936581683
+       .long   1135466566
+       .long   1035100160
+       .long   929197062
+       .long   1135301106
+       .long   1037934592
+       .long   897678483
+       .long   1135135647
+       .long   1040498688
+       .long   3059980496
+       .long   1134982005
+       .long   1041852416
+       .long   908010313
+       .long   1134828364
+       .long   1043226624
+       .long   3073739761
+       .long   1134686541
+       .long   1044510720
+       .long   918631281
+       .long   1134538809
+       .long   1045868544
+       .long   3062817788
+       .long   1134402896
+       .long   1047134208
+       .long   3064656237
+       .long   1134266982
+       .long   1048416256
+       .long   3029590737
+       .long   1134131069
+       .long   1049145856
+       .long   903671587
+       .long   1134001065
+       .long   1049775616
+       .long   911388989
+       .long   1133876970
+       .long   1050384896
+       .long   3069885983
+       .long   1133752875
+       .long   1051001344
+       .long   3037530952
+       .long   1133634689
+       .long   1051596288
+       .long   3069922038
+       .long   1133516503
+       .long   1052198400
+       .long   3070222063
+       .long   1133404227
+       .long   1052776960
+       .long   919559368
+       .long   1133291951
+       .long   1053363200
+       .long   840060372
+       .long   1133185584
+       .long   1053924864
+       .long   915603033
+       .long   1133079217
+       .long   1054493184
+       .long   921334924
+       .long   1132978759
+       .long   1055036416
+       .long   896601826
+       .long   1132872392
+       .long   1055618048
+       .long   908913293
+       .long   1132777843
+       .long   1056141312
+       .long   3065728751
+       .long   1132677386
+       .long   1056702976
+       .long   909020429
+       .long   1132582837
+       .long   1057101312
+       .long   3048020321
+       .long   1132494198
+       .long   1057354752
+       .long   3038815896
+       .long   1132337219
+       .long   1057628160
+       .long   3068137421
+       .long   1132159940
+       .long   1057887232
+       .long   3069993595
+       .long   1131994480
+       .long   1058131456
+       .long   3054354312
+       .long   1131817202
+       .long   1058395904
+       .long   910223436
+       .long   1131651742
+       .long   1058645504
+       .long   3046952660
+       .long   1131486282
+       .long   1058897664
+       .long   3057670844
+       .long   1131332641
+       .long   1059133952
+       .long   924929721
+       .long   1131178999
+       .long   1059373056
+       .long   3068093797
+       .long   1131025358
+       .long   1059614208
+       .long   3058851683
+       .long   1130871717
+       .long   1059857920
+       .long   3069897752
+       .long   1130729894
+       .long   1060084736
+       .long   924446297
+       .long   1130576253
+       .long   1060333312
+       .long   903058075
+       .long   1130434430
+       .long   1060564992
+       .long   3052757441
+       .long   1130304426
+       .long   1060779264
+       .long   3045479197
+       .long   1130162603
+       .long   1061015040
+       .long   924699798
+       .long   1130032599
+       .long   1061233664
+       .long   3070937808
+       .long   1129890776
+       .long   1061473792
+       .long   925912756
+       .long   1129772591
+       .long   1061676032
+       .long   923952205
+       .long   1129642586
+       .long   1061900544
+       .long   906547304
+       .long   1129512582
+       .long   1062127104
+       .long   3050351427
+       .long   1129394397
+       .long   1062334976
+       .long   3070601694
+       .long   1129276211
+       .long   1062544384
+       .long   900519722
+       .long   1129158025
+       .long   1062755840
+       .long   3055774932
+       .long   1129039840
+       .long   1062969088
+       .long   3053661845
+       .long   1128921654
+       .long   1063184384
+       .long   3073448373
+       .long   1128815287
+       .long   1063379456
+       .long   907090876
+       .long   1128697101
+       .long   1063598336
+       .long   881051555
+       .long   1128590734
+       .long   1063796992
+       .long   898320955
+       .long   1128484367
+       .long   1063997440
+       .long   3068804107
+       .long   1128378000
+       .long   1064199168
+       .long   923531617
+       .long   1128283452
+       .long   1064380416
+       .long   3070994608
+       .long   1128177085
+       .long   1064585472
+       .long   901920533
+       .long   1128082536
+       .long   1064769536
+       .long   3071653428
+       .long   1127976169
+       .long   1064977920
+       .long   903017594
+       .long   1127881621
+       .long   1065164800
+       .long   911713416
+       .long   1127787072
+       .long   1065353216
+       .long   0
+       .long   1065353216
+       .long   0
+       .long   1207959616
+       .long   1174405120
+       .long   1002438656
+       .long   1291845632
+       .long   0
+       .long   1065353216
+       .long   1136175680
+       .long   3212771328
+       .long   3065082383
+       .long   841219731
+       .long   2913632803
+       .long   691870088
+       .long   2765780188
+       .long   545377693
+       .long   2619180638
+       .type   __slog2_la_CoutTab,@object
+       .size   __slog2_la_CoutTab,848
+       .align 4
+.L_2il0floatpacket.76:
+       .long   0x4d000000
+       .type   .L_2il0floatpacket.76,@object
+       .size   .L_2il0floatpacket.76,4
+       .align 4
+.L_2il0floatpacket.77:
+       .long   0x3bc00000
+       .type   .L_2il0floatpacket.77,@object
+       .size   .L_2il0floatpacket.77,4
+       .align 4
+.L_2il0floatpacket.78:
+       .long   0x48000040
+       .type   .L_2il0floatpacket.78,@object
+       .size   .L_2il0floatpacket.78,4
+       .align 4
+.L_2il0floatpacket.79:
+       .long   0x46000000
+       .type   .L_2il0floatpacket.79,@object
+       .size   .L_2il0floatpacket.79,4
+       .align 4
+.L_2il0floatpacket.80:
+       .long   0x43b8aa40
+       .type   .L_2il0floatpacket.80,@object
+       .size   .L_2il0floatpacket.80,4
+       .align 4
+.L_2il0floatpacket.81:
+       .long   0xbf7f0000
+       .type   .L_2il0floatpacket.81,@object
+       .size   .L_2il0floatpacket.81,4
+       .align 4
+.L_2il0floatpacket.82:
+       .long   0xb6b1720f
+       .type   .L_2il0floatpacket.82,@object
+       .size   .L_2il0floatpacket.82,4
+       .align 4
+.L_2il0floatpacket.83:
+       .long   0x3223fe93
+       .type   .L_2il0floatpacket.83,@object
+       .size   .L_2il0floatpacket.83,4
+       .align 4
+.L_2il0floatpacket.84:
+       .long   0xadaa8223
+       .type   .L_2il0floatpacket.84,@object
+       .size   .L_2il0floatpacket.84,4
+       .align 4
+.L_2il0floatpacket.85:
+       .long   0x293d1988
+       .type   .L_2il0floatpacket.85,@object
+       .size   .L_2il0floatpacket.85,4
+       .align 4
+.L_2il0floatpacket.86:
+       .long   0xa4da74dc
+       .type   .L_2il0floatpacket.86,@object
+       .size   .L_2il0floatpacket.86,4
+       .align 4
+.L_2il0floatpacket.87:
+       .long   0x2081cd9d
+       .type   .L_2il0floatpacket.87,@object
+       .size   .L_2il0floatpacket.87,4
+       .align 4
+.L_2il0floatpacket.88:
+       .long   0x9c1d865e
+       .type   .L_2il0floatpacket.88,@object
+       .size   .L_2il0floatpacket.88,4
+       .align 4
+.L_2il0floatpacket.89:
+       .long   0xbf800000
+       .type   .L_2il0floatpacket.89,@object
+       .size   .L_2il0floatpacket.89,4
+       .align 4
+.L_2il0floatpacket.90:
+       .long   0x3f800000
+       .type   .L_2il0floatpacket.90,@object
+       .size   .L_2il0floatpacket.90,4
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_log_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_log_d_la.s
new file mode 100644 (file)
index 0000000..42428c5
--- /dev/null
@@ -0,0 +1,1096 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *
+ *  *  log(x) = -log(Rcp) + log(Rcp*x),
+ *  *    where Rcp ~ 1/x (accuracy ~9 bits, obtained by rounding HW approximation to 1+9 mantissa bits)
+ *  *
+ *  *   Reduced argument R=Rcp*x-1 is used to approximate log(1+R) as polynomial
+ *  *
+ *  *   log(Rcp) = exponent_Rcp*log(2) + log(mantissa_Rcp)
+ *  *     -log(mantissa_Rcp) is obtained from a lookup table, accessed by a 9-bit index
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_log8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_log8
+
+__svml_log8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vgetmantpd $8, {sae}, %zmm0, %zmm6
+        vmovups   128+__svml_dlog_data_internal_avx512(%rip), %zmm4
+        vmovups   384+__svml_dlog_data_internal_avx512(%rip), %zmm11
+        vmovups   448+__svml_dlog_data_internal_avx512(%rip), %zmm14
+        vmovups   512+__svml_dlog_data_internal_avx512(%rip), %zmm12
+        vmovups   256+__svml_dlog_data_internal_avx512(%rip), %zmm10
+
+/* Start polynomial evaluation */
+        vmovups   320+__svml_dlog_data_internal_avx512(%rip), %zmm1
+        vmovups   640+__svml_dlog_data_internal_avx512(%rip), %zmm13
+        vmovups   704+__svml_dlog_data_internal_avx512(%rip), %zmm15
+
+/* Prepare exponent correction: DblRcp<0.75? */
+        vmovups   192+__svml_dlog_data_internal_avx512(%rip), %zmm3
+
+/* Table lookup */
+        vmovups   __svml_dlog_data_internal_avx512(%rip), %zmm5
+
+/* GetExp(x) */
+        vgetexppd {sae}, %zmm0, %zmm7
+
+/* DblRcp ~ 1/Mantissa */
+        vrcp14pd  %zmm6, %zmm8
+
+/* x<=0? */
+        vfpclasspd $94, %zmm0, %k0
+
+/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */
+        vrndscalepd $88, {sae}, %zmm8, %zmm2
+        kmovw     %k0, %edx
+
+/* Reduced argument: R = DblRcp*Mantissa - 1 */
+        vfmsub213pd {rn-sae}, %zmm4, %zmm2, %zmm6
+        vcmppd    $17, {sae}, %zmm3, %zmm2, %k1
+        vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14
+        vmovups   576+__svml_dlog_data_internal_avx512(%rip), %zmm11
+        vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm1
+        vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm15
+
+/* R^2 */
+        vmulpd    {rn-sae}, %zmm6, %zmm6, %zmm8
+        vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm11
+
+/* Prepare table index */
+        vpsrlq    $48, %zmm2, %zmm9
+
+/* add 1 to Expon if DblRcp<0.75 */
+        vaddpd    {rn-sae}, %zmm4, %zmm7, %zmm7{%k1}
+        vmulpd    {rn-sae}, %zmm8, %zmm8, %zmm12
+        vfmadd213pd {rn-sae}, %zmm14, %zmm8, %zmm1
+        vfmadd213pd {rn-sae}, %zmm15, %zmm8, %zmm11
+        vpermt2pd 64+__svml_dlog_data_internal_avx512(%rip), %zmm9, %zmm5
+
+/* polynomial */
+        vfmadd213pd {rn-sae}, %zmm11, %zmm12, %zmm1
+        vfmadd213pd {rn-sae}, %zmm6, %zmm8, %zmm1
+        vaddpd    {rn-sae}, %zmm1, %zmm5, %zmm2
+        vmovups   768+__svml_dlog_data_internal_avx512(%rip), %zmm1
+        vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm7
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm7, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm7, 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), %zmm7
+        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_dlog_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_log8,@function
+       .size   __svml_log8,.-__svml_log8
+..LN__svml_log8.0:
+
+.L_2__routine_start___svml_dlog_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dlog_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    6(%rdi), %edx
+        andl      $32752, %edx
+        cmpl      $32752, %edx
+        je        .LBL_2_12
+
+
+        movsd     (%rdi), %xmm2
+        xorl      %ecx, %ecx
+        movsd     %xmm2, -8(%rsp)
+        movzwl    -2(%rsp), %edx
+        testl     $32752, %edx
+        jne       .LBL_2_4
+
+
+        mulsd     1600+__dlog_la_CoutTab(%rip), %xmm2
+        movl      $-60, %ecx
+        movsd     %xmm2, -8(%rsp)
+
+.LBL_2_4:
+
+        movsd     1608+__dlog_la_CoutTab(%rip), %xmm0
+        comisd    %xmm0, %xmm2
+        jbe       .LBL_2_8
+
+
+        movsd     .L_2il0floatpacket.80(%rip), %xmm3
+        movaps    %xmm2, %xmm1
+        subsd     %xmm3, %xmm1
+        movsd     %xmm1, -16(%rsp)
+        andb      $127, -9(%rsp)
+        movsd     -16(%rsp), %xmm0
+        comisd    1592+__dlog_la_CoutTab(%rip), %xmm0
+        jbe       .LBL_2_7
+
+
+        movsd     %xmm2, -16(%rsp)
+        pxor      %xmm7, %xmm7
+        movzwl    -10(%rsp), %edi
+        lea       __dlog_la_CoutTab(%rip), %r10
+        andl      $-32753, %edi
+        addl      $16368, %edi
+        movw      %di, -10(%rsp)
+        movsd     -16(%rsp), %xmm4
+        movaps    %xmm4, %xmm1
+        movaps    %xmm4, %xmm2
+        movsd     1672+__dlog_la_CoutTab(%rip), %xmm8
+        movzwl    -2(%rsp), %edx
+        andl      $32752, %edx
+        addsd     1576+__dlog_la_CoutTab(%rip), %xmm1
+        addsd     1584+__dlog_la_CoutTab(%rip), %xmm2
+        movsd     %xmm1, -24(%rsp)
+        movl      -24(%rsp), %r8d
+        movsd     %xmm2, -24(%rsp)
+        andl      $127, %r8d
+        movsd     -24(%rsp), %xmm5
+        movsd     1560+__dlog_la_CoutTab(%rip), %xmm9
+        movsd     1568+__dlog_la_CoutTab(%rip), %xmm0
+        shrl      $4, %edx
+        subsd     1584+__dlog_la_CoutTab(%rip), %xmm5
+        lea       (%r8,%r8,2), %r9d
+        movsd     (%r10,%r9,8), %xmm6
+        lea       -1023(%rcx,%rdx), %ecx
+        cvtsi2sd  %ecx, %xmm7
+        subsd     %xmm5, %xmm4
+        mulsd     %xmm6, %xmm5
+        mulsd     %xmm7, %xmm9
+        subsd     %xmm3, %xmm5
+        mulsd     %xmm4, %xmm6
+        mulsd     %xmm0, %xmm7
+        addsd     8(%r10,%r9,8), %xmm9
+        addsd     16(%r10,%r9,8), %xmm7
+        addsd     %xmm5, %xmm9
+        addsd     %xmm6, %xmm7
+        movaps    %xmm5, %xmm3
+        addsd     %xmm6, %xmm3
+        mulsd     %xmm3, %xmm8
+        addsd     1664+__dlog_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1656+__dlog_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1648+__dlog_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1640+__dlog_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1632+__dlog_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     1624+__dlog_la_CoutTab(%rip), %xmm8
+        mulsd     %xmm3, %xmm8
+        mulsd     %xmm3, %xmm8
+        addsd     %xmm7, %xmm8
+        addsd     %xmm8, %xmm9
+        movsd     %xmm9, (%rsi)
+        ret
+
+.LBL_2_7:
+
+        movsd     1672+__dlog_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1664+__dlog_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1656+__dlog_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1648+__dlog_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1640+__dlog_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1632+__dlog_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     1624+__dlog_la_CoutTab(%rip), %xmm0
+        mulsd     %xmm1, %xmm0
+        mulsd     %xmm1, %xmm0
+        addsd     %xmm1, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        ucomisd   %xmm0, %xmm2
+        jp        .LBL_2_9
+        je        .LBL_2_11
+
+.LBL_2_9:
+
+        divsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        movl      $1, %eax
+
+
+        ret
+
+.LBL_2_11:
+
+        movsd     1616+__dlog_la_CoutTab(%rip), %xmm1
+        movl      $2, %eax
+        xorps     .L_2il0floatpacket.79(%rip), %xmm1
+        divsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_12:
+
+        movb      7(%rdi), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_14
+
+.LBL_2_13:
+
+        movsd     (%rdi), %xmm0
+        mulsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        testl     $1048575, 4(%rdi)
+        jne       .LBL_2_13
+
+
+        cmpl      $0, (%rdi)
+        jne       .LBL_2_13
+
+
+        movsd     1608+__dlog_la_CoutTab(%rip), %xmm0
+        movl      $1, %eax
+        divsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dlog_cout_rare_internal,@function
+       .size   __svml_dlog_cout_rare_internal,.-__svml_dlog_cout_rare_internal
+..LN__svml_dlog_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dlog_data_internal_avx512:
+       .long   0
+       .long   0
+       .long   3222364838
+       .long   3215919664
+       .long   1848308454
+       .long   3216910087
+       .long   1890030548
+       .long   3217424176
+       .long   3348797986
+       .long   3217854455
+       .long   2880153102
+       .long   3218171740
+       .long   3256639170
+       .long   3218366859
+       .long   4139503623
+       .long   3218553303
+       .long   288676754
+       .long   1070754146
+       .long   1823716217
+       .long   1070569756
+       .long   1015732707
+       .long   1070240749
+       .long   1800682930
+       .long   1069924160
+       .long   2183652476
+       .long   1069619086
+       .long   1566132617
+       .long   1069101918
+       .long   3047045639
+       .long   1068533144
+       .long   2313634884
+       .long   1067467101
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   0
+       .long   1072168960
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   815627376
+       .long   1069318605
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2123607906
+       .long   3217033013
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   2632876527
+       .long   1069697314
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   4213758726
+       .long   3217380691
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   2580324188
+       .long   1070176665
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   787901
+       .long   3218079744
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   1431655526
+       .long   1070945621
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4294967238
+       .long   3219128319
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   4277811695
+       .long   1072049730
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   0
+       .long   1048576
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .long   4294967295
+       .long   2146435071
+       .type   __svml_dlog_data_internal_avx512,@object
+       .size   __svml_dlog_data_internal_avx512,1088
+       .align 32
+__dlog_la_CoutTab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072660480
+       .long   1486880768
+       .long   1066410070
+       .long   1813744607
+       .long   3179892593
+       .long   0
+       .long   1072629760
+       .long   377487360
+       .long   1067416219
+       .long   919019713
+       .long   3179241129
+       .long   0
+       .long   1072599040
+       .long   1513619456
+       .long   1067944025
+       .long   874573033
+       .long   3178512940
+       .long   0
+       .long   1072570368
+       .long   3221749760
+       .long   1068427825
+       .long   4181665006
+       .long   3177478212
+       .long   0
+       .long   1072541696
+       .long   4162322432
+       .long   1068708823
+       .long   627020255
+       .long   1028629941
+       .long   0
+       .long   1072513024
+       .long   183107584
+       .long   1068957907
+       .long   2376703469
+       .long   1030233118
+       .long   0
+       .long   1072486400
+       .long   1053425664
+       .long   1069192557
+       .long   696277142
+       .long   1030474863
+       .long   0
+       .long   1072459776
+       .long   3996123136
+       .long   1069430535
+       .long   2630798680
+       .long   1028792016
+       .long   0
+       .long   1072435200
+       .long   3452764160
+       .long   1069600382
+       .long   624954044
+       .long   3177101741
+       .long   0
+       .long   1072409600
+       .long   207650816
+       .long   1069717971
+       .long   3272735636
+       .long   3175176575
+       .long   0
+       .long   1072386048
+       .long   2647228416
+       .long   1069827627
+       .long   3594228712
+       .long   1029303785
+       .long   0
+       .long   1072362496
+       .long   2712010752
+       .long   1069938736
+       .long   3653242769
+       .long   3176839013
+       .long   0
+       .long   1072338944
+       .long   374439936
+       .long   1070051337
+       .long   4072775574
+       .long   3176577495
+       .long   0
+       .long   1072316416
+       .long   3707174912
+       .long   1070160474
+       .long   1486946159
+       .long   1023930920
+       .long   0
+       .long   1072294912
+       .long   1443954688
+       .long   1070265993
+       .long   293532967
+       .long   3176278277
+       .long   0
+       .long   1072273408
+       .long   127762432
+       .long   1070372856
+       .long   3404145447
+       .long   3177023955
+       .long   0
+       .long   1072252928
+       .long   2053832704
+       .long   1070475911
+       .long   1575076358
+       .long   1029048544
+       .long   0
+       .long   1072232448
+       .long   3194093568
+       .long   1070580248
+       .long   1864169120
+       .long   1026866084
+       .long   0
+       .long   1072212992
+       .long   3917201408
+       .long   1070638340
+       .long   2362145246
+       .long   3175606197
+       .long   0
+       .long   1072193536
+       .long   3417112576
+       .long   1070689116
+       .long   70087871
+       .long   3174183577
+       .long   0
+       .long   1072175104
+       .long   4226777088
+       .long   1070737793
+       .long   1620410586
+       .long   3174700065
+       .long   0
+       .long   1072156672
+       .long   3168870400
+       .long   1070787042
+       .long   311238082
+       .long   1025781772
+       .long   0
+       .long   1072139264
+       .long   2150580224
+       .long   1070834092
+       .long   1664262457
+       .long   3175299224
+       .long   0
+       .long   1072120832
+       .long   4095672320
+       .long   1070884491
+       .long   1657121015
+       .long   3174674199
+       .long   0
+       .long   1072104448
+       .long   2595577856
+       .long   1070929805
+       .long   2014006823
+       .long   3175423830
+       .long   0
+       .long   1072087040
+       .long   3747176448
+       .long   1070978493
+       .long   144991708
+       .long   3171552042
+       .long   0
+       .long   1072070656
+       .long   1050435584
+       .long   1071024840
+       .long   3386227432
+       .long   1027876916
+       .long   0
+       .long   1072055296
+       .long   255516672
+       .long   1071068760
+       .long   2637594316
+       .long   1028049573
+       .long   0
+       .long   1072038912
+       .long   1640783872
+       .long   1071116120
+       .long   893247007
+       .long   1028452162
+       .long   0
+       .long   1072023552
+       .long   2940411904
+       .long   1071161011
+       .long   813240633
+       .long   1027664048
+       .long   0
+       .long   1072009216
+       .long   882917376
+       .long   1071203348
+       .long   2376597551
+       .long   3175828767
+       .long   0
+       .long   1071993856
+       .long   213966848
+       .long   1071249188
+       .long   2977204125
+       .long   1028350609
+       .long   0
+       .long   1071979520
+       .long   2921504768
+       .long   1071292428
+       .long   523218347
+       .long   1028007004
+       .long   0
+       .long   1071965184
+       .long   3186655232
+       .long   1071336119
+       .long   2352907891
+       .long   1026967097
+       .long   0
+       .long   1071951872
+       .long   2653364224
+       .long   1071377101
+       .long   2453418583
+       .long   3174349512
+       .long   0
+       .long   1071938560
+       .long   3759783936
+       .long   1071418487
+       .long   3685870403
+       .long   3175415611
+       .long   0
+       .long   1071925248
+       .long   2468364288
+       .long   1071460286
+       .long   1578908842
+       .long   3175510517
+       .long   0
+       .long   1071911936
+       .long   81903616
+       .long   1071502506
+       .long   770710269
+       .long   1026742353
+       .long   0
+       .long   1071899648
+       .long   2799321088
+       .long   1071541858
+       .long   3822266185
+       .long   1028434427
+       .long   0
+       .long   1071886336
+       .long   2142265344
+       .long   1071584911
+       .long   175901806
+       .long   3173871540
+       .long   0
+       .long   1071874048
+       .long   2944024576
+       .long   1071625048
+       .long   2747360403
+       .long   1027672159
+       .long   0
+       .long   1071862784
+       .long   3434301440
+       .long   1071653426
+       .long   4194662196
+       .long   3173893003
+       .long   0
+       .long   1071850496
+       .long   1547755520
+       .long   1071673870
+       .long   4248764681
+       .long   3172759087
+       .long   0
+       .long   1071839232
+       .long   4246986752
+       .long   1071692786
+       .long   2840205638
+       .long   3174430911
+       .long   0
+       .long   1071826944
+       .long   3418390528
+       .long   1071713619
+       .long   3041880823
+       .long   1025440860
+       .long   0
+       .long   1071816704
+       .long   4143093760
+       .long   1071731139
+       .long   2727587401
+       .long   3173965207
+       .long   0
+       .long   1071805440
+       .long   3121326080
+       .long   1071750582
+       .long   3173887692
+       .long   3174190163
+       .long   0
+       .long   1071794176
+       .long   1852893184
+       .long   1071770207
+       .long   3951060252
+       .long   1027348295
+       .long   0
+       .long   1071783936
+       .long   3636379648
+       .long   1071788208
+       .long   1684924001
+       .long   3174777086
+       .long   0
+       .long   1071773696
+       .long   516505600
+       .long   1071806366
+       .long   429181199
+       .long   3173211033
+       .long   0
+       .long   1071763456
+       .long   4186185728
+       .long   1071824681
+       .long   2044904577
+       .long   3174967132
+       .long   0
+       .long   1071753216
+       .long   877596672
+       .long   1071843159
+       .long   1396318105
+       .long   3173959727
+       .long   0
+       .long   1071742976
+       .long   2912784384
+       .long   1071861800
+       .long   448136789
+       .long   3174814192
+       .long   0
+       .long   1071733760
+       .long   3722825728
+       .long   1071878720
+       .long   714165913
+       .long   3173439560
+       .long   0
+       .long   1071723520
+       .long   2522374144
+       .long   1071897682
+       .long   3227240353
+       .long   3173394323
+       .long   0
+       .long   1071714304
+       .long   4165410816
+       .long   1071914895
+       .long   1365684961
+       .long   3174365060
+       .long   0
+       .long   1071705088
+       .long   3477135360
+       .long   1071932251
+       .long   368482985
+       .long   3174140821
+       .long   0
+       .long   1071695872
+       .long   2079455232
+       .long   1071949752
+       .long   1320576317
+       .long   1026822714
+       .long   0
+       .long   1071687680
+       .long   851795968
+       .long   1071965432
+       .long   3702467026
+       .long   1025224125
+       .long   0
+       .long   1071678464
+       .long   647743488
+       .long   1071983213
+       .long   772992109
+       .long   3174038459
+       .long   0
+       .long   1071670272
+       .long   26537984
+       .long   1071999146
+       .long   2360214276
+       .long   3174861275
+       .long   0
+       .long   1071661056
+       .long   1547061248
+       .long   1072017216
+       .long   2886781435
+       .long   1026423395
+       .long   0
+       .long   1071652864
+       .long   2854492160
+       .long   1072033410
+       .long   215631550
+       .long   1025638968
+       .long   0
+       .long   1071644672
+       .long   4277811200
+       .long   1072049730
+       .long   2479318832
+       .long   1026487127
+       .long   4277811200
+       .long   1072049730
+       .long   2479318832
+       .long   1026487127
+       .long   64
+       .long   1120927744
+       .long   0
+       .long   1094713344
+       .long   0
+       .long   1065615360
+       .long   0
+       .long   1135607808
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3219128320
+       .long   1431655955
+       .long   1070945621
+       .long   610
+       .long   3218079744
+       .long   2545118337
+       .long   1070176665
+       .long   1378399119
+       .long   3217380693
+       .long   612435357
+       .long   1069697472
+       .long   94536557
+       .long   3217031348
+       .type   __dlog_la_CoutTab,@object
+       .size   __dlog_la_CoutTab,1680
+       .align 16
+.L_2il0floatpacket.79:
+       .long   0x00000000,0x80000000,0x00000000,0x00000000
+       .type   .L_2il0floatpacket.79,@object
+       .size   .L_2il0floatpacket.79,16
+       .align 8
+.L_2il0floatpacket.80:
+       .long   0x00000000,0x3ff00000
+       .type   .L_2il0floatpacket.80,@object
+       .size   .L_2il0floatpacket.80,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_log_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_log_s_la.s
new file mode 100644 (file)
index 0000000..d3bcca8
--- /dev/null
@@ -0,0 +1,930 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *
+ *  *   log(x) = exponent_x*log(2) + log(mantissa_x),         if mantissa_x<4/3
+ *  *   log(x) = (exponent_x+1)*log(2) + log(0.5*mantissa_x), if mantissa_x>4/3
+ *  *
+ *  *    R = mantissa_x - 1,     if mantissa_x<4/3
+ *  *    R = 0.5*mantissa_x - 1, if mantissa_x>4/3
+ *  *    |R|< 1/3
+ *  *
+ *  *    log(1+R) is approximated as a polynomial: degree 9 for 1-ulp, degree 7 for 4-ulp,
+ *  *    degree 3 for half-precision
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_logf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_logf16
+
+__svml_logf16:
+
+
+       .cfi_startproc
+..L2:
+
+        pushq     %rbp
+       .cfi_def_cfa_offset 16
+        movq      %rsp, %rbp
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+        andq      $-64, %rsp
+        subq      $192, %rsp
+        vgetmantps $11, {sae}, %zmm0, %zmm3
+        vmovups   __svml_slog_data_internal_avx512(%rip), %zmm1
+        vgetexpps {sae}, %zmm0, %zmm5
+        vmovups   320+__svml_slog_data_internal_avx512(%rip), %zmm10
+        vpsrld    $19, %zmm3, %zmm7
+        vgetexpps {sae}, %zmm3, %zmm6
+
+/* reduced argument */
+        vsubps    {rn-sae}, %zmm1, %zmm3, %zmm11
+
+/*
+ * read coefficients for polynomial interpolation,
+ * and evaluate polynomial
+ */
+        vpermps   64+__svml_slog_data_internal_avx512(%rip), %zmm7, %zmm1
+        vpermps   128+__svml_slog_data_internal_avx512(%rip), %zmm7, %zmm2
+        vsubps    {rn-sae}, %zmm6, %zmm5, %zmm9
+        vpermps   192+__svml_slog_data_internal_avx512(%rip), %zmm7, %zmm4
+        vpermps   256+__svml_slog_data_internal_avx512(%rip), %zmm7, %zmm8
+
+/* x<=0? */
+        vfpclassps $94, %zmm0, %k0
+        vfmadd213ps {rn-sae}, %zmm2, %zmm11, %zmm1
+
+/* exponent*log(2) */
+        vmulps    {rn-sae}, %zmm10, %zmm9, %zmm12
+        vfmadd213ps {rn-sae}, %zmm4, %zmm11, %zmm1
+        kmovw     %k0, %edx
+        vfmadd213ps {rn-sae}, %zmm8, %zmm11, %zmm1
+
+/* result */
+        vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm1
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm1, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm1, 128(%rsp)
+        je        .LBL_1_2
+
+
+        xorl      %eax, %eax
+
+
+        vzeroupper
+        kmovw     %k4, 24(%rsp)
+        kmovw     %k5, 16(%rsp)
+        kmovw     %k6, 8(%rsp)
+        kmovw     %k7, (%rsp)
+        movq      %rsi, 40(%rsp)
+        movq      %rdi, 32(%rsp)
+        movq      %r12, 56(%rsp)
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_7:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_10
+
+.LBL_1_8:
+
+        incl      %r12d
+        cmpl      $16, %r12d
+        jl        .LBL_1_7
+
+
+        kmovw     24(%rsp), %k4
+       .cfi_restore 122
+        kmovw     16(%rsp), %k5
+       .cfi_restore 123
+        kmovw     8(%rsp), %k6
+       .cfi_restore 124
+        kmovw     (%rsp), %k7
+       .cfi_restore 125
+        vmovups   128(%rsp), %zmm1
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+
+        call      __svml_slog_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_logf16,@function
+       .size   __svml_logf16,.-__svml_logf16
+..LN__svml_logf16.0:
+
+.L_2__routine_start___svml_slog_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_slog_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        xorl      %eax, %eax
+        movzwl    2(%rdi), %edx
+        andl      $32640, %edx
+        cmpl      $32640, %edx
+        je        .LBL_2_12
+
+
+        pxor      %xmm2, %xmm2
+        xorl      %ecx, %ecx
+        cvtss2sd  (%rdi), %xmm2
+        movsd     %xmm2, -8(%rsp)
+        movzwl    -2(%rsp), %edx
+        testl     $32752, %edx
+        jne       .LBL_2_4
+
+
+        mulsd     1600+_imlsLnHATab(%rip), %xmm2
+        movl      $-60, %ecx
+        movsd     %xmm2, -8(%rsp)
+
+.LBL_2_4:
+
+        movsd     1608+_imlsLnHATab(%rip), %xmm0
+        comisd    %xmm0, %xmm2
+        jbe       .LBL_2_8
+
+
+        movsd     .L_2il0floatpacket.73(%rip), %xmm3
+        movaps    %xmm2, %xmm1
+        subsd     %xmm3, %xmm1
+        movsd     %xmm1, -16(%rsp)
+        andb      $127, -9(%rsp)
+        movsd     -16(%rsp), %xmm0
+        comisd    1592+_imlsLnHATab(%rip), %xmm0
+        jbe       .LBL_2_7
+
+
+        movsd     %xmm2, -16(%rsp)
+        pxor      %xmm6, %xmm6
+        movzwl    -10(%rsp), %edi
+        lea       _imlsLnHATab(%rip), %r10
+        andl      $-32753, %edi
+        addl      $16368, %edi
+        movw      %di, -10(%rsp)
+        movsd     -16(%rsp), %xmm4
+        movaps    %xmm4, %xmm1
+        movaps    %xmm4, %xmm2
+        movsd     1672+_imlsLnHATab(%rip), %xmm9
+        movzwl    -2(%rsp), %edx
+        andl      $32752, %edx
+        addsd     1576+_imlsLnHATab(%rip), %xmm1
+        addsd     1584+_imlsLnHATab(%rip), %xmm2
+        movsd     %xmm1, -24(%rsp)
+        movl      -24(%rsp), %r8d
+        movsd     %xmm2, -24(%rsp)
+        andl      $127, %r8d
+        movsd     -24(%rsp), %xmm7
+        movsd     1560+_imlsLnHATab(%rip), %xmm5
+        movsd     1568+_imlsLnHATab(%rip), %xmm0
+        shrl      $4, %edx
+        subsd     1584+_imlsLnHATab(%rip), %xmm7
+        lea       (%r8,%r8,2), %r9d
+        movsd     (%r10,%r9,8), %xmm8
+        lea       -1023(%rcx,%rdx), %ecx
+        cvtsi2sd  %ecx, %xmm6
+        subsd     %xmm7, %xmm4
+        mulsd     %xmm8, %xmm7
+        mulsd     %xmm6, %xmm5
+        subsd     %xmm3, %xmm7
+        mulsd     %xmm4, %xmm8
+        mulsd     %xmm0, %xmm6
+        addsd     8(%r10,%r9,8), %xmm5
+        addsd     16(%r10,%r9,8), %xmm6
+        movaps    %xmm7, %xmm3
+        addsd     %xmm8, %xmm3
+        mulsd     %xmm3, %xmm9
+        addsd     1664+_imlsLnHATab(%rip), %xmm9
+        mulsd     %xmm3, %xmm9
+        addsd     1656+_imlsLnHATab(%rip), %xmm9
+        mulsd     %xmm3, %xmm9
+        addsd     1648+_imlsLnHATab(%rip), %xmm9
+        mulsd     %xmm3, %xmm9
+        addsd     1640+_imlsLnHATab(%rip), %xmm9
+        mulsd     %xmm3, %xmm9
+        addsd     1632+_imlsLnHATab(%rip), %xmm9
+        mulsd     %xmm3, %xmm9
+        mulsd     %xmm3, %xmm3
+        addsd     1624+_imlsLnHATab(%rip), %xmm9
+        mulsd     %xmm3, %xmm9
+        addsd     %xmm5, %xmm9
+        addsd     %xmm6, %xmm9
+        addsd     %xmm7, %xmm9
+        addsd     %xmm8, %xmm9
+        cvtsd2ss  %xmm9, %xmm9
+        movss     %xmm9, (%rsi)
+        ret
+
+.LBL_2_7:
+
+        movsd     1672+_imlsLnHATab(%rip), %xmm2
+        movaps    %xmm1, %xmm0
+        mulsd     %xmm1, %xmm2
+        mulsd     %xmm1, %xmm0
+        addsd     1664+_imlsLnHATab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1656+_imlsLnHATab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1648+_imlsLnHATab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1640+_imlsLnHATab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1632+_imlsLnHATab(%rip), %xmm2
+        mulsd     %xmm1, %xmm2
+        addsd     1624+_imlsLnHATab(%rip), %xmm2
+        mulsd     %xmm0, %xmm2
+        addsd     %xmm1, %xmm2
+        cvtsd2ss  %xmm2, %xmm2
+        movss     %xmm2, (%rsi)
+        ret
+
+.LBL_2_8:
+
+        ucomisd   %xmm0, %xmm2
+        jp        .LBL_2_9
+        je        .LBL_2_11
+
+.LBL_2_9:
+
+        divsd     %xmm0, %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        movl      $1, %eax
+
+
+        ret
+
+.LBL_2_11:
+
+        movsd     1616+_imlsLnHATab(%rip), %xmm1
+        movl      $2, %eax
+        xorps     .L_2il0floatpacket.72(%rip), %xmm1
+        divsd     %xmm0, %xmm1
+        cvtsd2ss  %xmm1, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+
+.LBL_2_12:
+
+        movb      3(%rdi), %dl
+        andb      $-128, %dl
+        cmpb      $-128, %dl
+        je        .LBL_2_14
+
+.LBL_2_13:
+
+        movss     (%rdi), %xmm0
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_14:
+
+        testl     $8388607, (%rdi)
+        jne       .LBL_2_13
+
+
+        movsd     1608+_imlsLnHATab(%rip), %xmm0
+        movl      $1, %eax
+        divsd     %xmm0, %xmm0
+        cvtsd2ss  %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_slog_cout_rare_internal,@function
+       .size   __svml_slog_cout_rare_internal,.-__svml_slog_cout_rare_internal
+..LN__svml_slog_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_slog_data_internal_avx512:
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   1065353216
+       .long   3194499567
+       .long   3191881870
+       .long   3189820965
+       .long   3188177733
+       .long   3186034033
+       .long   3183874545
+       .long   3182098566
+       .long   3180625528
+       .long   3205885581
+       .long   3204713431
+       .long   3202986354
+       .long   3201283063
+       .long   3199818667
+       .long   3198553107
+       .long   3197454075
+       .long   3196495328
+       .long   1051342523
+       .long   1051102009
+       .long   1050719235
+       .long   1050259833
+       .long   1049764999
+       .long   1049260512
+       .long   1048762310
+       .long   1047983990
+       .long   1044808958
+       .long   1047891773
+       .long   1049356949
+       .long   1050157361
+       .long   1050708164
+       .long   1051065485
+       .long   1051272715
+       .long   1051363578
+       .long   3204447891
+       .long   3204432523
+       .long   3204384627
+       .long   3204298603
+       .long   3204175099
+       .long   3204017696
+       .long   3203831137
+       .long   3203620393
+       .long   3204845352
+       .long   3204676294
+       .long   3204570658
+       .long   3204507866
+       .long   3204473248
+       .long   3204456356
+       .long   3204449777
+       .long   3204448283
+       .long   1065353216
+       .long   1065353045
+       .long   1065352036
+       .long   1065349339
+       .long   1065344188
+       .long   1065335989
+       .long   1065324332
+       .long   1065308972
+       .long   1065328777
+       .long   1065341148
+       .long   1065347780
+       .long   1065351069
+       .long   1065352524
+       .long   1065353058
+       .long   1065353199
+       .long   1065353216
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   1060205080
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   8388608
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .long   2139095039
+       .type   __svml_slog_data_internal_avx512,@object
+       .size   __svml_slog_data_internal_avx512,512
+       .align 32
+_imlsLnHATab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072660480
+       .long   1486880768
+       .long   1066410070
+       .long   1813744607
+       .long   3179892593
+       .long   0
+       .long   1072629760
+       .long   377487360
+       .long   1067416219
+       .long   919019713
+       .long   3179241129
+       .long   0
+       .long   1072599040
+       .long   1513619456
+       .long   1067944025
+       .long   874573033
+       .long   3178512940
+       .long   0
+       .long   1072570368
+       .long   3221749760
+       .long   1068427825
+       .long   4181665006
+       .long   3177478212
+       .long   0
+       .long   1072541696
+       .long   4162322432
+       .long   1068708823
+       .long   627020255
+       .long   1028629941
+       .long   0
+       .long   1072513024
+       .long   183107584
+       .long   1068957907
+       .long   2376703469
+       .long   1030233118
+       .long   0
+       .long   1072486400
+       .long   1053425664
+       .long   1069192557
+       .long   696277142
+       .long   1030474863
+       .long   0
+       .long   1072459776
+       .long   3996123136
+       .long   1069430535
+       .long   2630798680
+       .long   1028792016
+       .long   0
+       .long   1072435200
+       .long   3452764160
+       .long   1069600382
+       .long   624954044
+       .long   3177101741
+       .long   0
+       .long   1072409600
+       .long   207650816
+       .long   1069717971
+       .long   3272735636
+       .long   3175176575
+       .long   0
+       .long   1072386048
+       .long   2647228416
+       .long   1069827627
+       .long   3594228712
+       .long   1029303785
+       .long   0
+       .long   1072362496
+       .long   2712010752
+       .long   1069938736
+       .long   3653242769
+       .long   3176839013
+       .long   0
+       .long   1072338944
+       .long   374439936
+       .long   1070051337
+       .long   4072775574
+       .long   3176577495
+       .long   0
+       .long   1072316416
+       .long   3707174912
+       .long   1070160474
+       .long   1486946159
+       .long   1023930920
+       .long   0
+       .long   1072294912
+       .long   1443954688
+       .long   1070265993
+       .long   293532967
+       .long   3176278277
+       .long   0
+       .long   1072273408
+       .long   127762432
+       .long   1070372856
+       .long   3404145447
+       .long   3177023955
+       .long   0
+       .long   1072252928
+       .long   2053832704
+       .long   1070475911
+       .long   1575076358
+       .long   1029048544
+       .long   0
+       .long   1072232448
+       .long   3194093568
+       .long   1070580248
+       .long   1864169120
+       .long   1026866084
+       .long   0
+       .long   1072212992
+       .long   3917201408
+       .long   1070638340
+       .long   2362145246
+       .long   3175606197
+       .long   0
+       .long   1072193536
+       .long   3417112576
+       .long   1070689116
+       .long   70087871
+       .long   3174183577
+       .long   0
+       .long   1072175104
+       .long   4226777088
+       .long   1070737793
+       .long   1620410586
+       .long   3174700065
+       .long   0
+       .long   1072156672
+       .long   3168870400
+       .long   1070787042
+       .long   311238082
+       .long   1025781772
+       .long   0
+       .long   1072139264
+       .long   2150580224
+       .long   1070834092
+       .long   1664262457
+       .long   3175299224
+       .long   0
+       .long   1072120832
+       .long   4095672320
+       .long   1070884491
+       .long   1657121015
+       .long   3174674199
+       .long   0
+       .long   1072104448
+       .long   2595577856
+       .long   1070929805
+       .long   2014006823
+       .long   3175423830
+       .long   0
+       .long   1072087040
+       .long   3747176448
+       .long   1070978493
+       .long   144991708
+       .long   3171552042
+       .long   0
+       .long   1072070656
+       .long   1050435584
+       .long   1071024840
+       .long   3386227432
+       .long   1027876916
+       .long   0
+       .long   1072055296
+       .long   255516672
+       .long   1071068760
+       .long   2637594316
+       .long   1028049573
+       .long   0
+       .long   1072038912
+       .long   1640783872
+       .long   1071116120
+       .long   893247007
+       .long   1028452162
+       .long   0
+       .long   1072023552
+       .long   2940411904
+       .long   1071161011
+       .long   813240633
+       .long   1027664048
+       .long   0
+       .long   1072009216
+       .long   882917376
+       .long   1071203348
+       .long   2376597551
+       .long   3175828767
+       .long   0
+       .long   1071993856
+       .long   213966848
+       .long   1071249188
+       .long   2977204125
+       .long   1028350609
+       .long   0
+       .long   1071979520
+       .long   2921504768
+       .long   1071292428
+       .long   523218347
+       .long   1028007004
+       .long   0
+       .long   1071965184
+       .long   3186655232
+       .long   1071336119
+       .long   2352907891
+       .long   1026967097
+       .long   0
+       .long   1071951872
+       .long   2653364224
+       .long   1071377101
+       .long   2453418583
+       .long   3174349512
+       .long   0
+       .long   1071938560
+       .long   3759783936
+       .long   1071418487
+       .long   3685870403
+       .long   3175415611
+       .long   0
+       .long   1071925248
+       .long   2468364288
+       .long   1071460286
+       .long   1578908842
+       .long   3175510517
+       .long   0
+       .long   1071911936
+       .long   81903616
+       .long   1071502506
+       .long   770710269
+       .long   1026742353
+       .long   0
+       .long   1071899648
+       .long   2799321088
+       .long   1071541858
+       .long   3822266185
+       .long   1028434427
+       .long   0
+       .long   1071886336
+       .long   2142265344
+       .long   1071584911
+       .long   175901806
+       .long   3173871540
+       .long   0
+       .long   1071874048
+       .long   2944024576
+       .long   1071625048
+       .long   2747360403
+       .long   1027672159
+       .long   0
+       .long   1071862784
+       .long   3434301440
+       .long   1071653426
+       .long   4194662196
+       .long   3173893003
+       .long   0
+       .long   1071850496
+       .long   1547755520
+       .long   1071673870
+       .long   4248764681
+       .long   3172759087
+       .long   0
+       .long   1071839232
+       .long   4246986752
+       .long   1071692786
+       .long   2840205638
+       .long   3174430911
+       .long   0
+       .long   1071826944
+       .long   3418390528
+       .long   1071713619
+       .long   3041880823
+       .long   1025440860
+       .long   0
+       .long   1071816704
+       .long   4143093760
+       .long   1071731139
+       .long   2727587401
+       .long   3173965207
+       .long   0
+       .long   1071805440
+       .long   3121326080
+       .long   1071750582
+       .long   3173887692
+       .long   3174190163
+       .long   0
+       .long   1071794176
+       .long   1852893184
+       .long   1071770207
+       .long   3951060252
+       .long   1027348295
+       .long   0
+       .long   1071783936
+       .long   3636379648
+       .long   1071788208
+       .long   1684924001
+       .long   3174777086
+       .long   0
+       .long   1071773696
+       .long   516505600
+       .long   1071806366
+       .long   429181199
+       .long   3173211033
+       .long   0
+       .long   1071763456
+       .long   4186185728
+       .long   1071824681
+       .long   2044904577
+       .long   3174967132
+       .long   0
+       .long   1071753216
+       .long   877596672
+       .long   1071843159
+       .long   1396318105
+       .long   3173959727
+       .long   0
+       .long   1071742976
+       .long   2912784384
+       .long   1071861800
+       .long   448136789
+       .long   3174814192
+       .long   0
+       .long   1071733760
+       .long   3722825728
+       .long   1071878720
+       .long   714165913
+       .long   3173439560
+       .long   0
+       .long   1071723520
+       .long   2522374144
+       .long   1071897682
+       .long   3227240353
+       .long   3173394323
+       .long   0
+       .long   1071714304
+       .long   4165410816
+       .long   1071914895
+       .long   1365684961
+       .long   3174365060
+       .long   0
+       .long   1071705088
+       .long   3477135360
+       .long   1071932251
+       .long   368482985
+       .long   3174140821
+       .long   0
+       .long   1071695872
+       .long   2079455232
+       .long   1071949752
+       .long   1320576317
+       .long   1026822714
+       .long   0
+       .long   1071687680
+       .long   851795968
+       .long   1071965432
+       .long   3702467026
+       .long   1025224125
+       .long   0
+       .long   1071678464
+       .long   647743488
+       .long   1071983213
+       .long   772992109
+       .long   3174038459
+       .long   0
+       .long   1071670272
+       .long   26537984
+       .long   1071999146
+       .long   2360214276
+       .long   3174861275
+       .long   0
+       .long   1071661056
+       .long   1547061248
+       .long   1072017216
+       .long   2886781435
+       .long   1026423395
+       .long   0
+       .long   1071652864
+       .long   2854492160
+       .long   1072033410
+       .long   215631550
+       .long   1025638968
+       .long   0
+       .long   1071644672
+       .long   4277811200
+       .long   1072049730
+       .long   2479318832
+       .long   1026487127
+       .long   4277811200
+       .long   1072049730
+       .long   2479318832
+       .long   1026487127
+       .long   64
+       .long   1120927744
+       .long   0
+       .long   1094713344
+       .long   0
+       .long   1065615360
+       .long   0
+       .long   1135607808
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3219128320
+       .long   1431655955
+       .long   1070945621
+       .long   610
+       .long   3218079744
+       .long   2545118337
+       .long   1070176665
+       .long   1378399119
+       .long   3217380693
+       .long   612435357
+       .long   1069697472
+       .long   94536557
+       .long   3217031348
+       .type   _imlsLnHATab,@object
+       .size   _imlsLnHATab,1680
+       .align 16
+.L_2il0floatpacket.72:
+       .long   0x00000000,0x80000000,0x00000000,0x00000000
+       .type   .L_2il0floatpacket.72,@object
+       .size   .L_2il0floatpacket.72,16
+       .align 8
+.L_2il0floatpacket.73:
+       .long   0x00000000,0x3ff00000
+       .type   .L_2il0floatpacket.73,@object
+       .size   .L_2il0floatpacket.73,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_pow_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_pow_d_la.s
new file mode 100644 (file)
index 0000000..3ae1874
--- /dev/null
@@ -0,0 +1,3525 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *       1) Calculating log2|x|
+ * 
+ *           Here we use the following formula.
+ *           Let |x|=2^k1*X1, where k1 is integer, 1<=X1<2.
+ *           Let C ~= 1/ln(2),
+ *           Rcp1 ~= 1/X1,   X2=Rcp1*X1,
+ *           Rcp2 ~= 1/X2,   X3=Rcp2*X2,
+ *           Rcp3 ~= 1/X3,   Rcp3C ~= C/X3.
+ *           Then
+ * 
+ *               log2|x| = k1 + log2(1/Rcp1) + log2(1/Rcp2) + log2(C/Rcp3C) +
+ *                       + log2(X1*Rcp1*Rcp2*Rcp3C/C),
+ * 
+ *           where X1*Rcp1*Rcp2*Rcp3C = C*(1+q), q is very small.
+ * 
+ *           The values of Rcp1, log2(1/Rcp1), Rcp2, log2(1/Rcp2),
+ *           Rcp3C, log2(C/Rcp3C) are taken from tables.
+ *           Values of Rcp1, Rcp2, Rcp3C are such that RcpC=Rcp1*Rcp2*Rcp3C
+ *           is exactly represented in target precision.
+ * 
+ *           log2(X1*Rcp1*Rcp2*Rcp3C/C) = log2(1+q) = ln(1+q)/ln2 =
+ *               = 1/(ln2)*q - 1/(2ln2)*q^2 + 1/(3ln2)*q^3 - ... =
+ *               = 1/(C*ln2)*cq - 1/(2*C^2*ln2)*cq^2 + 1/(3*C^3*ln2)*cq^3 - ... =
+ *               = (1 + a1)*cq + a2*cq^2 + a3*cq^3 + ...,
+ *           where
+ *               cq=X1*Rcp1*Rcp2*Rcp3C-C,
+ *               a1=1/(C*ln(2))-1 is small,
+ *               a2=1/(2*C^2*ln2),
+ *               a3=1/(3*C^3*ln2),
+ *               ...
+ *               We get 3 parts of log2 result: HH+HL+HLL ~= log2|x|.
+ * 
+ *           2)  Calculation of y*(HH+HL+HLL).
+ *               Split y into YHi+YLo.
+ *               Get high PH and medium PL parts of y*log2|x|.
+ *               Get low PLL part of y*log2|x|.
+ *               Now we have PH+PL+PLL ~= y*log2|x|.
+ * 
+ *           3) Calculation of 2^(PH+PL+PLL).
+ * 
+ *               Mathematical idea of computing 2^(PH+PL+PLL) is the following.
+ *               Let's represent PH+PL+PLL in the form N + j/2^expK + Z,
+ *               where expK=7 in this implementation, N and j are integers,
+ *               0<=j<=2^expK-1, |Z|<2^(-expK-1). Hence
+ * 
+ *                   2^(PH+PL+PLL) ~= 2^N * 2^(j/2^expK) * 2^Z,
+ * 
+ *               where 2^(j/2^expK) is stored in a table, and
+ * 
+ *                   2^Z ~= 1 + B1*Z + B2*Z^2 ... + B5*Z^5.
+ * 
+ *               We compute 2^(PH+PL+PLL) as follows.
+ * 
+ *               Break PH into PHH + PHL, where PHH = N + j/2^expK.
+ *               Z = PHL + PL + PLL
+ *               Exp2Poly = B1*Z + B2*Z^2 ... + B5*Z^5
+ *               Get 2^(j/2^expK) from table in the form THI+TLO.
+ *               Now we have 2^(PH+PL+PLL) ~= 2^N * (THI + TLO) * (1 + Exp2Poly).
+ * 
+ *               Get significand of 2^(PH+PL+PLL) in the form ResHi+ResLo:
+ *               ResHi := THI
+ *               ResLo := THI * Exp2Poly + TLO
+ * 
+ *               Get exponent ERes of the result:
+ *               Res := ResHi + ResLo:
+ *               Result := ex(Res) + N
+ * 
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_pow8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_pow8
+
+__svml_pow8:
+
+
+       .cfi_startproc
+..L2:
+
+        pushq     %rbp
+       .cfi_def_cfa_offset 16
+        movq      %rsp, %rbp
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+        andq      $-64, %rsp
+        subq      $256, %rsp
+        vgetmantpd $10, {sae}, %zmm0, %zmm10
+
+/* Reduced argument: R = (DblRcp*Mantissa - 1) */
+        vmovups   640+__svml_dpow_data_internal_avx512(%rip), %zmm15
+
+/* Table lookup */
+        vmovups   __svml_dpow_data_internal_avx512(%rip), %zmm2
+        vmovups   128+__svml_dpow_data_internal_avx512(%rip), %zmm3
+        vmovups   256+__svml_dpow_data_internal_avx512(%rip), %zmm5
+        vmovups   384+__svml_dpow_data_internal_avx512(%rip), %zmm4
+
+/* Prepare exponent correction: DblRcp<1.5?  -- was 0.75 in initial AVX3 version, which used Mantissa in [1,2) */
+        vmovups   704+__svml_dpow_data_internal_avx512(%rip), %zmm14
+
+/* GetExp(x) */
+        vgetexppd {sae}, %zmm0, %zmm9
+
+/* P8_9 */
+        vmovups   960+__svml_dpow_data_internal_avx512(%rip), %zmm7
+
+/* DblRcp ~ 1/Mantissa */
+        vrcp14pd  %zmm10, %zmm12
+
+/* x<=0 or Inf/NaN? */
+        vfpclasspd $223, %zmm0, %k0
+
+/* round DblRcp to 5 fractional bits (RN mode, no Precision exception) */
+        vrndscalepd $88, {sae}, %zmm12, %zmm13
+        vmovups   896+__svml_dpow_data_internal_avx512(%rip), %zmm12
+        kmovw     %k0, %edx
+        vfmsub213pd {rn-sae}, %zmm15, %zmm13, %zmm10
+        vcmppd    $17, {sae}, %zmm14, %zmm13, %k1
+        vfmadd231pd {rn-sae}, %zmm10, %zmm12, %zmm7
+
+/* Prepare table index */
+        vpsrlq    $47, %zmm13, %zmm8
+        vmovups   1024+__svml_dpow_data_internal_avx512(%rip), %zmm13
+        vpermt2pd 64+__svml_dpow_data_internal_avx512(%rip), %zmm8, %zmm2
+        vpermt2pd 192+__svml_dpow_data_internal_avx512(%rip), %zmm8, %zmm3
+        vpermt2pd 320+__svml_dpow_data_internal_avx512(%rip), %zmm8, %zmm5
+        vpermt2pd 448+__svml_dpow_data_internal_avx512(%rip), %zmm8, %zmm4
+
+/* add 1 to Expon if DblRcp<1.5 */
+        vaddpd    {rn-sae}, %zmm15, %zmm9, %zmm9{%k1}
+        vmovaps   %zmm1, %zmm11
+        vpsllq    $59, %zmm8, %zmm1
+
+/* R^2 */
+        vmulpd    {rn-sae}, %zmm10, %zmm10, %zmm8
+        vpmovq2m  %zmm1, %k2
+
+/* y Inf/NaN? */
+        vfpclasspd $153, %zmm11, %k3
+
+/* P6_7 */
+        vmovups   1088+__svml_dpow_data_internal_avx512(%rip), %zmm1
+        vblendmpd %zmm3, %zmm2, %zmm14{%k2}
+        vblendmpd %zmm4, %zmm5, %zmm6{%k2}
+
+/* P4_5 */
+        vmovups   1216+__svml_dpow_data_internal_avx512(%rip), %zmm2
+        vfmadd231pd {rn-sae}, %zmm10, %zmm13, %zmm1
+        vmovups   832+__svml_dpow_data_internal_avx512(%rip), %zmm4
+        vmovups   768+__svml_dpow_data_internal_avx512(%rip), %zmm3
+
+/* Expon + Th */
+        vaddpd    {rn-sae}, %zmm9, %zmm14, %zmm15
+        vmovups   1152+__svml_dpow_data_internal_avx512(%rip), %zmm9
+
+/* P6_9 */
+        vfmadd213pd {rn-sae}, %zmm1, %zmm8, %zmm7
+
+/* P2_3 */
+        vmovups   1344+__svml_dpow_data_internal_avx512(%rip), %zmm1
+
+/* P1_2 */
+        vmovups   1920+__svml_dpow_data_internal_avx512(%rip), %zmm14
+        vfmadd231pd {rn-sae}, %zmm10, %zmm9, %zmm2
+        kmovw     %k3, %eax
+
+/* P4_9 */
+        vfmadd213pd {rn-sae}, %zmm2, %zmm8, %zmm7
+
+/* R2l */
+        vmovaps   %zmm10, %zmm5
+        orl       %eax, %edx
+        vfmsub213pd {rn-sae}, %zmm8, %zmm10, %zmm5
+
+/* Tl + R2l*c2h */
+        vfmadd213pd {rn-sae}, %zmm6, %zmm4, %zmm5
+        vmovups   1280+__svml_dpow_data_internal_avx512(%rip), %zmm6
+        vfmadd231pd {rn-sae}, %zmm10, %zmm6, %zmm1
+
+/* Expon + Th+ R*c1h */
+        vmovaps   %zmm15, %zmm12
+        vfmadd231pd {rn-sae}, %zmm10, %zmm3, %zmm12
+
+/* P2_9 */
+        vfmadd213pd {rn-sae}, %zmm1, %zmm8, %zmm7
+
+/* (R*c1h)_h */
+        vsubpd    {rn-sae}, %zmm15, %zmm12, %zmm9
+
+/* Tl + R2l*c2h + R2*P2_9 */
+        vfmadd231pd {rn-sae}, %zmm8, %zmm7, %zmm5
+        vmovups   1408+__svml_dpow_data_internal_avx512(%rip), %zmm7
+
+/* (R*c1h)_l */
+        vfmsub231pd {rn-sae}, %zmm3, %zmm10, %zmm9
+
+/* Expon + Th+ R*c1h + R2*c2h */
+        vmovaps   %zmm12, %zmm13
+        vfmadd231pd {rn-sae}, %zmm8, %zmm4, %zmm13
+
+/* R*c1l + (R*c1h)_l */
+        vfmadd213pd {rn-sae}, %zmm9, %zmm7, %zmm10
+        vmovups   1728+__svml_dpow_data_internal_avx512(%rip), %zmm9
+
+/* High2 + Tlh */
+        vaddpd    {rn-sae}, %zmm5, %zmm13, %zmm6
+
+/* (R2*c2h)_h */
+        vsubpd    {rn-sae}, %zmm12, %zmm13, %zmm2
+
+/* P3_4 */
+        vmovups   1792+__svml_dpow_data_internal_avx512(%rip), %zmm12
+
+/* y*High */
+        vmulpd    {rz-sae}, %zmm11, %zmm6, %zmm3
+
+/* (R2*c2h)_l */
+        vfmsub213pd {rn-sae}, %zmm2, %zmm4, %zmm8
+        vsubpd    {rn-sae}, %zmm13, %zmm6, %zmm1
+
+/* (y*High)_low */
+        vfmsub213pd {rz-sae}, %zmm3, %zmm11, %zmm6
+
+/* Tll */
+        vsubpd    {rn-sae}, %zmm1, %zmm5, %zmm4
+
+/* R*c1l + (R*c1h)_l+(R2*c2h)_l */
+        vaddpd    {rn-sae}, %zmm8, %zmm10, %zmm10
+        vmovups   1472+__svml_dpow_data_internal_avx512(%rip), %zmm1
+        vmovups   1600+__svml_dpow_data_internal_avx512(%rip), %zmm8
+
+/* Tll + R*c1l + (R*c1h)_l */
+        vaddpd    {rn-sae}, %zmm10, %zmm4, %zmm5
+        vaddpd    {rd-sae}, %zmm1, %zmm3, %zmm2
+
+/*
+ * /
+ * exp2 computation starts here
+ */
+        vreducepd $65, {sae}, %zmm3, %zmm4
+
+/* Zl = y*Tll + Zl */
+        vfmadd213pd {rz-sae}, %zmm6, %zmm11, %zmm5
+
+/* P5_6 */
+        vmovups   1664+__svml_dpow_data_internal_avx512(%rip), %zmm1
+        vmovups   1856+__svml_dpow_data_internal_avx512(%rip), %zmm10
+        vaddpd    {rn-sae}, %zmm5, %zmm4, %zmm7
+        vandpd    2176+__svml_dpow_data_internal_avx512(%rip), %zmm3, %zmm3
+
+/* Table lookup: The, Tle/The */
+        vmovups   512+__svml_dpow_data_internal_avx512(%rip), %zmm4
+
+/*
+ * scaled result
+ * Filter very large |y*log2(x)| and scale final result for LRB2
+ */
+        vmovups   2240+__svml_dpow_data_internal_avx512(%rip), %zmm5
+
+/* ensure |R|<2 even for special cases */
+        vandpd    1536+__svml_dpow_data_internal_avx512(%rip), %zmm7, %zmm15
+        vpermt2pd 576+__svml_dpow_data_internal_avx512(%rip), %zmm2, %zmm4
+        vcmppd    $22, {sae}, %zmm5, %zmm3, %k0
+
+/* Re^2 */
+        vmulpd    {rn-sae}, %zmm15, %zmm15, %zmm13
+
+/* R*The */
+        vmulpd    {rn-sae}, %zmm4, %zmm15, %zmm7
+        vfmadd231pd {rn-sae}, %zmm15, %zmm8, %zmm1
+        vfmadd231pd {rn-sae}, %zmm15, %zmm9, %zmm12
+        vfmadd231pd {rn-sae}, %zmm15, %zmm10, %zmm14
+        vpsllq    $48, %zmm2, %zmm2
+        vfmadd213pd {rn-sae}, %zmm12, %zmm13, %zmm1
+        vandpd    2304+__svml_dpow_data_internal_avx512(%rip), %zmm2, %zmm2
+        kmovw     %k0, %ecx
+        vfmadd213pd {rn-sae}, %zmm14, %zmm13, %zmm1
+
+/* The + The*R*poly */
+        vfmadd213pd {rn-sae}, %zmm4, %zmm7, %zmm1
+        orl       %ecx, %edx
+        vmulpd    {rn-sae}, %zmm2, %zmm1, %zmm1
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm1, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm11, 128(%rsp)
+        vmovups   %zmm1, 192(%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, 0x28, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 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, 0x30, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 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   192(%rsp), %zmm1
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x28, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+        lea       192(%rsp,%r12,8), %rdx
+
+        call      __svml_dpow_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_pow8,@function
+       .size   __svml_pow8,.-__svml_pow8
+..LN__svml_pow8.0:
+
+.L_2__routine_start___svml_dpow_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dpow_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        pushq     %r12
+       .cfi_def_cfa_offset 16
+       .cfi_offset 12, -16
+        pushq     %r13
+       .cfi_def_cfa_offset 24
+       .cfi_offset 13, -24
+        pushq     %r15
+       .cfi_def_cfa_offset 32
+       .cfi_offset 15, -32
+        pushq     %rbx
+       .cfi_def_cfa_offset 40
+       .cfi_offset 3, -40
+        movq      %rdx, %r8
+        movsd     6824+__dpow_la_CoutTab(%rip), %xmm1
+        xorl      %eax, %eax
+        movsd     (%rdi), %xmm3
+        movsd     (%rsi), %xmm0
+        mulsd     %xmm1, %xmm3
+        mulsd     %xmm1, %xmm0
+        movsd     %xmm3, -72(%rsp)
+        movsd     %xmm0, -16(%rsp)
+        movzwl    -66(%rsp), %r13d
+        movzwl    -10(%rsp), %edx
+        andl      $32752, %r13d
+        movzbl    -65(%rsp), %r12d
+        andl      $32752, %edx
+        movb      -9(%rsp), %bl
+        andl      $128, %r12d
+        andb      $-128, %bl
+        shrl      $4, %r13d
+        shrl      $4, %edx
+        shrl      $7, %r12d
+        shrb      $7, %bl
+        testl     $1048575, -68(%rsp)
+        jne       .LBL_2_4
+
+
+        cmpl      $0, -72(%rsp)
+        jne       .LBL_2_4
+
+
+        movb      $1, %r11b
+        jmp       .LBL_2_5
+
+.LBL_2_4:
+
+        xorb      %r11b, %r11b
+
+.LBL_2_5:
+
+        movl      -12(%rsp), %ecx
+        movl      -16(%rsp), %edi
+        andl      $1048575, %ecx
+        jne       .LBL_2_8
+
+
+        testl     %edi, %edi
+        jne       .LBL_2_8
+
+
+        movl      $1, %r10d
+        jmp       .LBL_2_9
+
+.LBL_2_8:
+
+        xorl      %r10d, %r10d
+
+.LBL_2_9:
+
+        movl      %edx, %r9d
+        xorl      %esi, %esi
+        cmpl      $2047, %edx
+        setne     %sil
+        shll      $20, %r9d
+        orl       %ecx, %r9d
+        movl      %edi, %ecx
+        orl       %r9d, %ecx
+        je        .LBL_2_24
+
+
+        lea       -1023(%rdx), %ecx
+        cmpl      $1023, %edx
+        jl        .LBL_2_23
+
+
+        testl     %esi, %esi
+        je        .LBL_2_23
+
+
+        cmpl      $20, %ecx
+        jg        .LBL_2_16
+
+
+        movl      %r9d, %r15d
+        shll      %cl, %r15d
+        shll      $12, %r15d
+        orl       %edi, %r15d
+        je        .LBL_2_15
+
+.LBL_2_14:
+
+        xorl      %r9d, %r9d
+        jmp       .LBL_2_21
+
+.LBL_2_15:
+
+        lea       -1012(%rdx), %ecx
+        shll      %cl, %r9d
+        notl      %r9d
+        shrl      $31, %r9d
+        incl      %r9d
+        jmp       .LBL_2_21
+
+.LBL_2_16:
+
+        cmpl      $53, %ecx
+        jge       .LBL_2_20
+
+
+        lea       -1012(%rdx), %ecx
+        shll      %cl, %edi
+        testl     $2147483647, %edi
+        jne       .LBL_2_14
+
+
+        notl      %edi
+        shrl      $31, %edi
+        lea       1(%rdi), %r9d
+        jmp       .LBL_2_21
+
+.LBL_2_20:
+
+        movl      $2, %r9d
+
+.LBL_2_21:
+
+        testl     %r12d, %r12d
+        jne       .LBL_2_29
+
+
+        cmpl      $1023, %r13d
+        jne       .LBL_2_29
+        jmp       .LBL_2_57
+
+.LBL_2_23:
+
+        xorl      %r9d, %r9d
+        jmp       .LBL_2_25
+
+.LBL_2_24:
+
+        movl      $2, %r9d
+
+.LBL_2_25:
+
+        testl     %r12d, %r12d
+        jne       .LBL_2_27
+
+
+        cmpl      $1023, %r13d
+        je        .LBL_2_74
+
+.LBL_2_27:
+
+        testl     %edx, %edx
+        jne       .LBL_2_29
+
+
+        testl     %r10d, %r10d
+        jne       .LBL_2_55
+
+.LBL_2_29:
+
+        cmpl      $2047, %r13d
+        je        .LBL_2_31
+
+.LBL_2_30:
+
+        movb      $1, %cl
+        jmp       .LBL_2_32
+
+.LBL_2_31:
+
+        xorb      %cl, %cl
+
+.LBL_2_32:
+
+        orb       %cl, %r11b
+        je        .LBL_2_54
+
+
+        orl       %esi, %r10d
+        je        .LBL_2_54
+
+
+        movsd     6816+__dpow_la_CoutTab(%rip), %xmm2
+        ucomisd   %xmm2, %xmm3
+        jp        .LBL_2_35
+        je        .LBL_2_71
+
+.LBL_2_35:
+
+        ucomisd   6832+__dpow_la_CoutTab(%rip), %xmm3
+        jp        .LBL_2_36
+        je        .LBL_2_68
+
+.LBL_2_36:
+
+        testb     %cl, %cl
+        je        .LBL_2_47
+
+
+        testl     %esi, %esi
+        je        .LBL_2_47
+
+
+        comisd    %xmm2, %xmm3
+        ja        .LBL_2_40
+
+
+        testl     %r9d, %r9d
+        je        .LBL_2_46
+
+.LBL_2_40:
+
+        lea       6824+__dpow_la_CoutTab(%rip), %rcx
+        andl      %r12d, %r9d
+        movsd     %xmm3, -72(%rsp)
+        andb      $127, -65(%rsp)
+        movsd     (%rcx,%r9,8), %xmm0
+        xorl      %ecx, %ecx
+        testl     %r13d, %r13d
+        jne       .LBL_2_42
+
+
+        movsd     -72(%rsp), %xmm2
+        movl      $-200, %ecx
+        mulsd     6864+__dpow_la_CoutTab(%rip), %xmm2
+        movsd     %xmm2, -72(%rsp)
+        jmp       .LBL_2_43
+
+.LBL_2_42:
+
+        movsd     -72(%rsp), %xmm2
+
+.LBL_2_43:
+
+        movzwl    -66(%rsp), %esi
+        pxor      %xmm7, %xmm7
+        andl      $32752, %esi
+        shrl      $4, %esi
+        movl      -68(%rsp), %r9d
+        shll      $20, %esi
+        andl      $1048575, %r9d
+        movsd     %xmm2, -56(%rsp)
+        orl       %r9d, %esi
+        movzwl    -50(%rsp), %edi
+        addl      $-1072152576, %esi
+        andl      $-32753, %edi
+        addl      $16368, %edi
+        movw      %di, -50(%rsp)
+        sarl      $20, %esi
+        movl      -52(%rsp), %r10d
+        addl      %ecx, %esi
+        lea       __dpow_la_CoutTab(%rip), %rcx
+        andl      $1032192, %r10d
+        addl      $16384, %r10d
+        shrl      $15, %r10d
+        movsd     -56(%rsp), %xmm2
+        movsd     (%rcx,%r10,8), %xmm5
+        addl      %r10d, %r10d
+        movaps    %xmm5, %xmm6
+        movsd     6856+__dpow_la_CoutTab(%rip), %xmm14
+        mulsd     %xmm2, %xmm6
+        cvtsi2sd  %esi, %xmm7
+        mulsd     %xmm2, %xmm14
+        addsd     264(%rcx,%r10,8), %xmm7
+        movsd     %xmm6, -48(%rsp)
+        movsd     %xmm14, -32(%rsp)
+        movl      -44(%rsp), %r11d
+        andl      $64512, %r11d
+        movsd     -32(%rsp), %xmm15
+        addl      $1024, %r11d
+        shrl      $11, %r11d
+        subsd     -56(%rsp), %xmm15
+        movsd     792(%rcx,%r11,8), %xmm12
+        addl      %r11d, %r11d
+        mulsd     %xmm12, %xmm6
+        addsd     1056(%rcx,%r11,8), %xmm7
+        mulsd     %xmm12, %xmm5
+        movsd     %xmm15, -24(%rsp)
+        movsd     -32(%rsp), %xmm4
+        movsd     -24(%rsp), %xmm3
+        movsd     %xmm6, -40(%rsp)
+        subsd     %xmm3, %xmm4
+        movl      -36(%rsp), %r12d
+        andl      $4080, %r12d
+        addl      $16, %r12d
+        movsd     %xmm4, -32(%rsp)
+        shrl      $5, %r12d
+        movsd     -32(%rsp), %xmm12
+        movsd     1584(%rcx,%r12,8), %xmm13
+        addl      %r12d, %r12d
+        mulsd     %xmm13, %xmm5
+        subsd     %xmm12, %xmm2
+        addsd     2616(%rcx,%r12,8), %xmm7
+        mulsd     %xmm13, %xmm6
+        movsd     %xmm2, -24(%rsp)
+        movaps    %xmm6, %xmm8
+        movsd     6856+__dpow_la_CoutTab(%rip), %xmm2
+        mulsd     %xmm5, %xmm2
+        subsd     6848+__dpow_la_CoutTab(%rip), %xmm8
+        movsd     -32(%rsp), %xmm3
+        movsd     -24(%rsp), %xmm4
+        movsd     %xmm2, -32(%rsp)
+        movsd     -32(%rsp), %xmm13
+        movsd     272(%rcx,%r10,8), %xmm11
+        subsd     %xmm5, %xmm13
+        movsd     %xmm13, -24(%rsp)
+        movsd     -32(%rsp), %xmm2
+        movsd     -24(%rsp), %xmm14
+        movsd     1064(%rcx,%r11,8), %xmm10
+        subsd     %xmm14, %xmm2
+        movsd     %xmm2, -32(%rsp)
+        movaps    %xmm3, %xmm2
+        movsd     -32(%rsp), %xmm15
+        movsd     2624(%rcx,%r12,8), %xmm9
+        subsd     %xmm15, %xmm5
+        movsd     %xmm5, -24(%rsp)
+        movsd     -32(%rsp), %xmm5
+        mulsd     %xmm5, %xmm2
+        mulsd     %xmm4, %xmm5
+        subsd     %xmm6, %xmm2
+        movaps    %xmm7, %xmm6
+        addsd     %xmm5, %xmm2
+        addsd     %xmm8, %xmm6
+        movsd     -24(%rsp), %xmm12
+        mulsd     %xmm12, %xmm3
+        mulsd     %xmm12, %xmm4
+        addsd     %xmm3, %xmm2
+        movsd     %xmm6, -32(%rsp)
+        addsd     %xmm4, %xmm2
+        movsd     -32(%rsp), %xmm3
+        subsd     %xmm3, %xmm7
+        addsd     %xmm8, %xmm7
+        movsd     %xmm7, -24(%rsp)
+        movsd     -32(%rsp), %xmm4
+        movsd     %xmm4, -64(%rsp)
+        movzwl    -58(%rsp), %ecx
+        andl      $32752, %ecx
+        shrl      $4, %ecx
+        addl      %edx, %ecx
+        movsd     -24(%rsp), %xmm3
+        cmpl      $2057, %ecx
+        jge       .LBL_2_67
+
+
+        cmpl      $1984, %ecx
+        jg        .LBL_2_58
+
+
+        movsd     %xmm1, -32(%rsp)
+        movsd     -32(%rsp), %xmm1
+        addsd     6808+__dpow_la_CoutTab(%rip), %xmm1
+        movsd     %xmm1, -32(%rsp)
+        movsd     -32(%rsp), %xmm2
+        mulsd     %xmm0, %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_46:
+
+        movsd     %xmm2, -32(%rsp)
+        movl      $1, %eax
+        movsd     -32(%rsp), %xmm1
+        movsd     -32(%rsp), %xmm0
+        divsd     %xmm0, %xmm1
+        movsd     %xmm1, -32(%rsp)
+        movsd     -32(%rsp), %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_47:
+
+        cmpl      $1023, %r13d
+        jge       .LBL_2_51
+
+
+        testb     %bl, %bl
+        je        .LBL_2_56
+
+
+        movaps    %xmm0, %xmm2
+        mulsd     %xmm0, %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_51:
+
+        testb     %bl, %bl
+        je        .LBL_2_53
+
+
+        lea       6824+__dpow_la_CoutTab(%rip), %rdx
+        andl      %r12d, %r9d
+        mulsd     (%rdx,%r9,8), %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_53:
+
+        mulsd     %xmm3, %xmm3
+        lea       6824+__dpow_la_CoutTab(%rip), %rdx
+        mulsd     %xmm0, %xmm3
+        andl      %r12d, %r9d
+        movaps    %xmm3, %xmm2
+        mulsd     (%rdx,%r9,8), %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_54:
+
+        movaps    %xmm3, %xmm2
+        addsd     %xmm0, %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_55:
+
+        movq      6824+__dpow_la_CoutTab(%rip), %rdx
+        addsd     %xmm0, %xmm3
+        movsd     %xmm3, -32(%rsp)
+        movq      %rdx, -24(%rsp)
+        movb      -25(%rsp), %cl
+        movb      -17(%rsp), %bl
+        andb      $-128, %cl
+        andb      $127, %bl
+        orb       %cl, %bl
+        movb      %bl, -17(%rsp)
+        movsd     -24(%rsp), %xmm2
+        movsd     -24(%rsp), %xmm0
+        mulsd     %xmm0, %xmm2
+
+.LBL_2_56:
+
+        movsd     %xmm2, (%r8)
+       .cfi_restore 3
+        popq      %rbx
+       .cfi_def_cfa_offset 32
+       .cfi_restore 15
+        popq      %r15
+       .cfi_def_cfa_offset 24
+       .cfi_restore 13
+        popq      %r13
+       .cfi_def_cfa_offset 16
+       .cfi_restore 12
+        popq      %r12
+       .cfi_def_cfa_offset 8
+        ret
+       .cfi_def_cfa_offset 40
+       .cfi_offset 3, -40
+       .cfi_offset 12, -16
+       .cfi_offset 13, -24
+       .cfi_offset 15, -32
+
+.LBL_2_57:
+
+        testb     %r11b, %r11b
+        je        .LBL_2_30
+        jmp       .LBL_2_55
+
+.LBL_2_58:
+
+        lea       6752+__dpow_la_CoutTab(%rip), %rdx
+        movsd     (%rdx), %xmm6
+        lea       4688+__dpow_la_CoutTab(%rip), %rcx
+        movsd     -64(%rsp), %xmm7
+        addsd     %xmm2, %xmm8
+        addsd     %xmm9, %xmm10
+        addsd     %xmm3, %xmm2
+        mulsd     %xmm8, %xmm6
+        addsd     %xmm10, %xmm11
+        addsd     -8(%rdx), %xmm6
+        addsd     %xmm2, %xmm11
+        mulsd     %xmm8, %xmm6
+        movaps    %xmm11, %xmm9
+        addsd     -16(%rdx), %xmm6
+        mulsd     %xmm8, %xmm6
+        addsd     -24(%rdx), %xmm6
+        mulsd     %xmm8, %xmm6
+        addsd     %xmm6, %xmm4
+        lea       -32(%rsp), %rbx
+        movsd     %xmm4, (%rbx)
+        movsd     (%rbx), %xmm8
+        subsd     %xmm8, %xmm7
+        addsd     %xmm6, %xmm7
+        lea       -24(%rsp), %rsi
+        movsd     %xmm7, (%rsi)
+        movsd     (%rbx), %xmm12
+        movsd     (%rsi), %xmm5
+        addsd     %xmm12, %xmm9
+        movsd     %xmm9, (%rbx)
+        movsd     (%rbx), %xmm10
+        subsd     %xmm10, %xmm12
+        addsd     %xmm11, %xmm12
+        movsd     104(%rdx), %xmm11
+        movsd     %xmm12, (%rsi)
+        movsd     (%rbx), %xmm3
+        mulsd     %xmm3, %xmm11
+        movsd     (%rsi), %xmm4
+        movsd     %xmm11, (%rbx)
+        addsd     %xmm5, %xmm4
+        movsd     (%rbx), %xmm13
+        lea       -16(%rsp), %rdi
+        movsd     (%rdi), %xmm11
+        subsd     %xmm3, %xmm13
+        mulsd     (%rdi), %xmm4
+        movsd     %xmm13, (%rsi)
+        movaps    %xmm11, %xmm6
+        movsd     (%rbx), %xmm15
+        movsd     (%rsi), %xmm14
+        mulsd     104(%rdx), %xmm6
+        subsd     %xmm14, %xmm15
+        movsd     %xmm15, (%rbx)
+        movsd     (%rbx), %xmm2
+        movsd     88(%rdx), %xmm5
+        subsd     %xmm2, %xmm3
+        movsd     %xmm3, (%rsi)
+        movsd     (%rbx), %xmm3
+        movsd     (%rsi), %xmm2
+        movsd     %xmm6, (%rbx)
+        movsd     (%rbx), %xmm7
+        subsd     (%rdi), %xmm7
+        movsd     %xmm7, (%rsi)
+        movsd     (%rbx), %xmm9
+        movsd     (%rsi), %xmm8
+        subsd     %xmm8, %xmm9
+        movsd     %xmm9, (%rbx)
+        movsd     (%rbx), %xmm10
+        subsd     %xmm10, %xmm11
+        movsd     %xmm11, (%rsi)
+        movsd     (%rbx), %xmm6
+        movaps    %xmm6, %xmm14
+        mulsd     %xmm3, %xmm14
+        mulsd     %xmm2, %xmm6
+        addsd     %xmm14, %xmm5
+        movsd     (%rsi), %xmm15
+        mulsd     %xmm15, %xmm2
+        mulsd     %xmm15, %xmm3
+        addsd     %xmm2, %xmm6
+        movsd     %xmm5, (%rbx)
+        addsd     %xmm3, %xmm6
+        movsd     (%rbx), %xmm12
+        addsd     %xmm4, %xmm6
+        subsd     88(%rdx), %xmm12
+        movsd     %xmm12, -88(%rsp)
+        movsd     -88(%rsp), %xmm13
+        movsd     40(%rdx), %xmm3
+        subsd     %xmm13, %xmm14
+        movsd     %xmm14, -80(%rsp)
+        movsd     -80(%rsp), %xmm5
+        movl      (%rbx), %edx
+        movl      %edx, %esi
+        andl      $127, %edx
+        addsd     %xmm6, %xmm5
+        mulsd     %xmm5, %xmm3
+        addl      %edx, %edx
+        movsd     -8(%rcx,%rdx,8), %xmm2
+        sarl      $7, %esi
+        lea       6784+__dpow_la_CoutTab(%rip), %r9
+        addsd     (%r9), %xmm3
+        mulsd     %xmm5, %xmm3
+        addsd     -8(%r9), %xmm3
+        mulsd     %xmm5, %xmm3
+        addsd     -16(%r9), %xmm3
+        mulsd     %xmm5, %xmm3
+        addsd     -24(%r9), %xmm3
+        mulsd     %xmm5, %xmm3
+        mulsd     %xmm2, %xmm3
+        addsd     (%rcx,%rdx,8), %xmm3
+        movaps    %xmm3, %xmm4
+        addsd     %xmm2, %xmm4
+        movsd     %xmm4, -72(%rsp)
+        movzwl    -66(%rsp), %ecx
+        movl      %ecx, %ebx
+        andl      $32752, %ebx
+        shrl      $4, %ebx
+        lea       -1023(%rsi,%rbx), %edx
+        cmpl      $1024, %edx
+        jge       .LBL_2_66
+
+
+        cmpl      $-1022, %edx
+        jl        .LBL_2_61
+
+
+        andl      $-32753, %ecx
+        lea       1023(%rdx), %edx
+        andl      $2047, %edx
+        shll      $4, %edx
+        orl       %edx, %ecx
+        movw      %cx, -66(%rsp)
+        movsd     -72(%rsp), %xmm2
+        mulsd     %xmm0, %xmm2
+        movsd     %xmm2, -72(%rsp)
+        jmp       .LBL_2_56
+
+.LBL_2_61:
+
+        cmpl      $-1032, %edx
+        jl        .LBL_2_63
+
+
+        lea       -32(%rsp), %rcx
+        movsd     %xmm4, (%rcx)
+        addl      $1223, %esi
+        movsd     (%rcx), %xmm1
+        andl      $2047, %esi
+        lea       6824+__dpow_la_CoutTab(%rip), %rbx
+        movq      (%rbx), %rdx
+        subsd     %xmm1, %xmm2
+        movq      %rdx, -64(%rsp)
+        addsd     %xmm2, %xmm3
+        lea       -24(%rsp), %rdi
+        movsd     %xmm3, (%rdi)
+        movsd     (%rcx), %xmm7
+        movsd     32(%rbx), %xmm2
+        mulsd     %xmm7, %xmm2
+        movsd     (%rdi), %xmm9
+        movsd     %xmm2, (%rcx)
+        movsd     (%rcx), %xmm3
+        shrq      $48, %rdx
+        subsd     %xmm7, %xmm3
+        movsd     %xmm3, (%rdi)
+        andl      $-32753, %edx
+        movsd     (%rcx), %xmm5
+        movsd     (%rdi), %xmm4
+        shll      $4, %esi
+        subsd     %xmm4, %xmm5
+        movsd     %xmm5, (%rcx)
+        orl       %esi, %edx
+        lea       -32(%rsp), %rsi
+        movsd     (%rsi), %xmm6
+        movw      %dx, -58(%rsp)
+        subsd     %xmm6, %xmm7
+        movsd     %xmm7, (%rdi)
+        movsd     (%rsi), %xmm11
+        movsd     (%rdi), %xmm12
+        movsd     -64(%rsp), %xmm10
+        addsd     %xmm9, %xmm12
+        mulsd     %xmm10, %xmm11
+        mulsd     %xmm10, %xmm12
+        movsd     48(%rbx), %xmm8
+        addsd     %xmm11, %xmm12
+        mulsd     %xmm8, %xmm0
+        movq      -16(%rbx), %rcx
+        movq      %rcx, (%rsi)
+        lea       -32(%rsp), %rcx
+        movsd     (%rcx), %xmm14
+        movsd     (%rcx), %xmm13
+        mulsd     %xmm13, %xmm14
+        mulsd     %xmm12, %xmm0
+        movsd     %xmm14, (%rcx)
+        movsd     (%rcx), %xmm15
+        addsd     %xmm15, %xmm0
+        movaps    %xmm0, %xmm2
+        movsd     %xmm2, -72(%rsp)
+        jmp       .LBL_2_56
+
+.LBL_2_63:
+
+        cmpl      $-1084, %edx
+        jl        .LBL_2_65
+
+
+        addl      $1223, %esi
+        andl      $2047, %esi
+        lea       6830+__dpow_la_CoutTab(%rip), %rcx
+        movzwl    (%rcx), %edx
+        shll      $4, %esi
+        andl      $-32753, %edx
+        movsd     %xmm1, -64(%rsp)
+        orl       %esi, %edx
+        movw      %dx, -58(%rsp)
+        movsd     42(%rcx), %xmm2
+        movsd     -64(%rsp), %xmm1
+        mulsd     %xmm2, %xmm0
+        mulsd     %xmm1, %xmm4
+        movq      -22(%rcx), %rcx
+        movq      %rcx, -32(%rsp)
+        mulsd     %xmm4, %xmm0
+        lea       -32(%rsp), %rcx
+        movsd     (%rcx), %xmm4
+        movsd     (%rcx), %xmm3
+        mulsd     %xmm3, %xmm4
+        movsd     %xmm4, (%rcx)
+        movsd     (%rcx), %xmm5
+        subsd     %xmm5, %xmm0
+        movaps    %xmm0, %xmm2
+        movsd     %xmm2, -72(%rsp)
+        jmp       .LBL_2_56
+
+.LBL_2_65:
+
+        movq      6808+__dpow_la_CoutTab(%rip), %rdx
+        movq      %rdx, -32(%rsp)
+        lea       -32(%rsp), %rdx
+        movsd     (%rdx), %xmm2
+        movsd     (%rdx), %xmm1
+        mulsd     %xmm1, %xmm2
+        movsd     %xmm2, (%rdx)
+        movsd     (%rdx), %xmm3
+        mulsd     %xmm3, %xmm0
+        movaps    %xmm0, %xmm2
+        movsd     %xmm2, -72(%rsp)
+        jmp       .LBL_2_56
+
+.LBL_2_66:
+
+        movq      6800+__dpow_la_CoutTab(%rip), %rdx
+        movq      %rdx, -32(%rsp)
+        lea       -32(%rsp), %rdx
+        movsd     (%rdx), %xmm2
+        movsd     (%rdx), %xmm1
+        mulsd     %xmm1, %xmm2
+        movsd     %xmm2, (%rdx)
+        movsd     (%rdx), %xmm3
+        mulsd     %xmm3, %xmm0
+        movaps    %xmm0, %xmm2
+        movsd     %xmm2, -72(%rsp)
+        jmp       .LBL_2_56
+
+.LBL_2_67:
+
+        movb      -57(%rsp), %dl
+        lea       6800+__dpow_la_CoutTab(%rip), %rcx
+        andb      $-128, %dl
+        shrb      $7, %dl
+        xorb      %dl, %bl
+        movzbl    %bl, %ebx
+        movsd     (%rcx,%rbx,8), %xmm2
+        mulsd     %xmm2, %xmm2
+        mulsd     %xmm0, %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_68:
+
+        testl     %r9d, %r9d
+        jne       .LBL_2_70
+
+
+        testl     %esi, %esi
+        jne       .LBL_2_36
+
+.LBL_2_70:
+
+        lea       6824+__dpow_la_CoutTab(%rip), %rdx
+        andl      $1, %r9d
+        movsd     (%rdx,%r9,8), %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_71:
+
+        mulsd     %xmm3, %xmm3
+        testb     %bl, %bl
+        je        .LBL_2_73
+
+
+        lea       6824+__dpow_la_CoutTab(%rip), %rax
+        andl      %r12d, %r9d
+        movsd     (%rax,%r9,8), %xmm2
+        movl      $1, %eax
+        divsd     %xmm3, %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_73:
+
+        lea       6824+__dpow_la_CoutTab(%rip), %rdx
+        andl      %r12d, %r9d
+        movsd     (%rdx,%r9,8), %xmm2
+        mulsd     %xmm3, %xmm2
+        jmp       .LBL_2_56
+
+.LBL_2_74:
+
+        testb     %r11b, %r11b
+        jne       .LBL_2_55
+
+
+        testl     %edx, %edx
+        jne       .LBL_2_30
+
+
+        testl     %r10d, %r10d
+        je        .LBL_2_30
+        jmp       .LBL_2_55
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dpow_cout_rare_internal,@function
+       .size   __svml_dpow_cout_rare_internal,.-__svml_dpow_cout_rare_internal
+..LN__svml_dpow_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dpow_data_internal_avx512:
+       .long   0
+       .long   0
+       .long   1972240384
+       .long   3215375059
+       .long   4207476736
+       .long   3216401398
+       .long   2363129856
+       .long   3217067096
+       .long   972816384
+       .long   3217408026
+       .long   766836736
+       .long   3217739614
+       .long   3103948800
+       .long   3218062358
+       .long   2869821440
+       .long   3218228231
+       .long   1271726080
+       .long   3218381432
+       .long   3449618432
+       .long   3218530849
+       .long   2300510208
+       .long   3218676666
+       .long   4147675136
+       .long   3218819051
+       .long   3761438720
+       .long   3218958163
+       .long   1758134272
+       .long   3219094149
+       .long   14041088
+       .long   3219177733
+       .long   513138688
+       .long   3219242801
+       .long   1904279552
+       .long   1071288313
+       .long   180338688
+       .long   1071163544
+       .long   1751498752
+       .long   1071041295
+       .long   2999894016
+       .long   1070921467
+       .long   3815833600
+       .long   1070803966
+       .long   1399062528
+       .long   1070688704
+       .long   2835742720
+       .long   1070555096
+       .long   2818572288
+       .long   1070333031
+       .long   180322304
+       .long   1070114968
+       .long   704610304
+       .long   1069900764
+       .long   3265986560
+       .long   1069690285
+       .long   3908239360
+       .long   1069419290
+       .long   2530213888
+       .long   1069012484
+       .long   2785017856
+       .long   1068612402
+       .long   3386507264
+       .long   1067938708
+       .long   2250244096
+       .long   1066877934
+       .long   0
+       .long   0
+       .long   650173971
+       .long   3177165030
+       .long   3428024929
+       .long   3174241916
+       .long   1628324029
+       .long   1026060711
+       .long   804943611
+       .long   1028963376
+       .long   518075456
+       .long   1027828752
+       .long   1462134616
+       .long   1028126172
+       .long   384118417
+       .long   3174884873
+       .long   1227618047
+       .long   3176893182
+       .long   446961290
+       .long   3175726255
+       .long   2998207852
+       .long   3176597684
+       .long   2742536172
+       .long   3173319968
+       .long   3242321520
+       .long   1029042433
+       .long   1690697745
+       .long   3174775608
+       .long   4137858450
+       .long   1027958429
+       .long   2514005062
+       .long   1029694520
+       .long   804943611
+       .long   1027914800
+       .long   2871266960
+       .long   3173412044
+       .long   3679462403
+       .long   1027724294
+       .long   2476829589
+       .long   1026974179
+       .long   1572243234
+       .long   3176241050
+       .long   2514550597
+       .long   3175960347
+       .long   1207415416
+       .long   1029642824
+       .long   531120703
+       .long   3174459378
+       .long   894287639
+       .long   1029609779
+       .long   1133539114
+       .long   1029069062
+       .long   1763539348
+       .long   1029327721
+       .long   1658032750
+       .long   3171241178
+       .long   825146242
+       .long   3176213734
+       .long   831162967
+       .long   1028990787
+       .long   1128763360
+       .long   3176457556
+       .long   896504796
+       .long   3175699769
+       .long   0
+       .long   1072693248
+       .long   1828292879
+       .long   1072739672
+       .long   1014845819
+       .long   1072788152
+       .long   1853186616
+       .long   1072838778
+       .long   171030293
+       .long   1072891646
+       .long   1276261410
+       .long   1072946854
+       .long   3577096743
+       .long   1073004506
+       .long   3712504873
+       .long   1073064711
+       .long   1719614413
+       .long   1073127582
+       .long   1944781191
+       .long   1073193236
+       .long   1110089947
+       .long   1073261797
+       .long   2191782032
+       .long   1073333393
+       .long   2572866477
+       .long   1073408159
+       .long   3716502172
+       .long   1073486235
+       .long   3707479175
+       .long   1073567768
+       .long   2728693978
+       .long   1073652911
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1073217536
+       .long   0
+       .long   1073217536
+       .long   0
+       .long   1073217536
+       .long   0
+       .long   1073217536
+       .long   0
+       .long   1073217536
+       .long   0
+       .long   1073217536
+       .long   0
+       .long   1073217536
+       .long   0
+       .long   1073217536
+       .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   1697350398
+       .long   3219592519
+       .long   1697350398
+       .long   3219592519
+       .long   1697350398
+       .long   3219592519
+       .long   1697350398
+       .long   3219592519
+       .long   1697350398
+       .long   3219592519
+       .long   1697350398
+       .long   3219592519
+       .long   1697350398
+       .long   3219592519
+       .long   1697350398
+       .long   3219592519
+       .long   4114041750
+       .long   1069844377
+       .long   4114041750
+       .long   1069844377
+       .long   4114041750
+       .long   1069844377
+       .long   4114041750
+       .long   1069844377
+       .long   4114041750
+       .long   1069844377
+       .long   4114041750
+       .long   1069844377
+       .long   4114041750
+       .long   1069844377
+       .long   4114041750
+       .long   1069844377
+       .long   2589302621
+       .long   3217496037
+       .long   2589302621
+       .long   3217496037
+       .long   2589302621
+       .long   3217496037
+       .long   2589302621
+       .long   3217496037
+       .long   2589302621
+       .long   3217496037
+       .long   2589302621
+       .long   3217496037
+       .long   2589302621
+       .long   3217496037
+       .long   2589302621
+       .long   3217496037
+       .long   4238449923
+       .long   1070227829
+       .long   4238449923
+       .long   1070227829
+       .long   4238449923
+       .long   1070227829
+       .long   4238449923
+       .long   1070227829
+       .long   4238449923
+       .long   1070227829
+       .long   4238449923
+       .long   1070227829
+       .long   4238449923
+       .long   1070227829
+       .long   4238449923
+       .long   1070227829
+       .long   3163535583
+       .long   3217999625
+       .long   3163535583
+       .long   3217999625
+       .long   3163535583
+       .long   3217999625
+       .long   3163535583
+       .long   3217999625
+       .long   3163535583
+       .long   3217999625
+       .long   3163535583
+       .long   3217999625
+       .long   3163535583
+       .long   3217999625
+       .long   3163535583
+       .long   3217999625
+       .long   1357918834
+       .long   1070757740
+       .long   1357918834
+       .long   1070757740
+       .long   1357918834
+       .long   1070757740
+       .long   1357918834
+       .long   1070757740
+       .long   1357918834
+       .long   1070757740
+       .long   1357918834
+       .long   1070757740
+       .long   1357918834
+       .long   1070757740
+       .long   1357918834
+       .long   1070757740
+       .long   1697368554
+       .long   3218543943
+       .long   1697368554
+       .long   3218543943
+       .long   1697368554
+       .long   3218543943
+       .long   1697368554
+       .long   3218543943
+       .long   1697368554
+       .long   3218543943
+       .long   1697368554
+       .long   3218543943
+       .long   1697368554
+       .long   3218543943
+       .long   1697368554
+       .long   3218543943
+       .long   3694789628
+       .long   1071564553
+       .long   3694789628
+       .long   1071564553
+       .long   3694789628
+       .long   1071564553
+       .long   3694789628
+       .long   1071564553
+       .long   3694789628
+       .long   1071564553
+       .long   3694789628
+       .long   1071564553
+       .long   3694789628
+       .long   1071564553
+       .long   3694789628
+       .long   1071564553
+       .long   3757988711
+       .long   1013148509
+       .long   3757988711
+       .long   1013148509
+       .long   3757988711
+       .long   1013148509
+       .long   3757988711
+       .long   1013148509
+       .long   3757988711
+       .long   1013148509
+       .long   3757988711
+       .long   1013148509
+       .long   3757988711
+       .long   1013148509
+       .long   3757988711
+       .long   1013148509
+       .long   3999174959
+       .long   1014462451
+       .long   3999174959
+       .long   1014462451
+       .long   3999174959
+       .long   1014462451
+       .long   3999174959
+       .long   1014462451
+       .long   3999174959
+       .long   1014462451
+       .long   3999174959
+       .long   1014462451
+       .long   3999174959
+       .long   1014462451
+       .long   3999174959
+       .long   1014462451
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   16368
+       .long   1123549184
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4294967295
+       .long   3221225471
+       .long   4119604569
+       .long   1059365335
+       .long   4119604569
+       .long   1059365335
+       .long   4119604569
+       .long   1059365335
+       .long   4119604569
+       .long   1059365335
+       .long   4119604569
+       .long   1059365335
+       .long   4119604569
+       .long   1059365335
+       .long   4119604569
+       .long   1059365335
+       .long   4119604569
+       .long   1059365335
+       .long   662950521
+       .long   1062590279
+       .long   662950521
+       .long   1062590279
+       .long   662950521
+       .long   1062590279
+       .long   662950521
+       .long   1062590279
+       .long   662950521
+       .long   1062590279
+       .long   662950521
+       .long   1062590279
+       .long   662950521
+       .long   1062590279
+       .long   662950521
+       .long   1062590279
+       .long   454355882
+       .long   1065595565
+       .long   454355882
+       .long   1065595565
+       .long   454355882
+       .long   1065595565
+       .long   454355882
+       .long   1065595565
+       .long   454355882
+       .long   1065595565
+       .long   454355882
+       .long   1065595565
+       .long   454355882
+       .long   1065595565
+       .long   454355882
+       .long   1065595565
+       .long   3568144057
+       .long   1068264200
+       .long   3568144057
+       .long   1068264200
+       .long   3568144057
+       .long   1068264200
+       .long   3568144057
+       .long   1068264200
+       .long   3568144057
+       .long   1068264200
+       .long   3568144057
+       .long   1068264200
+       .long   3568144057
+       .long   1068264200
+       .long   3568144057
+       .long   1068264200
+       .long   4286862669
+       .long   1070514109
+       .long   4286862669
+       .long   1070514109
+       .long   4286862669
+       .long   1070514109
+       .long   4286862669
+       .long   1070514109
+       .long   4286862669
+       .long   1070514109
+       .long   4286862669
+       .long   1070514109
+       .long   4286862669
+       .long   1070514109
+       .long   4286862669
+       .long   1070514109
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .long   4277811595
+       .long   1072049730
+       .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   248
+       .long   0
+       .long   248
+       .long   0
+       .long   248
+       .long   0
+       .long   248
+       .long   0
+       .long   248
+       .long   0
+       .long   248
+       .long   0
+       .long   248
+       .long   0
+       .long   248
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   120
+       .long   0
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   0
+       .long   1083173888
+       .long   0
+       .long   1083173888
+       .long   0
+       .long   1083173888
+       .long   0
+       .long   1083173888
+       .long   0
+       .long   1083173888
+       .long   0
+       .long   1083173888
+       .long   0
+       .long   1083173888
+       .long   0
+       .long   1083173888
+       .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
+       .type   __svml_dpow_data_internal_avx512,@object
+       .size   __svml_dpow_data_internal_avx512,2368
+       .align 32
+__dpow_la_CoutTab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072629696
+       .long   0
+       .long   1072569856
+       .long   0
+       .long   1072513472
+       .long   0
+       .long   1072460224
+       .long   0
+       .long   1072409856
+       .long   0
+       .long   1072362112
+       .long   0
+       .long   1072316864
+       .long   0
+       .long   1072273792
+       .long   0
+       .long   1072232896
+       .long   0
+       .long   1072193920
+       .long   0
+       .long   1072156736
+       .long   0
+       .long   1072121280
+       .long   0
+       .long   1072087424
+       .long   0
+       .long   1072054976
+       .long   0
+       .long   1072023936
+       .long   0
+       .long   1071994176
+       .long   0
+       .long   1071965696
+       .long   0
+       .long   1071938304
+       .long   0
+       .long   1071911936
+       .long   0
+       .long   1071886656
+       .long   0
+       .long   1071862272
+       .long   0
+       .long   1071838848
+       .long   0
+       .long   1071816256
+       .long   0
+       .long   1071794496
+       .long   0
+       .long   1071773440
+       .long   0
+       .long   1071753152
+       .long   0
+       .long   1071733504
+       .long   0
+       .long   1071714560
+       .long   0
+       .long   1071696256
+       .long   0
+       .long   1071678528
+       .long   0
+       .long   1071661312
+       .long   0
+       .long   1071644672
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2686386176
+       .long   1067891457
+       .long   1949948785
+       .long   1027381598
+       .long   1341652992
+       .long   1068918120
+       .long   2376679344
+       .long   1026589938
+       .long   2182004736
+       .long   1069583575
+       .long   297009671
+       .long   1026900933
+       .long   1687183360
+       .long   1069924424
+       .long   2120169064
+       .long   1026082260
+       .long   53207040
+       .long   1070255920
+       .long   3737096550
+       .long   1026438963
+       .long   3818315776
+       .long   1070578756
+       .long   677794872
+       .long   1028109305
+       .long   2429726720
+       .long   1070744485
+       .long   3907638365
+       .long   1027382133
+       .long   2702757888
+       .long   1070897876
+       .long   1929563302
+       .long   1027984695
+       .long   2465140736
+       .long   1071047207
+       .long   243175481
+       .long   1026641700
+       .long   2657701888
+       .long   1071193041
+       .long   3841377895
+       .long   1028504382
+       .long   658427904
+       .long   1071335525
+       .long   161357665
+       .long   1028306250
+       .long   539168768
+       .long   1071474585
+       .long   2531816708
+       .long   1025043792
+       .long   2658430976
+       .long   1071610420
+       .long   2178519328
+       .long   1028288112
+       .long   1355743232
+       .long   1071694102
+       .long   3943781029
+       .long   1028003666
+       .long   1854838784
+       .long   1071759170
+       .long   1812291414
+       .long   1027042047
+       .long   473251840
+       .long   3218771869
+       .long   1330616404
+       .long   3175482613
+       .long   2315530240
+       .long   3218647330
+       .long   3482179716
+       .long   3175726112
+       .long   3886694400
+       .long   3218525081
+       .long   3584491563
+       .long   3175164762
+       .long   1568866304
+       .long   3218405023
+       .long   3528175174
+       .long   3174626157
+       .long   4172640256
+       .long   3218287637
+       .long   3760034354
+       .long   3171774178
+       .long   3545214976
+       .long   3218172213
+       .long   881689765
+       .long   3173077446
+       .long   2121375744
+       .long   3218038698
+       .long   549802690
+       .long   3174897014
+       .long   492560384
+       .long   3217816668
+       .long   239252792
+       .long   3173483664
+       .long   155754496
+       .long   3217598893
+       .long   1693604438
+       .long   3175909818
+       .long   4285202432
+       .long   3217384365
+       .long   127148739
+       .long   3175942199
+       .long   41181184
+       .long   3217174003
+       .long   3260046653
+       .long   3174058211
+       .long   2465087488
+       .long   3216902292
+       .long   4241850247
+       .long   3175110025
+       .long   1101037568
+       .long   3216495763
+       .long   3170347605
+       .long   3176066808
+       .long   3478798336
+       .long   3216096373
+       .long   329155479
+       .long   3175972274
+       .long   3246555136
+       .long   3215423741
+       .long   4071576371
+       .long   3174315914
+       .long   830078976
+       .long   3214361213
+       .long   1258533012
+       .long   3175547121
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072689152
+       .long   0
+       .long   1072685056
+       .long   0
+       .long   1072681024
+       .long   0
+       .long   1072676992
+       .long   0
+       .long   1072672960
+       .long   0
+       .long   1072668928
+       .long   0
+       .long   1072664960
+       .long   0
+       .long   1072660992
+       .long   0
+       .long   1072657024
+       .long   0
+       .long   1072653056
+       .long   0
+       .long   1072649152
+       .long   0
+       .long   1072645248
+       .long   0
+       .long   1072641344
+       .long   0
+       .long   1072637440
+       .long   0
+       .long   1072710976
+       .long   0
+       .long   1072709888
+       .long   0
+       .long   1072708864
+       .long   0
+       .long   1072707776
+       .long   0
+       .long   1072706752
+       .long   0
+       .long   1072705664
+       .long   0
+       .long   1072704640
+       .long   0
+       .long   1072703616
+       .long   0
+       .long   1072702528
+       .long   0
+       .long   1072701504
+       .long   0
+       .long   1072700480
+       .long   0
+       .long   1072699456
+       .long   0
+       .long   1072698368
+       .long   0
+       .long   1072697344
+       .long   0
+       .long   1072696320
+       .long   0
+       .long   1072695296
+       .long   0
+       .long   1072694272
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2754084864
+       .long   1063721742
+       .long   2557931335
+       .long   1028226920
+       .long   3228041216
+       .long   1064771801
+       .long   930662348
+       .long   1027873525
+       .long   2323251200
+       .long   1065436614
+       .long   2596299912
+       .long   1027915217
+       .long   1641152512
+       .long   1065811444
+       .long   1188689655
+       .long   1027383036
+       .long   895221760
+       .long   1066187001
+       .long   2918954073
+       .long   1026717129
+       .long   3962896384
+       .long   1066482539
+       .long   1338190555
+       .long   1024402868
+       .long   2071330816
+       .long   1066668054
+       .long   2834125591
+       .long   1027573772
+       .long   830078976
+       .long   1066853925
+       .long   1683363035
+       .long   1027948302
+       .long   1828782080
+       .long   1067040153
+       .long   874130859
+       .long   1026348678
+       .long   2395996160
+       .long   1067226740
+       .long   1724975876
+       .long   1028585613
+       .long   3558866944
+       .long   1067410669
+       .long   2189961434
+       .long   1027936707
+       .long   2542927872
+       .long   1067522658
+       .long   3621009110
+       .long   1028493916
+       .long   4208394240
+       .long   1067614973
+       .long   2777386350
+       .long   1028255456
+       .long   3217162240
+       .long   1067707465
+       .long   772669574
+       .long   1028516547
+       .long   824377344
+       .long   3214460051
+       .long   1593617402
+       .long   3175722247
+       .long   830078976
+       .long   3214361213
+       .long   1258533012
+       .long   3175547121
+       .long   4002480128
+       .long   3214268096
+       .long   1397883555
+       .long   3175764245
+       .long   2914385920
+       .long   3214169062
+       .long   3775067953
+       .long   3175176772
+       .long   1460142080
+       .long   3214075761
+       .long   1592372614
+       .long   3175907032
+       .long   219152384
+       .long   3213976530
+       .long   1716511551
+       .long   3175540921
+       .long   3419144192
+       .long   3213880645
+       .long   1128677462
+       .long   3174560569
+       .long   3320446976
+       .long   3213693490
+       .long   2965227743
+       .long   3172454196
+       .long   677904384
+       .long   3213494440
+       .long   4029390031
+       .long   3174409513
+       .long   1290797056
+       .long   3213306911
+       .long   1477436787
+       .long   3173730612
+       .long   2800877568
+       .long   3213119200
+       .long   4281418519
+       .long   3173304523
+       .long   3692822528
+       .long   3212931307
+       .long   751117103
+       .long   3175382448
+       .long   2547253248
+       .long   3212626079
+       .long   2419265147
+       .long   3175328924
+       .long   1836580864
+       .long   3212249540
+       .long   1456335141
+       .long   3175441338
+       .long   3438542848
+       .long   3211872634
+       .long   3721652080
+       .long   3176073447
+       .long   4278714368
+       .long   3211202435
+       .long   836003693
+       .long   3174279974
+       .long   926941184
+       .long   3210154597
+       .long   4249864733
+       .long   3174015648
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1073741824
+       .long   1073157447
+       .long   0
+       .long   1073157401
+       .long   0
+       .long   1073157355
+       .long   3221225472
+       .long   1073157308
+       .long   2147483648
+       .long   1073157262
+       .long   2147483648
+       .long   1073157216
+       .long   1073741824
+       .long   1073157170
+       .long   1073741824
+       .long   1073157124
+       .long   0
+       .long   1073157078
+       .long   3221225472
+       .long   1073157031
+       .long   3221225472
+       .long   1073156985
+       .long   2147483648
+       .long   1073156939
+       .long   2147483648
+       .long   1073156893
+       .long   1073741824
+       .long   1073156847
+       .long   1073741824
+       .long   1073156801
+       .long   0
+       .long   1073156755
+       .long   0
+       .long   1073156709
+       .long   3221225472
+       .long   1073156662
+       .long   3221225472
+       .long   1073156616
+       .long   2147483648
+       .long   1073156570
+       .long   2147483648
+       .long   1073156524
+       .long   2147483648
+       .long   1073156478
+       .long   1073741824
+       .long   1073156432
+       .long   1073741824
+       .long   1073156386
+       .long   0
+       .long   1073156340
+       .long   0
+       .long   1073156294
+       .long   0
+       .long   1073156248
+       .long   3221225472
+       .long   1073156201
+       .long   3221225472
+       .long   1073156155
+       .long   2147483648
+       .long   1073156109
+       .long   2147483648
+       .long   1073156063
+       .long   2147483648
+       .long   1073156017
+       .long   1073741824
+       .long   1073155971
+       .long   1073741824
+       .long   1073155925
+       .long   1073741824
+       .long   1073155879
+       .long   1073741824
+       .long   1073155833
+       .long   0
+       .long   1073155787
+       .long   0
+       .long   1073155741
+       .long   0
+       .long   1073155695
+       .long   0
+       .long   1073155649
+       .long   3221225472
+       .long   1073155602
+       .long   3221225472
+       .long   1073155556
+       .long   3221225472
+       .long   1073155510
+       .long   3221225472
+       .long   1073155464
+       .long   3221225472
+       .long   1073155418
+       .long   2147483648
+       .long   1073155372
+       .long   2147483648
+       .long   1073155326
+       .long   2147483648
+       .long   1073155280
+       .long   2147483648
+       .long   1073155234
+       .long   2147483648
+       .long   1073155188
+       .long   2147483648
+       .long   1073155142
+       .long   2147483648
+       .long   1073155096
+       .long   2147483648
+       .long   1073155050
+       .long   2147483648
+       .long   1073155004
+       .long   1073741824
+       .long   1073154958
+       .long   1073741824
+       .long   1073154912
+       .long   1073741824
+       .long   1073154866
+       .long   1073741824
+       .long   1073154820
+       .long   1073741824
+       .long   1073154774
+       .long   1073741824
+       .long   1073154728
+       .long   1073741824
+       .long   1073154682
+       .long   2147483648
+       .long   1073158995
+       .long   1073741824
+       .long   1073158972
+       .long   1073741824
+       .long   1073158949
+       .long   0
+       .long   1073158926
+       .long   0
+       .long   1073158903
+       .long   3221225472
+       .long   1073158879
+       .long   3221225472
+       .long   1073158856
+       .long   2147483648
+       .long   1073158833
+       .long   2147483648
+       .long   1073158810
+       .long   1073741824
+       .long   1073158787
+       .long   1073741824
+       .long   1073158764
+       .long   0
+       .long   1073158741
+       .long   0
+       .long   1073158718
+       .long   3221225472
+       .long   1073158694
+       .long   3221225472
+       .long   1073158671
+       .long   2147483648
+       .long   1073158648
+       .long   2147483648
+       .long   1073158625
+       .long   1073741824
+       .long   1073158602
+       .long   1073741824
+       .long   1073158579
+       .long   0
+       .long   1073158556
+       .long   0
+       .long   1073158533
+       .long   3221225472
+       .long   1073158509
+       .long   3221225472
+       .long   1073158486
+       .long   2147483648
+       .long   1073158463
+       .long   2147483648
+       .long   1073158440
+       .long   1073741824
+       .long   1073158417
+       .long   1073741824
+       .long   1073158394
+       .long   1073741824
+       .long   1073158371
+       .long   0
+       .long   1073158348
+       .long   0
+       .long   1073158325
+       .long   3221225472
+       .long   1073158301
+       .long   3221225472
+       .long   1073158278
+       .long   2147483648
+       .long   1073158255
+       .long   2147483648
+       .long   1073158232
+       .long   2147483648
+       .long   1073158209
+       .long   1073741824
+       .long   1073158186
+       .long   1073741824
+       .long   1073158163
+       .long   0
+       .long   1073158140
+       .long   0
+       .long   1073158117
+       .long   3221225472
+       .long   1073158093
+       .long   3221225472
+       .long   1073158070
+       .long   3221225472
+       .long   1073158047
+       .long   2147483648
+       .long   1073158024
+       .long   2147483648
+       .long   1073158001
+       .long   1073741824
+       .long   1073157978
+       .long   1073741824
+       .long   1073157955
+       .long   1073741824
+       .long   1073157932
+       .long   0
+       .long   1073157909
+       .long   0
+       .long   1073157886
+       .long   3221225472
+       .long   1073157862
+       .long   3221225472
+       .long   1073157839
+       .long   3221225472
+       .long   1073157816
+       .long   2147483648
+       .long   1073157793
+       .long   2147483648
+       .long   1073157770
+       .long   2147483648
+       .long   1073157747
+       .long   1073741824
+       .long   1073157724
+       .long   1073741824
+       .long   1073157701
+       .long   0
+       .long   1073157678
+       .long   0
+       .long   1073157655
+       .long   0
+       .long   1073157632
+       .long   3221225472
+       .long   1073157608
+       .long   3221225472
+       .long   1073157585
+       .long   3221225472
+       .long   1073157562
+       .long   2147483648
+       .long   1073157539
+       .long   2147483648
+       .long   1073157516
+       .long   2147483648
+       .long   1073157493
+       .long   1073741824
+       .long   1073157470
+       .long   1073741824
+       .long   1073157447
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1342177280
+       .long   1057431575
+       .long   1679773494
+       .long   1024039205
+       .long   989855744
+       .long   1058476078
+       .long   3244478756
+       .long   1024589954
+       .long   209715200
+       .long   1059147828
+       .long   152199156
+       .long   1027874535
+       .long   2449473536
+       .long   1059526748
+       .long   2343302255
+       .long   1022283036
+       .long   1560281088
+       .long   1059903632
+       .long   4038848719
+       .long   1027337824
+       .long   4282384384
+       .long   1060196455
+       .long   2325104861
+       .long   1027595231
+       .long   1665138688
+       .long   1060384909
+       .long   2934027888
+       .long   1026982347
+       .long   3263168512
+       .long   1060574392
+       .long   3208451390
+       .long   1027670758
+       .long   3980394496
+       .long   1060763881
+       .long   863587004
+       .long   1026973426
+       .long   2470445056
+       .long   1060952352
+       .long   1027097864
+       .long   1028644619
+       .long   1296039936
+       .long   1061141853
+       .long   2016162954
+       .long   1025089894
+       .long   3107979264
+       .long   1061244623
+       .long   970842239
+       .long   1028172704
+       .long   3722444800
+       .long   1061339379
+       .long   2640304163
+       .long   1027825546
+       .long   2959081472
+       .long   1061433626
+       .long   306547692
+       .long   1028101690
+       .long   2631925760
+       .long   1061528388
+       .long   747377661
+       .long   1028120913
+       .long   794820608
+       .long   1061622641
+       .long   3406550266
+       .long   1028182206
+       .long   3825205248
+       .long   1061717408
+       .long   3705775220
+       .long   1027201825
+       .long   916455424
+       .long   1061811667
+       .long   1432750358
+       .long   1028165990
+       .long   3011510272
+       .long   1061906440
+       .long   3361908688
+       .long   1027438936
+       .long   3330277376
+       .long   1062000704
+       .long   3560665332
+       .long   1027805882
+       .long   3082813440
+       .long   1062094971
+       .long   2539531329
+       .long   1028011583
+       .long   3747610624
+       .long   1062189753
+       .long   2232403651
+       .long   1025658467
+       .long   1218445312
+       .long   1062245757
+       .long   396499622
+       .long   1025861782
+       .long   1086324736
+       .long   1062293151
+       .long   2757240868
+       .long   1026731615
+       .long   2047868928
+       .long   1062340290
+       .long   2226191703
+       .long   1027982328
+       .long   580911104
+       .long   1062387431
+       .long   1252857417
+       .long   1028280924
+       .long   1887436800
+       .long   1062434829
+       .long   659583454
+       .long   1025370904
+       .long   4186963968
+       .long   1062481972
+       .long   3587661750
+       .long   1028188900
+       .long   738197504
+       .long   1062529374
+       .long   3240696709
+       .long   1027025093
+       .long   2511339520
+       .long   1062576520
+       .long   2884432087
+       .long   1028614554
+       .long   1859125248
+       .long   1062623668
+       .long   2402099113
+       .long   1025699109
+       .long   4148166656
+       .long   1062671073
+       .long   2335237504
+       .long   1026835951
+       .long   2970615808
+       .long   1062718224
+       .long   3698719430
+       .long   1027808594
+       .long   3662675968
+       .long   1062765376
+       .long   2704653673
+       .long   1027603403
+       .long   1929379840
+       .long   1062812530
+       .long   761521627
+       .long   1027109120
+       .long   3273654272
+       .long   1062859941
+       .long   470528098
+       .long   1027977181
+       .long   1019215872
+       .long   1062907098
+       .long   3704635566
+       .long   1027707215
+       .long   635437056
+       .long   1062954256
+       .long   3676592927
+       .long   1027502983
+       .long   2122317824
+       .long   1063001415
+       .long   1497197375
+       .long   1028267547
+       .long   2529165312
+       .long   1063048832
+       .long   3425827878
+       .long   1022000476
+       .long   3498049536
+       .long   1063095994
+       .long   1982476393
+       .long   1026289596
+       .long   2043674624
+       .long   1063143158
+       .long   2502680620
+       .long   1028471295
+       .long   2463105024
+       .long   1063190323
+       .long   991567028
+       .long   1027421239
+       .long   460324864
+       .long   1063237490
+       .long   1461814384
+       .long   1026181618
+       .long   920125440
+       .long   1063270489
+       .long   1613472693
+       .long   1027845558
+       .long   3956277248
+       .long   1063294073
+       .long   93449747
+       .long   1028284502
+       .long   1487405056
+       .long   1063317659
+       .long   1336931403
+       .long   1026834156
+       .long   2102919168
+       .long   1063341245
+       .long   319680825
+       .long   1027392710
+       .long   1508376576
+       .long   1063364832
+       .long   2474643583
+       .long   1027776685
+       .long   3999268864
+       .long   1063388419
+       .long   3104004650
+       .long   1024627034
+       .long   985137152
+       .long   1063412008
+       .long   550153379
+       .long   1026678253
+       .long   1056440320
+       .long   1063435597
+       .long   672168391
+       .long   1027731310
+       .long   4213702656
+       .long   1063459186
+       .long   1805142399
+       .long   1026660459
+       .long   2772434944
+       .long   1063482905
+       .long   2448602160
+       .long   1028404887
+       .long   3528458240
+       .long   1063506496
+       .long   3457943394
+       .long   1027665063
+       .long   3075473408
+       .long   1063530088
+       .long   121314862
+       .long   1027996294
+       .long   1414004736
+       .long   1063553681
+       .long   94774013
+       .long   1028053481
+       .long   2839019520
+       .long   1063577274
+       .long   1263902834
+       .long   1028588748
+       .long   3056074752
+       .long   1063600868
+       .long   369708558
+       .long   1028257136
+       .long   2065170432
+       .long   1063624463
+       .long   1634529849
+       .long   1027810905
+       .long   1769996288
+       .long   3210227157
+       .long   1054279927
+       .long   3174741313
+       .long   2442133504
+       .long   3210203373
+       .long   2067107398
+       .long   3175167430
+       .long   456130560
+       .long   3210179845
+       .long   4142755806
+       .long   3170825152
+       .long   2302672896
+       .long   3210156060
+       .long   1526169727
+       .long   3175523413
+       .long   1524629504
+       .long   3210132531
+       .long   2442955053
+       .long   3175425591
+       .long   251658240
+       .long   3210108746
+       .long   2154729168
+       .long   3175535488
+       .long   681574400
+       .long   3210085216
+       .long   4275862891
+       .long   3176027230
+       .long   584056832
+       .long   3210061430
+       .long   4255852476
+       .long   3173565530
+       .long   2221932544
+       .long   3210037899
+       .long   2498876736
+       .long   3175149504
+       .long   3297771520
+       .long   3210014112
+       .long   1851620949
+       .long   3175688865
+       .long   1849688064
+       .long   3209990581
+       .long   2923055509
+       .long   3171310641
+       .long   4099932160
+       .long   3209966793
+       .long   2427653201
+       .long   3173037457
+       .long   3858759680
+       .long   3209943261
+       .long   1550068012
+       .long   3173027359
+       .long   2987393024
+       .long   3209919473
+       .long   4127650534
+       .long   3175851613
+       .long   3954180096
+       .long   3209895940
+       .long   442055840
+       .long   3174771669
+       .long   4257218560
+       .long   3209872151
+       .long   4113960829
+       .long   3175350854
+       .long   2135949312
+       .long   3209848618
+       .long   2076166727
+       .long   3175229825
+       .long   3613392896
+       .long   3209824828
+       .long   3476091171
+       .long   3171604778
+       .long   2699034624
+       .long   3209801294
+       .long   1765290157
+       .long   3173591669
+       .long   1053818880
+       .long   3209777504
+       .long   3761837094
+       .long   3175683182
+       .long   1346371584
+       .long   3209753969
+       .long   1459626820
+       .long   3176031561
+       .long   875560960
+       .long   3209730178
+       .long   2402361097
+       .long   3174909319
+       .long   2375024640
+       .long   3209706642
+       .long   687754918
+       .long   3174943382
+       .long   1858076672
+       .long   3209674565
+       .long   252333183
+       .long   3175531572
+       .long   2975858688
+       .long   3209627492
+       .long   1334776821
+       .long   3174591557
+       .long   2430599168
+       .long   3209579907
+       .long   1326030186
+       .long   3173486707
+       .long   1665138688
+       .long   3209532833
+       .long   737674412
+       .long   3174401557
+       .long   2122317824
+       .long   3209485758
+       .long   3987168834
+       .long   3175346908
+       .long   815792128
+       .long   3209438171
+       .long   3526910672
+       .long   3176068855
+       .long   3686793216
+       .long   3209391094
+       .long   587265932
+       .long   3174950865
+       .long   429916160
+       .long   3209343506
+       .long   3143915816
+       .long   3175955609
+       .long   1417674752
+       .long   3209296428
+       .long   2918285701
+       .long   3174860756
+       .long   505413632
+       .long   3209248838
+       .long   436607152
+       .long   3175743066
+       .long   3904897024
+       .long   3209201758
+       .long   2867787430
+       .long   3173594277
+       .long   4229955584
+       .long   3209154678
+       .long   3971699810
+       .long   3174682560
+       .long   2556428288
+       .long   3209107086
+       .long   3215049067
+       .long   3174495054
+       .long   998244352
+       .long   3209060005
+       .long   2424883713
+       .long   3173182748
+       .long   1667235840
+       .long   3209012411
+       .long   762177973
+       .long   3175232288
+       .long   2518679552
+       .long   3208965328
+       .long   282609672
+       .long   3175635057
+       .long   1237319680
+       .long   3208917733
+       .long   1502777354
+       .long   3174942228
+       .long   203423744
+       .long   3208870649
+       .long   4128371954
+       .long   3175884977
+       .long   392167424
+       .long   3208823564
+       .long   306802084
+       .long   3175724146
+       .long   2642411520
+       .long   3208775966
+       .long   2960876517
+       .long   3173143647
+       .long   945815552
+       .long   3208728880
+       .long   1800251929
+       .long   3170106484
+       .long   1241513984
+       .long   3208681281
+       .long   2675524524
+       .long   3173521837
+       .long   3904897024
+       .long   3208625826
+       .long   83988225
+       .long   3175795858
+       .long   3477078016
+       .long   3208531649
+       .long   1575792028
+       .long   3175657512
+       .long   2537553920
+       .long   3208436447
+       .long   1662079495
+       .long   3175916253
+       .long   2634022912
+       .long   3208342267
+       .long   2818347875
+       .long   3174383619
+       .long   2080374784
+       .long   3208247062
+       .long   1081767985
+       .long   3175779040
+       .long   2696937472
+       .long   3208152879
+       .long   2443744157
+       .long   3175275915
+       .long   1459617792
+       .long   3208058695
+       .long   790904149
+       .long   3174713637
+       .long   3670016000
+       .long   3207963485
+       .long   581064731
+       .long   3173466591
+       .long   2952790016
+       .long   3207869298
+       .long   1008918738
+       .long   3171724149
+       .long   377487360
+       .long   3207775110
+       .long   1606538461
+       .long   3175837201
+       .long   1052770304
+       .long   3207679896
+       .long   2534546984
+       .long   3175060122
+       .long   2298478592
+       .long   3207577425
+       .long   2154814426
+       .long   3172198942
+       .long   117440512
+       .long   3207386992
+       .long   1374248651
+       .long   3174502065
+       .long   1342177280
+       .long   3207198603
+       .long   4280579335
+       .long   3175188313
+       .long   3154116608
+       .long   3207010211
+       .long   3334926656
+       .long   3174829419
+       .long   2189426688
+       .long   3206819769
+       .long   3100885346
+       .long   3175936751
+       .long   746586112
+       .long   3206631372
+       .long   315615614
+       .long   3173018851
+       .long   4043309056
+       .long   3206340535
+       .long   274116456
+       .long   3175970612
+       .long   268435456
+       .long   3205959634
+       .long   691182319
+       .long   3173304996
+       .long   603979776
+       .long   3205582822
+       .long   112661265
+       .long   3170010307
+       .long   4194304000
+       .long   3204915176
+       .long   3717748378
+       .long   3174284044
+       .long   2885681152
+       .long   3203858420
+       .long   192153543
+       .long   3175961815
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   2851812149
+       .long   1072698941
+       .long   2595802551
+       .long   1016815913
+       .long   1048019041
+       .long   1072704666
+       .long   1398474845
+       .long   3161559171
+       .long   3899555717
+       .long   1072710421
+       .long   427280750
+       .long   3163595548
+       .long   3541402996
+       .long   1072716208
+       .long   2759177317
+       .long   1015903202
+       .long   702412510
+       .long   1072722027
+       .long   3803266086
+       .long   3163328991
+       .long   410360776
+       .long   1072727877
+       .long   1269990655
+       .long   1013024446
+       .long   3402036099
+       .long   1072733758
+       .long   405889333
+       .long   1016154232
+       .long   1828292879
+       .long   1072739672
+       .long   1255956746
+       .long   1016636974
+       .long   728909815
+       .long   1072745618
+       .long   383930225
+       .long   1016078044
+       .long   852742562
+       .long   1072751596
+       .long   667253586
+       .long   1010842135
+       .long   2952712987
+       .long   1072757606
+       .long   3293494651
+       .long   3161168877
+       .long   3490863953
+       .long   1072763649
+       .long   960797497
+       .long   3163997456
+       .long   3228316108
+       .long   1072769725
+       .long   3010241991
+       .long   3159471380
+       .long   2930322912
+       .long   1072775834
+       .long   2599499422
+       .long   3163762623
+       .long   3366293073
+       .long   1072781976
+       .long   3119426313
+       .long   1015169130
+       .long   1014845819
+       .long   1072788152
+       .long   3117910645
+       .long   3162607681
+       .long   948735466
+       .long   1072794361
+       .long   3516338027
+       .long   3163623459
+       .long   3949972341
+       .long   1072800603
+       .long   2068408548
+       .long   1015962444
+       .long   2214878420
+       .long   1072806880
+       .long   892270087
+       .long   3164164998
+       .long   828946858
+       .long   1072813191
+       .long   10642492
+       .long   1016988014
+       .long   586995997
+       .long   1072819536
+       .long   41662347
+       .long   3163676568
+       .long   2288159958
+       .long   1072825915
+       .long   2169144468
+       .long   1015924597
+       .long   2440944790
+       .long   1072832329
+       .long   2492769773
+       .long   1015196030
+       .long   1853186616
+       .long   1072838778
+       .long   3066496370
+       .long   1016705150
+       .long   1337108031
+       .long   1072845262
+       .long   3203724452
+       .long   1015726421
+       .long   1709341917
+       .long   1072851781
+       .long   2571168217
+       .long   1015201075
+       .long   3790955393
+       .long   1072858335
+       .long   2352942461
+       .long   3164228666
+       .long   4112506593
+       .long   1072864925
+       .long   2947355221
+       .long   1015419624
+       .long   3504003472
+       .long   1072871551
+       .long   3594001059
+       .long   3158379228
+       .long   2799960843
+       .long   1072878213
+       .long   1423655380
+       .long   1016070727
+       .long   2839424854
+       .long   1072884911
+       .long   1171596163
+       .long   1014090255
+       .long   171030293
+       .long   1072891646
+       .long   3526460132
+       .long   1015477354
+       .long   4232894513
+       .long   1072898416
+       .long   2383938684
+       .long   1015717095
+       .long   2992903935
+       .long   1072905224
+       .long   2218154405
+       .long   1016276769
+       .long   1603444721
+       .long   1072912069
+       .long   1548633640
+       .long   3163249902
+       .long   926591435
+       .long   1072918951
+       .long   3208833761
+       .long   3163962090
+       .long   1829099622
+       .long   1072925870
+       .long   1016661180
+       .long   3164509581
+       .long   887463927
+       .long   1072932827
+       .long   3596744162
+       .long   3161842742
+       .long   3272845541
+       .long   1072939821
+       .long   928852419
+       .long   3164536824
+       .long   1276261410
+       .long   1072946854
+       .long   300981947
+       .long   1015732745
+       .long   78413852
+       .long   1072953925
+       .long   4183226867
+       .long   3164065827
+       .long   569847338
+       .long   1072961034
+       .long   472945272
+       .long   3160339305
+       .long   3645941911
+       .long   1072968181
+       .long   3814685080
+       .long   3162621917
+       .long   1617004845
+       .long   1072975368
+       .long   82804943
+       .long   1011391354
+       .long   3978100823
+       .long   1072982593
+       .long   3513027190
+       .long   1016894539
+       .long   3049340112
+       .long   1072989858
+       .long   3062915824
+       .long   1014219171
+       .long   4040676318
+       .long   1072997162
+       .long   4090609238
+       .long   1016712034
+       .long   3577096743
+       .long   1073004506
+       .long   2951496418
+       .long   1014842263
+       .long   2583551245
+       .long   1073011890
+       .long   3161094195
+       .long   1016655067
+       .long   1990012071
+       .long   1073019314
+       .long   3529070563
+       .long   3163861769
+       .long   2731501122
+       .long   1073026778
+       .long   1774031854
+       .long   3163518597
+       .long   1453150082
+       .long   1073034283
+       .long   498154668
+       .long   3162536638
+       .long   3395129871
+       .long   1073041828
+       .long   4025345434
+       .long   3163383964
+       .long   917841882
+       .long   1073049415
+       .long   18715564
+       .long   1016707884
+       .long   3566716925
+       .long   1073057042
+       .long   1536826855
+       .long   1015191009
+       .long   3712504873
+       .long   1073064711
+       .long   88491948
+       .long   1016476236
+       .long   2321106615
+       .long   1073072422
+       .long   2171176610
+       .long   1010584347
+       .long   363667784
+       .long   1073080175
+       .long   813753949
+       .long   1016833785
+       .long   3111574537
+       .long   1073087969
+       .long   2606161479
+       .long   3163808322
+       .long   2956612997
+       .long   1073095806
+       .long   2118169750
+       .long   3163784129
+       .long   885834528
+       .long   1073103686
+       .long   1973258546
+       .long   3163310140
+       .long   2186617381
+       .long   1073111608
+       .long   2270764083
+       .long   3164321289
+       .long   3561793907
+       .long   1073119573
+       .long   1157054052
+       .long   1012938926
+       .long   1719614413
+       .long   1073127582
+       .long   330458197
+       .long   3164331316
+       .long   1963711167
+       .long   1073135634
+       .long   1744767756
+       .long   3161622870
+       .long   1013258799
+       .long   1073143730
+       .long   1748797610
+       .long   3161177658
+       .long   4182873220
+       .long   1073151869
+       .long   629542646
+       .long   3163044879
+       .long   3907805044
+       .long   1073160053
+       .long   2257091225
+       .long   3162598983
+       .long   1218806132
+       .long   1073168282
+       .long   1818613051
+       .long   3163597017
+       .long   1447192521
+       .long   1073176555
+       .long   1462857171
+       .long   3163563097
+       .long   1339972927
+       .long   1073184873
+       .long   167908908
+       .long   1016620728
+       .long   1944781191
+       .long   1073193236
+       .long   3993278767
+       .long   3162772855
+       .long   19972402
+       .long   1073201645
+       .long   3507899861
+       .long   1017057868
+       .long   919555682
+       .long   1073210099
+       .long   3121969534
+       .long   1013996802
+       .long   1413356050
+       .long   1073218599
+       .long   1651349290
+       .long   3163716742
+       .long   2571947539
+       .long   1073227145
+       .long   3558159063
+       .long   3164425245
+       .long   1176749997
+       .long   1073235738
+       .long   2738998779
+       .long   3163084420
+       .long   2604962541
+       .long   1073244377
+       .long   2614425274
+       .long   3164587768
+       .long   3649726105
+       .long   1073253063
+       .long   4085036346
+       .long   1016698050
+       .long   1110089947
+       .long   1073261797
+       .long   1451641638
+       .long   1016523249
+       .long   380978316
+       .long   1073270578
+       .long   854188970
+       .long   3161511262
+       .long   2568320822
+       .long   1073279406
+       .long   2732824428
+       .long   1015401491
+       .long   194117574
+       .long   1073288283
+       .long   777528611
+       .long   3164460665
+       .long   2966275557
+       .long   1073297207
+       .long   2176155323
+       .long   3160891335
+       .long   3418903055
+       .long   1073306180
+       .long   2527457337
+       .long   3161869180
+       .long   2682146384
+       .long   1073315202
+       .long   2082178512
+       .long   3164411995
+       .long   1892288442
+       .long   1073324273
+       .long   2446255666
+       .long   3163648957
+       .long   2191782032
+       .long   1073333393
+       .long   2960257726
+       .long   1014791238
+       .long   434316067
+       .long   1073342563
+       .long   2028358766
+       .long   1014506698
+       .long   2069751141
+       .long   1073351782
+       .long   1562170674
+       .long   3163773257
+       .long   3964284211
+       .long   1073361051
+       .long   2111583915
+       .long   1016475740
+       .long   2990417245
+       .long   1073370371
+       .long   3683467745
+       .long   3164417902
+       .long   321958744
+       .long   1073379742
+       .long   3401933766
+       .long   1016843134
+       .long   1434058175
+       .long   1073389163
+       .long   251133233
+       .long   1016134345
+       .long   3218338682
+       .long   1073398635
+       .long   3404164304
+       .long   3163525684
+       .long   2572866477
+       .long   1073408159
+       .long   878562433
+       .long   1016570317
+       .long   697153126
+       .long   1073417735
+       .long   1283515428
+       .long   3164331765
+       .long   3092190715
+       .long   1073427362
+       .long   814012167
+       .long   3160571998
+       .long   2380618042
+       .long   1073437042
+       .long   3149557219
+       .long   3164369375
+       .long   4076559943
+       .long   1073446774
+       .long   2119478330
+       .long   3161806927
+       .long   815859274
+       .long   1073456560
+       .long   240396590
+       .long   3164536019
+       .long   2420883922
+       .long   1073466398
+       .long   2049810052
+       .long   1015168464
+       .long   1540824585
+       .long   1073476290
+       .long   1064017010
+       .long   3164536266
+       .long   3716502172
+       .long   1073486235
+       .long   2303740125
+       .long   1015091301
+       .long   1610600570
+       .long   1073496235
+       .long   3766732298
+       .long   1016808759
+       .long   777507147
+       .long   1073506289
+       .long   4282924204
+       .long   1016236109
+       .long   2483480501
+       .long   1073516397
+       .long   1216371780
+       .long   1014082748
+       .long   3706687593
+       .long   1073526560
+       .long   3521726939
+       .long   1014301643
+       .long   1432208378
+       .long   1073536779
+       .long   1401068914
+       .long   3163412539
+       .long   1242007932
+       .long   1073547053
+       .long   1132034716
+       .long   3164388407
+       .long   135105010
+       .long   1073557383
+       .long   1906148727
+       .long   3164424315
+       .long   3707479175
+       .long   1073567768
+       .long   3613079302
+       .long   1015213314
+       .long   382305176
+       .long   1073578211
+       .long   2347622376
+       .long   3163627201
+       .long   64696965
+       .long   1073588710
+       .long   1768797490
+       .long   1016865536
+       .long   4076975200
+       .long   1073599265
+       .long   2029000898
+       .long   1016257111
+       .long   863738719
+       .long   1073609879
+       .long   1326992219
+       .long   3163661773
+       .long   351641897
+       .long   1073620550
+       .long   2172261526
+       .long   3164059175
+       .long   3884662774
+       .long   1073631278
+       .long   2158611599
+       .long   1015258761
+       .long   4224142467
+       .long   1073642065
+       .long   3389820385
+       .long   1016255778
+       .long   2728693978
+       .long   1073652911
+       .long   396109971
+       .long   3164511267
+       .long   764307441
+       .long   1073663816
+       .long   3021057420
+       .long   3164378099
+       .long   3999357479
+       .long   1073674779
+       .long   2258941616
+       .long   1016973300
+       .long   929806999
+       .long   1073685803
+       .long   3205336643
+       .long   1016308133
+       .long   1533953344
+       .long   1073696886
+       .long   769171850
+       .long   1016714209
+       .long   2912730644
+       .long   1073708029
+       .long   3490067721
+       .long   3164453650
+       .long   2174652632
+       .long   1073719233
+       .long   4087714590
+       .long   1015498835
+       .long   730821105
+       .long   1073730498
+       .long   2523232743
+       .long   1013115764
+       .long   2523158504
+       .long   1048167334
+       .long   1181303047
+       .long   3218484803
+       .long   1656151777
+       .long   1069842388
+       .long   714085080
+       .long   3216330823
+       .long   4277811695
+       .long   1072049730
+       .long   4286760335
+       .long   1070514109
+       .long   3607404736
+       .long   1068264200
+       .long   1874480759
+       .long   1065595563
+       .long   3884607281
+       .long   1062590591
+       .long   0
+       .long   2145386496
+       .long   0
+       .long   1048576
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   1120403456
+       .long   1073741824
+       .long   1073157447
+       .long   33554432
+       .long   1101004800
+       .long   0
+       .long   1282408448
+       .long   0
+       .long   862978048
+       .type   __dpow_la_CoutTab,@object
+       .size   __dpow_la_CoutTab,6880
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_pow_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_pow_s_la.s
new file mode 100644 (file)
index 0000000..743321c
--- /dev/null
@@ -0,0 +1,2012 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *  *   Typical computation sequences for log2() and exp2(),
+ *  *     with smaller tables (32- and 16-element tables)
+ *  *    The log2() part uses VGETEXP/VGETMANT (which treat denormals correctly),
+ *  *         similar to DP ln() algorithm
+ *  *    Branches are not needed for overflow/underflow:
+ *  *     - RZ mode used to prevent overflow to +/-Inf in intermediate computations
+ *  *     - final VSCALEF properly handles overflow and underflow cases
+ *  *    Callout is still used for Inf/NaNs or x<=0
+ *  *
+ *  
+ */
+
+
+       .text
+.L_2__routine_start___svml_powf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_powf16
+
+__svml_powf16:
+
+
+       .cfi_startproc
+..L2:
+
+        pushq     %rbp
+       .cfi_def_cfa_offset 16
+        movq      %rsp, %rbp
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+        andq      $-64, %rsp
+        subq      $256, %rsp
+
+/* GetMant(x), normalized to [0.5,1) for x>=0, NaN for x<0 */
+        vgetmantps $10, {sae}, %zmm0, %zmm4
+        vmovups   384+__svml_spow_data_internal_avx512(%rip), %zmm9
+        vmovups   448+__svml_spow_data_internal_avx512(%rip), %zmm11
+        vmovups   512+__svml_spow_data_internal_avx512(%rip), %zmm12
+        vmovups   320+__svml_spow_data_internal_avx512(%rip), %zmm8
+        vmovups   576+__svml_spow_data_internal_avx512(%rip), %zmm15
+
+/* GetExp(x) */
+        vgetexpps {sae}, %zmm0, %zmm14
+
+/* Table lookup */
+        vmovups   __svml_spow_data_internal_avx512(%rip), %zmm13
+        vmovups   128+__svml_spow_data_internal_avx512(%rip), %zmm3
+
+/* SglRcp ~ 1/Mantissa */
+        vrcp14ps  %zmm4, %zmm6
+
+/* x<=0 or Inf/NaN? */
+        vfpclassps $223, %zmm0, %k0
+
+/* round SglRcp to 5 fractional bits (RN mode, no Precision exception) */
+        vrndscaleps $88, {sae}, %zmm6, %zmm7
+        vmovups   704+__svml_spow_data_internal_avx512(%rip), %zmm6
+        kmovw     %k0, %edx
+
+/* Reduced argument: R = (SglRcp*Mantissa - 1) */
+        vfmsub213ps {rn-sae}, %zmm9, %zmm7, %zmm4
+
+/* Prepare exponent correction: SglRcp<1.5? */
+        vcmpps    $17, {sae}, %zmm8, %zmm7, %k1
+
+/* start polynomial evaluation */
+        vfmadd231ps {rn-sae}, %zmm4, %zmm11, %zmm12
+
+/* Prepare table index */
+        vpsrld    $18, %zmm7, %zmm10
+        vmovups   768+__svml_spow_data_internal_avx512(%rip), %zmm7
+        vfmadd231ps {rn-sae}, %zmm4, %zmm12, %zmm15
+
+/* add 1 to Expon if SglRcp<1.5 */
+        vaddps    {rn-sae}, %zmm9, %zmm14, %zmm14{%k1}
+        vpermt2ps 64+__svml_spow_data_internal_avx512(%rip), %zmm10, %zmm13
+        vpermt2ps 192+__svml_spow_data_internal_avx512(%rip), %zmm10, %zmm3
+
+/* Th+Expon */
+        vaddps    {rn-sae}, %zmm14, %zmm13, %zmm2
+        vmovaps   %zmm1, %zmm5
+        vmovups   640+__svml_spow_data_internal_avx512(%rip), %zmm1
+
+/* y Inf/NaN? */
+        vfpclassps $153, %zmm5, %k2
+        vfmadd231ps {rn-sae}, %zmm4, %zmm15, %zmm1
+        kmovw     %k2, %eax
+
+/* Poly_low */
+        vfmadd231ps {rn-sae}, %zmm4, %zmm1, %zmm6
+
+/* Th+Expon+R*c1h */
+        vmovaps   %zmm2, %zmm9
+        orl       %eax, %edx
+        vfmadd231ps {rn-sae}, %zmm4, %zmm7, %zmm9
+
+/* Tl + R*Poly_low */
+        vfmadd231ps {rn-sae}, %zmm4, %zmm6, %zmm3
+        vmovups   960+__svml_spow_data_internal_avx512(%rip), %zmm6
+
+/* (R*c1h)_high */
+        vsubps    {rn-sae}, %zmm2, %zmm9, %zmm8
+
+/* High1 + Tl */
+        vaddps    {rn-sae}, %zmm3, %zmm9, %zmm11
+
+/* (R*c1h)_low */
+        vfmsub213ps {rn-sae}, %zmm8, %zmm7, %zmm4
+        vmovups   1088+__svml_spow_data_internal_avx512(%rip), %zmm7
+
+/* y*High */
+        vmulps    {rz-sae}, %zmm5, %zmm11, %zmm12
+
+/* Tlh */
+        vsubps    {rn-sae}, %zmm9, %zmm11, %zmm10
+
+/* (y*High)_low */
+        vfmsub213ps {rz-sae}, %zmm12, %zmm5, %zmm11
+
+/* Tll */
+        vsubps    {rn-sae}, %zmm10, %zmm3, %zmm3
+
+/* Tll + (R*c1h)_low */
+        vaddps    {rn-sae}, %zmm4, %zmm3, %zmm13
+        vmovups   832+__svml_spow_data_internal_avx512(%rip), %zmm4
+
+/* Zl = y*Tll + Zl */
+        vfmadd213ps {rz-sae}, %zmm11, %zmm5, %zmm13
+
+/*
+ * scaled result
+ * Filter very large |y*log2(x)| and scale final result for LRB2
+ */
+        vmovups   1408+__svml_spow_data_internal_avx512(%rip), %zmm11
+        vaddps    {rz-sae}, %zmm13, %zmm12, %zmm2
+        vsubps    {rn-sae}, %zmm12, %zmm2, %zmm14
+        vaddps    {rd-sae}, %zmm4, %zmm2, %zmm1
+
+/*
+ * /
+ * exp2 computation starts here
+ */
+        vreduceps $65, {sae}, %zmm2, %zmm15
+        vmovups   1024+__svml_spow_data_internal_avx512(%rip), %zmm12
+        vsubps    {rn-sae}, %zmm14, %zmm13, %zmm3
+
+/* Table lookup: The, Tle/The */
+        vpermps   256+__svml_spow_data_internal_avx512(%rip), %zmm1, %zmm10
+        vandps    1344+__svml_spow_data_internal_avx512(%rip), %zmm2, %zmm2
+        vaddps    {rn-sae}, %zmm3, %zmm15, %zmm4
+        vpslld    $19, %zmm1, %zmm1
+        vcmpps    $22, {sae}, %zmm11, %zmm2, %k3
+
+/* ensure |R|<2 even for special cases */
+        vandps    896+__svml_spow_data_internal_avx512(%rip), %zmm4, %zmm8
+        vandps    1472+__svml_spow_data_internal_avx512(%rip), %zmm1, %zmm13
+        kmovw     %k3, %ecx
+
+/* R*The */
+        vmulps    {rn-sae}, %zmm8, %zmm10, %zmm9
+
+/* polynomial */
+        vfmadd231ps {rn-sae}, %zmm8, %zmm6, %zmm12
+        vfmadd213ps {rn-sae}, %zmm7, %zmm8, %zmm12
+        orl       %ecx, %edx
+
+/* The + The*R*poly */
+        vfmadd213ps {rn-sae}, %zmm10, %zmm9, %zmm12
+        vmulps    {rn-sae}, %zmm13, %zmm12, %zmm1
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        vmovaps   %zmm1, %zmm0
+        movq      %rbp, %rsp
+        popq      %rbp
+       .cfi_def_cfa 7, 8
+       .cfi_restore 6
+        ret
+       .cfi_def_cfa 6, 16
+       .cfi_offset 6, -16
+
+.LBL_1_3:
+
+        vmovups   %zmm0, 64(%rsp)
+        vmovups   %zmm5, 128(%rsp)
+        vmovups   %zmm1, 192(%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, 0x28, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 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, 0x30, 0xff, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 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   192(%rsp), %zmm1
+        movq      40(%rsp), %rsi
+       .cfi_restore 4
+        movq      32(%rsp), %rdi
+       .cfi_restore 5
+        movq      56(%rsp), %r12
+       .cfi_restore 12
+        movq      48(%rsp), %r13
+       .cfi_restore 13
+        jmp       .LBL_1_2
+       .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x28, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+        lea       192(%rsp,%r12,4), %rdx
+
+        call      __svml_spow_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_powf16,@function
+       .size   __svml_powf16,.-__svml_powf16
+..LN__svml_powf16.0:
+
+.L_2__routine_start___spow_la_TestIntFunc_1:
+
+       .align    16,0x90
+
+__spow_la_TestIntFunc:
+
+
+       .cfi_startproc
+..L53:
+
+        movd      %xmm0, %edx
+        andl      $2147483647, %edx
+        lea       -1065353216(%rdx), %eax
+        cmpl      $1073741824, %eax
+        jae       .LBL_2_5
+
+
+        cmpl      $1266679808, %edx
+        jge       .LBL_2_7
+
+
+        movl      %edx, %ecx
+        andl      $-8388608, %ecx
+        addl      $8388608, %ecx
+        shrl      $23, %ecx
+        shll      %cl, %edx
+        testl     $8388607, %edx
+        jne       .LBL_2_5
+
+
+        andl      $16777215, %edx
+        xorl      %eax, %eax
+        cmpl      $8388608, %edx
+        setne     %al
+        incl      %eax
+        ret
+
+.LBL_2_5:
+
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_7:
+
+        movl      $2, %eax
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __spow_la_TestIntFunc,@function
+       .size   __spow_la_TestIntFunc,.-__spow_la_TestIntFunc
+..LN__spow_la_TestIntFunc.1:
+
+.L_2__routine_start___svml_spow_cout_rare_internal_2:
+
+       .align    16,0x90
+
+__svml_spow_cout_rare_internal:
+
+
+       .cfi_startproc
+..L56:
+
+        pushq     %r12
+       .cfi_def_cfa_offset 16
+       .cfi_offset 12, -16
+        pushq     %r13
+       .cfi_def_cfa_offset 24
+       .cfi_offset 13, -24
+        pushq     %r14
+       .cfi_def_cfa_offset 32
+       .cfi_offset 14, -32
+        pushq     %r15
+       .cfi_def_cfa_offset 40
+       .cfi_offset 15, -40
+        pushq     %rbx
+       .cfi_def_cfa_offset 48
+       .cfi_offset 3, -48
+        pushq     %rbp
+       .cfi_def_cfa_offset 56
+       .cfi_offset 6, -56
+        subq      $88, %rsp
+       .cfi_def_cfa_offset 144
+        movq      %rdx, %r15
+        movss     (%rdi), %xmm4
+        pxor      %xmm1, %xmm1
+        movss     (%rsi), %xmm3
+        movaps    %xmm4, %xmm2
+        movl      $0, 64(%rsp)
+        movaps    %xmm3, %xmm0
+        ucomiss   %xmm1, %xmm4
+        jp        .LBL_3_2
+        je        .LBL_3_3
+
+.LBL_3_2:
+
+        movss     %xmm4, 8(%rsp)
+        jmp       .LBL_3_4
+
+.LBL_3_3:
+
+        movaps    %xmm4, %xmm2
+        addss     %xmm4, %xmm2
+        movss     %xmm2, 8(%rsp)
+
+.LBL_3_4:
+
+        pxor      %xmm1, %xmm1
+        ucomiss   %xmm1, %xmm3
+        jp        .LBL_3_5
+        je        .LBL_3_6
+
+.LBL_3_5:
+
+        movss     %xmm3, 28(%rsp)
+        jmp       .LBL_3_7
+
+.LBL_3_6:
+
+        movaps    %xmm3, %xmm0
+        addss     %xmm3, %xmm0
+        movss     %xmm0, 28(%rsp)
+
+.LBL_3_7:
+
+        movb      31(%rsp), %al
+        xorl      %ebx, %ebx
+        andb      $-128, %al
+        xorl      %ebp, %ebp
+        shrb      $7, %al
+        testl     $8388607, 8(%rsp)
+        movzwl    30(%rsp), %r13d
+        sete      %bl
+        andl      $32640, %r13d
+        testl     $8388607, 28(%rsp)
+        movzwl    10(%rsp), %r14d
+        movzbl    11(%rsp), %r12d
+        sete      %bpl
+        andl      $32640, %r14d
+        andl      $128, %r12d
+        shrl      $7, %r13d
+        shrl      $7, %r14d
+        shrl      $7, %r12d
+        movb      %al, 72(%rsp)
+        cmpl      $255, %r13d
+        je        .LBL_3_59
+
+
+        movl      $1, 8(%rsp)
+        movss     %xmm2, 32(%rsp)
+        movss     %xmm0, 40(%rsp)
+        movss     %xmm3, 48(%rsp)
+        movss     %xmm4, 56(%rsp)
+
+        call      __spow_la_TestIntFunc
+
+
+        movss     56(%rsp), %xmm4
+        movl      %eax, %edx
+        movss     48(%rsp), %xmm3
+        movss     40(%rsp), %xmm0
+        movss     32(%rsp), %xmm2
+        testl     %r12d, %r12d
+        jne       .LBL_3_10
+
+
+        cmpl      $127, %r14d
+        je        .LBL_3_56
+
+.LBL_3_10:
+
+        testl     %r13d, %r13d
+        jne       .LBL_3_12
+
+.LBL_3_11:
+
+        testl     %ebp, %ebp
+        jne       .LBL_3_38
+
+.LBL_3_12:
+
+        cmpl      $255, %r14d
+        je        .LBL_3_14
+
+.LBL_3_13:
+
+        movl      $1, %eax
+        jmp       .LBL_3_15
+
+.LBL_3_14:
+
+        xorl      %eax, %eax
+
+.LBL_3_15:
+
+        orl       %eax, %ebx
+        je        .LBL_3_37
+
+
+        orl       8(%rsp), %ebp
+        je        .LBL_3_37
+
+
+        pxor      %xmm1, %xmm1
+        ucomiss   %xmm1, %xmm2
+        jp        .LBL_3_18
+        je        .LBL_3_53
+
+.LBL_3_18:
+
+        ucomiss   .L_2il0floatpacket.121(%rip), %xmm2
+        jp        .LBL_3_19
+        je        .LBL_3_50
+
+.LBL_3_19:
+
+        testl     %eax, %eax
+        je        .LBL_3_30
+
+
+        cmpl      $0, 8(%rsp)
+        je        .LBL_3_30
+
+
+        pxor      %xmm0, %xmm0
+        comiss    %xmm0, %xmm2
+        ja        .LBL_3_23
+
+
+        testl     %edx, %edx
+        je        .LBL_3_29
+
+.LBL_3_23:
+
+        lea       1484+__spow_la_CoutTab(%rip), %rax
+        andl      %r12d, %edx
+        movss     %xmm2, 12(%rsp)
+        xorl      %ecx, %ecx
+        andb      $127, 15(%rsp)
+        movss     (%rax,%rdx,4), %xmm12
+        testl     %r14d, %r14d
+        jne       .LBL_3_25
+
+
+        movss     12(%rsp), %xmm0
+        movl      $-64, %ecx
+        mulss     .L_2il0floatpacket.122(%rip), %xmm0
+        movss     %xmm0, 12(%rsp)
+        jmp       .LBL_3_26
+
+.LBL_3_25:
+
+        movss     12(%rsp), %xmm0
+
+.LBL_3_26:
+
+        movzwl    14(%rsp), %edi
+        lea       __spow_la_CoutTab(%rip), %rsi
+        andl      $32640, %edi
+        pxor      %xmm1, %xmm1
+        shrl      $7, %edi
+        movl      12(%rsp), %edx
+        shll      $23, %edi
+        andl      $8388607, %edx
+        movss     %xmm0, 16(%rsp)
+        orl       %edx, %edi
+        movzwl    18(%rsp), %eax
+        addl      $-1060634624, %edi
+        andl      $-32641, %eax
+        addl      $16256, %eax
+        movw      %ax, 18(%rsp)
+        sarl      $23, %edi
+        addl      %ecx, %edi
+        movl      16(%rsp), %ecx
+        andl      $7864320, %ecx
+        addl      $524288, %ecx
+        cvtsi2ss  %edi, %xmm1
+        shrl      $20, %ecx
+        movss     (%rsi,%rcx,4), %xmm4
+        addl      %ecx, %ecx
+        movss     36(%rsi,%rcx,4), %xmm13
+        movaps    %xmm13, %xmm7
+        movss     16(%rsp), %xmm0
+        addss     %xmm1, %xmm7
+        movaps    %xmm0, %xmm6
+        mulss     %xmm4, %xmm6
+        movss     %xmm7, 20(%rsp)
+        movss     20(%rsp), %xmm3
+        movd      %xmm6, %ebx
+        subss     %xmm3, %xmm1
+        andl      $1966080, %ebx
+        addss     %xmm1, %xmm13
+        addl      $131072, %ebx
+        shrl      $18, %ebx
+        movss     108(%rsi,%rbx,4), %xmm11
+        addl      %ebx, %ebx
+        movss     144(%rsi,%rbx,4), %xmm5
+        movss     %xmm13, 24(%rsp)
+        movaps    %xmm5, %xmm14
+        movss     20(%rsp), %xmm1
+        addss     %xmm1, %xmm14
+        mulss     %xmm11, %xmm6
+        mulss     %xmm11, %xmm4
+        movd      %xmm6, %ebp
+        movss     24(%rsp), %xmm7
+        movss     %xmm14, 20(%rsp)
+        movss     20(%rsp), %xmm3
+        andl      $507904, %ebp
+        addl      $16384, %ebp
+        subss     %xmm3, %xmm1
+        shrl      $15, %ebp
+        addss     %xmm1, %xmm5
+        movss     216(%rsi,%rbp,4), %xmm15
+        addl      %ebp, %ebp
+        movss     284(%rsi,%rbp,4), %xmm2
+        movss     %xmm5, 24(%rsp)
+        movaps    %xmm2, %xmm13
+        movss     20(%rsp), %xmm1
+        movss     24(%rsp), %xmm5
+        addss     %xmm1, %xmm13
+        mulss     %xmm15, %xmm4
+        movss     %xmm13, 20(%rsp)
+        movss     20(%rsp), %xmm3
+        movss     .L_2il0floatpacket.124(%rip), %xmm11
+        subss     %xmm3, %xmm1
+        addss     %xmm1, %xmm2
+        mulss     %xmm15, %xmm6
+        movaps    %xmm11, %xmm15
+        movaps    %xmm6, %xmm3
+        mulss     %xmm0, %xmm15
+        subss     .L_2il0floatpacket.123(%rip), %xmm3
+        movss     %xmm2, 24(%rsp)
+        movss     20(%rsp), %xmm1
+        movss     24(%rsp), %xmm2
+        movss     %xmm15, 20(%rsp)
+        movss     20(%rsp), %xmm13
+        movss     40(%rsi,%rcx,4), %xmm9
+        movss     148(%rsi,%rbx,4), %xmm8
+        movss     288(%rsi,%rbp,4), %xmm10
+        subss     16(%rsp), %xmm13
+        movss     %xmm13, 24(%rsp)
+        movss     20(%rsp), %xmm13
+        movss     24(%rsp), %xmm14
+        subss     %xmm14, %xmm13
+        movss     %xmm13, 20(%rsp)
+        movss     20(%rsp), %xmm15
+        subss     %xmm15, %xmm0
+        movss     %xmm0, 24(%rsp)
+        movaps    %xmm4, %xmm0
+        mulss     %xmm11, %xmm0
+        movss     20(%rsp), %xmm13
+        movss     24(%rsp), %xmm14
+        movss     %xmm0, 20(%rsp)
+        movss     20(%rsp), %xmm15
+        subss     %xmm4, %xmm15
+        movss     %xmm15, 24(%rsp)
+        movss     20(%rsp), %xmm15
+        movss     24(%rsp), %xmm0
+        subss     %xmm0, %xmm15
+        movss     %xmm15, 20(%rsp)
+        movss     20(%rsp), %xmm0
+        subss     %xmm0, %xmm4
+        movaps    %xmm13, %xmm0
+        movss     %xmm4, 24(%rsp)
+        movss     20(%rsp), %xmm4
+        mulss     %xmm4, %xmm0
+        mulss     %xmm14, %xmm4
+        subss     %xmm6, %xmm0
+        movaps    %xmm3, %xmm6
+        addss     %xmm4, %xmm0
+        addss     %xmm1, %xmm6
+        movss     24(%rsp), %xmm15
+        movss     %xmm6, 20(%rsp)
+        movss     20(%rsp), %xmm4
+        mulss     %xmm15, %xmm13
+        subss     %xmm4, %xmm1
+        mulss     %xmm15, %xmm14
+        addss     %xmm13, %xmm0
+        addss     %xmm3, %xmm1
+        addss     %xmm14, %xmm0
+        movss     %xmm1, 24(%rsp)
+        movss     20(%rsp), %xmm6
+        movss     %xmm6, 8(%rsp)
+        movzwl    10(%rsp), %eax
+        andl      $32640, %eax
+        shrl      $7, %eax
+        addl      %r13d, %eax
+        movss     24(%rsp), %xmm4
+        cmpl      $265, %eax
+        jge       .LBL_3_49
+
+
+        cmpl      $192, %eax
+        jg        .LBL_3_40
+
+
+        movl      $1065353216, 20(%rsp)
+        movss     20(%rsp), %xmm0
+        addss     .L_2il0floatpacket.133(%rip), %xmm0
+        movss     %xmm0, 20(%rsp)
+        movss     20(%rsp), %xmm1
+        mulss     %xmm12, %xmm1
+        movss     %xmm1, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_29:
+
+        movl      $1, 64(%rsp)
+        pxor      %xmm0, %xmm0
+        movss     %xmm0, 20(%rsp)
+        movss     20(%rsp), %xmm2
+        movss     20(%rsp), %xmm1
+        divss     %xmm1, %xmm2
+        movss     %xmm2, 20(%rsp)
+        movl      20(%rsp), %eax
+        movl      %eax, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_30:
+
+        cmpl      $127, %r14d
+        jge       .LBL_3_34
+
+
+        movb      72(%rsp), %al
+        testb     %al, %al
+        je        .LBL_3_33
+
+
+        mulss     %xmm0, %xmm0
+        movss     %xmm0, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_33:
+
+        pxor      %xmm0, %xmm0
+        movss     %xmm0, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_34:
+
+        movb      72(%rsp), %al
+        testb     %al, %al
+        je        .LBL_3_36
+
+
+        lea       1512+__spow_la_CoutTab(%rip), %rax
+        andl      %r12d, %edx
+        movl      (%rax,%rdx,4), %ecx
+        movl      %ecx, 12(%rsp)
+        movl      %ecx, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_36:
+
+        mulss     %xmm2, %xmm2
+        lea       1484+__spow_la_CoutTab(%rip), %rax
+        mulss     %xmm0, %xmm2
+        andl      %r12d, %edx
+        mulss     (%rax,%rdx,4), %xmm2
+        movss     %xmm2, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_37:
+
+        addss     %xmm3, %xmm4
+        movss     %xmm4, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_38:
+
+        addss     %xmm0, %xmm2
+        movss     %xmm2, 20(%rsp)
+        movl      $1065353216, 24(%rsp)
+        movb      23(%rsp), %al
+        movb      27(%rsp), %dl
+        andb      $-128, %al
+        andb      $127, %dl
+        orb       %al, %dl
+        movb      %dl, 27(%rsp)
+        movss     24(%rsp), %xmm1
+        movss     24(%rsp), %xmm0
+        mulss     %xmm0, %xmm1
+        movss     %xmm1, (%r15)
+
+.LBL_3_39:
+
+        movl      64(%rsp), %eax
+        addq      $88, %rsp
+       .cfi_def_cfa_offset 56
+       .cfi_restore 6
+        popq      %rbp
+       .cfi_def_cfa_offset 48
+       .cfi_restore 3
+        popq      %rbx
+       .cfi_def_cfa_offset 40
+       .cfi_restore 15
+        popq      %r15
+       .cfi_def_cfa_offset 32
+       .cfi_restore 14
+        popq      %r14
+       .cfi_def_cfa_offset 24
+       .cfi_restore 13
+        popq      %r13
+       .cfi_def_cfa_offset 16
+       .cfi_restore 12
+        popq      %r12
+       .cfi_def_cfa_offset 8
+        ret
+       .cfi_def_cfa_offset 144
+       .cfi_offset 3, -48
+       .cfi_offset 6, -56
+       .cfi_offset 12, -16
+       .cfi_offset 13, -24
+       .cfi_offset 14, -32
+       .cfi_offset 15, -40
+
+.LBL_3_40:
+
+        movss     .L_2il0floatpacket.128(%rip), %xmm1
+        lea       424+__spow_la_CoutTab(%rip), %rdx
+        addss     %xmm0, %xmm3
+        addss     %xmm5, %xmm7
+        addss     %xmm4, %xmm0
+        mulss     %xmm3, %xmm1
+        addss     %xmm7, %xmm2
+        addss     .L_2il0floatpacket.127(%rip), %xmm1
+        addss     %xmm2, %xmm9
+        mulss     %xmm3, %xmm1
+        addss     %xmm9, %xmm8
+        addss     .L_2il0floatpacket.126(%rip), %xmm1
+        addss     %xmm8, %xmm10
+        mulss     %xmm3, %xmm1
+        addss     %xmm0, %xmm10
+        addss     .L_2il0floatpacket.125(%rip), %xmm1
+        mulss     %xmm3, %xmm1
+        movaps    %xmm10, %xmm5
+        movss     8(%rsp), %xmm4
+        movaps    %xmm11, %xmm8
+        addss     %xmm1, %xmm6
+        lea       20(%rsp), %rax
+        movss     %xmm6, (%rax)
+        movss     (%rax), %xmm0
+        subss     %xmm0, %xmm4
+        movaps    %xmm11, %xmm0
+        addss     %xmm1, %xmm4
+        lea       24(%rsp), %rcx
+        movss     %xmm4, (%rcx)
+        movss     (%rax), %xmm7
+        movss     (%rcx), %xmm3
+        addss     %xmm7, %xmm5
+        movss     %xmm5, (%rax)
+        movss     (%rax), %xmm6
+        subss     %xmm6, %xmm7
+        addss     %xmm10, %xmm7
+        movss     %xmm7, (%rcx)
+        movss     (%rax), %xmm10
+        mulss     %xmm10, %xmm8
+        movss     (%rcx), %xmm2
+        movss     %xmm8, (%rax)
+        addss     %xmm3, %xmm2
+        movss     (%rax), %xmm9
+        lea       28(%rsp), %rbx
+        movss     (%rbx), %xmm7
+        subss     %xmm10, %xmm9
+        mulss     %xmm7, %xmm0
+        mulss     (%rbx), %xmm2
+        movss     %xmm9, (%rcx)
+        movss     (%rax), %xmm14
+        movss     (%rcx), %xmm13
+        movss     .L_2il0floatpacket.129(%rip), %xmm9
+        subss     %xmm13, %xmm14
+        movss     %xmm14, (%rax)
+        movss     (%rax), %xmm15
+        subss     %xmm15, %xmm10
+        movss     %xmm10, (%rcx)
+        movss     (%rax), %xmm8
+        movss     (%rcx), %xmm10
+        movss     %xmm0, (%rax)
+        movss     (%rax), %xmm1
+        subss     (%rbx), %xmm1
+        movss     %xmm1, (%rcx)
+        movss     (%rax), %xmm5
+        movss     (%rcx), %xmm4
+        subss     %xmm4, %xmm5
+        movss     %xmm5, (%rax)
+        movss     (%rax), %xmm6
+        subss     %xmm6, %xmm7
+        movss     %xmm7, (%rcx)
+        movss     (%rax), %xmm1
+        movss     (%rcx), %xmm15
+        movaps    %xmm1, %xmm0
+        mulss     %xmm8, %xmm0
+        mulss     %xmm10, %xmm1
+        mulss     %xmm15, %xmm8
+        mulss     %xmm15, %xmm10
+        addss     %xmm8, %xmm1
+        movaps    %xmm0, %xmm8
+        addss     %xmm1, %xmm8
+        movaps    %xmm8, %xmm3
+        subss     %xmm8, %xmm0
+        addss     %xmm9, %xmm3
+        addss     %xmm0, %xmm1
+        movss     %xmm3, (%rax)
+        movaps    %xmm8, %xmm3
+        movss     (%rax), %xmm13
+        addss     %xmm1, %xmm10
+        subss     %xmm9, %xmm13
+        addss     %xmm2, %xmm10
+        movss     %xmm13, (%rsp)
+        movss     (%rsp), %xmm14
+        movss     .L_2il0floatpacket.132(%rip), %xmm2
+        subss     %xmm14, %xmm3
+        movss     %xmm3, 4(%rsp)
+        movss     4(%rsp), %xmm4
+        movl      (%rax), %eax
+        movl      %eax, %ebx
+        andl      $127, %eax
+        addss     %xmm10, %xmm4
+        mulss     %xmm4, %xmm2
+        addl      %eax, %eax
+        movss     -4(%rdx,%rax,4), %xmm1
+        shll      $10, %ebx
+        addss     .L_2il0floatpacket.131(%rip), %xmm2
+        mulss     %xmm4, %xmm2
+        sarl      $17, %ebx
+        addss     .L_2il0floatpacket.130(%rip), %xmm2
+        mulss     %xmm4, %xmm2
+        mulss     %xmm1, %xmm2
+        addss     (%rdx,%rax,4), %xmm2
+        movaps    %xmm2, %xmm5
+        addss     %xmm1, %xmm5
+        movss     %xmm5, 12(%rsp)
+        movzwl    14(%rsp), %edx
+        movl      %edx, %ecx
+        andl      $32640, %ecx
+        shrl      $7, %ecx
+        lea       -127(%rbx,%rcx), %eax
+        cmpl      $128, %eax
+        jge       .LBL_3_48
+
+
+        cmpl      $-126, %eax
+        jl        .LBL_3_43
+
+
+        andl      $-32641, %edx
+        lea       127(%rax), %eax
+        movzbl    %al, %eax
+        shll      $7, %eax
+        orl       %eax, %edx
+        movw      %dx, 14(%rsp)
+        movss     12(%rsp), %xmm0
+        mulss     %xmm12, %xmm0
+        movss     %xmm0, 12(%rsp)
+        movss     %xmm0, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_43:
+
+        cmpl      $-136, %eax
+        jl        .LBL_3_45
+
+
+        lea       20(%rsp), %rdx
+        movss     %xmm5, (%rdx)
+        movl      $1065353216, %eax
+        movss     (%rdx), %xmm0
+        addl      $191, %ebx
+        movl      %eax, 8(%rsp)
+        subss     %xmm0, %xmm1
+        shrl      $16, %eax
+        addss     %xmm1, %xmm2
+        movss     %xmm2, 24(%rsp)
+        movss     (%rdx), %xmm5
+        mulss     %xmm5, %xmm11
+        movss     24(%rsp), %xmm6
+        movss     %xmm11, (%rdx)
+        movss     (%rdx), %xmm1
+        movzwl    %ax, %edx
+        subss     %xmm5, %xmm1
+        lea       24(%rsp), %rax
+        movss     %xmm1, (%rax)
+        andl      $-32641, %edx
+        lea       20(%rsp), %rcx
+        movss     (%rcx), %xmm3
+        movss     (%rax), %xmm2
+        movzbl    %bl, %ebx
+        subss     %xmm2, %xmm3
+        movss     %xmm3, (%rcx)
+        movss     (%rcx), %xmm4
+        shll      $7, %ebx
+        subss     %xmm4, %xmm5
+        movss     %xmm5, (%rax)
+        orl       %ebx, %edx
+        movss     (%rcx), %xmm8
+        movss     (%rax), %xmm14
+        movw      %dx, 10(%rsp)
+        addss     %xmm6, %xmm14
+        movss     8(%rsp), %xmm7
+        mulss     %xmm7, %xmm14
+        mulss     %xmm7, %xmm8
+        lea       20(%rsp), %rdx
+        movl      $8388608, (%rdx)
+        addss     %xmm8, %xmm14
+        movss     (%rdx), %xmm10
+        movss     (%rdx), %xmm9
+        mulss     %xmm9, %xmm10
+        mulss     .L_2il0floatpacket.135(%rip), %xmm14
+        movss     %xmm10, (%rdx)
+        movss     (%rdx), %xmm13
+        addss     %xmm13, %xmm14
+        mulss     %xmm14, %xmm12
+        movss     %xmm14, 12(%rsp)
+        movss     %xmm12, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_45:
+
+        cmpl      $-159, %eax
+        jl        .LBL_3_47
+
+
+        movl      $1065353216, %eax
+        addl      $191, %ebx
+        movl      %eax, 8(%rsp)
+        shrl      $16, %eax
+        movzwl    %ax, %edx
+        movzbl    %bl, %ebx
+        andl      $-32641, %edx
+        shll      $7, %ebx
+        orl       %ebx, %edx
+        movw      %dx, 10(%rsp)
+        movss     8(%rsp), %xmm0
+        movss     .L_2il0floatpacket.135(%rip), %xmm1
+        mulss     %xmm0, %xmm5
+        mulss     %xmm1, %xmm12
+        lea       20(%rsp), %rdx
+        movl      $8388608, (%rdx)
+        movss     (%rdx), %xmm3
+        movss     (%rdx), %xmm2
+        mulss     %xmm2, %xmm3
+        mulss     %xmm12, %xmm5
+        movss     %xmm3, (%rdx)
+        movss     (%rdx), %xmm4
+        subss     %xmm4, %xmm5
+        movss     %xmm5, 12(%rsp)
+        movss     %xmm5, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_47:
+
+        lea       20(%rsp), %rax
+        movl      $8388608, (%rax)
+        movss     (%rax), %xmm1
+        movss     (%rax), %xmm0
+        mulss     %xmm0, %xmm1
+        movss     %xmm1, (%rax)
+        movss     (%rax), %xmm2
+        mulss     %xmm2, %xmm12
+        movss     %xmm12, 12(%rsp)
+        movss     %xmm12, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_48:
+
+        lea       20(%rsp), %rax
+        movl      $2130706432, (%rax)
+        movss     (%rax), %xmm1
+        movss     (%rax), %xmm0
+        mulss     %xmm0, %xmm1
+        movss     %xmm1, (%rax)
+        movss     (%rax), %xmm2
+        mulss     %xmm2, %xmm12
+        movss     %xmm12, 12(%rsp)
+        movss     %xmm12, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_49:
+
+        movb      11(%rsp), %al
+        lea       1472+__spow_la_CoutTab(%rip), %rcx
+        andb      $-128, %al
+        movb      72(%rsp), %dl
+        shrb      $7, %al
+        xorb      %al, %dl
+        movzbl    %dl, %ebx
+        movss     (%rcx,%rbx,4), %xmm0
+        mulss     %xmm0, %xmm0
+        mulss     %xmm12, %xmm0
+        movss     %xmm0, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_50:
+
+        testl     %edx, %edx
+        jne       .LBL_3_52
+
+
+        cmpl      $0, 8(%rsp)
+        jne       .LBL_3_19
+
+.LBL_3_52:
+
+        lea       1484+__spow_la_CoutTab(%rip), %rax
+        andl      $1, %edx
+        movl      (%rax,%rdx,4), %ecx
+        movl      %ecx, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_53:
+
+        movb      72(%rsp), %al
+        mulss     %xmm2, %xmm2
+        testb     %al, %al
+        je        .LBL_3_55
+
+
+        lea       1484+__spow_la_CoutTab(%rip), %rax
+        andl      %r12d, %edx
+        movl      $1, 64(%rsp)
+        movss     (%rax,%rdx,4), %xmm0
+        divss     %xmm2, %xmm0
+        movss     %xmm0, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_55:
+
+        lea       1484+__spow_la_CoutTab(%rip), %rax
+        andl      %r12d, %edx
+        movss     (%rax,%rdx,4), %xmm0
+        mulss     %xmm2, %xmm0
+        movss     %xmm0, (%r15)
+        jmp       .LBL_3_39
+
+.LBL_3_56:
+
+        testl     %ebx, %ebx
+        jne       .LBL_3_38
+
+
+        testl     %r13d, %r13d
+        jne       .LBL_3_13
+        jmp       .LBL_3_11
+
+.LBL_3_59:
+
+        movl      $0, 8(%rsp)
+        movss     %xmm2, 32(%rsp)
+        movss     %xmm0, 40(%rsp)
+        movss     %xmm3, 48(%rsp)
+        movss     %xmm4, 56(%rsp)
+
+        call      __spow_la_TestIntFunc
+
+
+        movss     56(%rsp), %xmm4
+        movl      %eax, %edx
+        movss     48(%rsp), %xmm3
+        movss     40(%rsp), %xmm0
+        movss     32(%rsp), %xmm2
+        testl     %r12d, %r12d
+        jne       .LBL_3_12
+
+
+        cmpl      $127, %r14d
+        jne       .LBL_3_12
+
+
+        testl     %ebx, %ebx
+        je        .LBL_3_13
+        jmp       .LBL_3_38
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_spow_cout_rare_internal,@function
+       .size   __svml_spow_cout_rare_internal,.-__svml_spow_cout_rare_internal
+..LN__svml_spow_cout_rare_internal.2:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_spow_data_internal_avx512:
+       .long   0
+       .long   3174420480
+       .long   3182632960
+       .long   3187958784
+       .long   3190685696
+       .long   3193338880
+       .long   3195920384
+       .long   3197247488
+       .long   3198473216
+       .long   3199668736
+       .long   3200835072
+       .long   3201974272
+       .long   3203086848
+       .long   3204174848
+       .long   3204843520
+       .long   3205364224
+       .long   1054113792
+       .long   1053115392
+       .long   1052137472
+       .long   1051179008
+       .long   1050238976
+       .long   1049316864
+       .long   1048248320
+       .long   1046471680
+       .long   1044726784
+       .long   1043013632
+       .long   1041329152
+       .long   1039161344
+       .long   1035907072
+       .long   1032706048
+       .long   1027317760
+       .long   1018830848
+       .long   0
+       .long   3067311503
+       .long   890262383
+       .long   916311190
+       .long   3058814943
+       .long   914835756
+       .long   3056977939
+       .long   3052757441
+       .long   905348701
+       .long   921801496
+       .long   900652061
+       .long   916473404
+       .long   3063873943
+       .long   3048020321
+       .long   3055557319
+       .long   921573027
+       .long   3050426335
+       .long   918574590
+       .long   913737309
+       .long   3045697063
+       .long   3029223305
+       .long   866568163
+       .long   3063765991
+       .long   3057827840
+       .long   910185982
+       .long   3062847489
+       .long   917965485
+       .long   903301016
+       .long   882039287
+       .long   910858241
+       .long   3059117133
+       .long   3029061382
+       .long   1065353216
+       .long   1065724611
+       .long   1066112450
+       .long   1066517459
+       .long   1066940400
+       .long   1067382066
+       .long   1067843287
+       .long   1068324927
+       .long   1068827891
+       .long   1069353124
+       .long   1069901610
+       .long   1070474380
+       .long   1071072509
+       .long   1071697119
+       .long   1072349383
+       .long   1073030525
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .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   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   1049872133
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   3199775725
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   1056323663
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   3208161851
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .long   849703116
+       .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   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   1228933104
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   3221225471
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1030247627
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1047916908
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .long   1060205090
+       .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   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   124
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   60
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   1123745792
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .type   __svml_spow_data_internal_avx512,@object
+       .size   __svml_spow_data_internal_avx512,1536
+       .align 32
+__spow_la_CoutTab:
+       .long   1065353216
+       .long   1063518208
+       .long   1061945344
+       .long   1060765696
+       .long   1059717120
+       .long   1058930688
+       .long   1058144256
+       .long   1057488896
+       .long   1056964608
+       .long   0
+       .long   0
+       .long   1043013120
+       .long   912347133
+       .long   1051178752
+       .long   920491638
+       .long   1055650560
+       .long   910207939
+       .long   3201407744
+       .long   3065009147
+       .long   3197864192
+       .long   3046757530
+       .long   3192020992
+       .long   3064938684
+       .long   3182631936
+       .long   3069048210
+       .long   0
+       .long   0
+       .long   1065353216
+       .long   1064828928
+       .long   1064304640
+       .long   1066008576
+       .long   1065877504
+       .long   1065746432
+       .long   1065615360
+       .long   1065484288
+       .long   1065353216
+       .long   0
+       .long   0
+       .long   1027315712
+       .long   915720665
+       .long   1035907072
+       .long   882039287
+       .long   3185459200
+       .long   3062137179
+       .long   3182631936
+       .long   3069048210
+       .long   3179763712
+       .long   3059908234
+       .long   3174420480
+       .long   3067311503
+       .long   3166121984
+       .long   3066774241
+       .long   0
+       .long   0
+       .long   1069056000
+       .long   1069006848
+       .long   1068957696
+       .long   1068908544
+       .long   1068875776
+       .long   1069318144
+       .long   1069301760
+       .long   1069268992
+       .long   1069252608
+       .long   1069219840
+       .long   1069203456
+       .long   1069170688
+       .long   1069154304
+       .long   1069121536
+       .long   1069105152
+       .long   1069072384
+       .long   1069056000
+       .long   0
+       .long   0
+       .long   1002471424
+       .long   906080490
+       .long   1010884608
+       .long   916991201
+       .long   1016135680
+       .long   905081895
+       .long   1018261504
+       .long   918286540
+       .long   3170725888
+       .long   3067774196
+       .long   3169697792
+       .long   3068476631
+       .long   3167637504
+       .long   3069858259
+       .long   3166609408
+       .long   3020376912
+       .long   3164540928
+       .long   3039629966
+       .long   3163504640
+       .long   3043319364
+       .long   3160350720
+       .long   3046704089
+       .long   3158269952
+       .long   3047249178
+       .long   3154083840
+       .long   3046609959
+       .long   3149905920
+       .long   3045301896
+       .long   3137339392
+       .long   3034784887
+       .long   0
+       .long   0
+       .long   1065353216
+       .long   0
+       .long   1065398766
+       .long   3014665830
+       .long   1065444562
+       .long   2982428624
+       .long   1065490608
+       .long   3015478276
+       .long   1065536902
+       .long   865643564
+       .long   1065583450
+       .long   3014725705
+       .long   1065630248
+       .long   868461790
+       .long   1065677302
+       .long   858550072
+       .long   1065724612
+       .long   3013096376
+       .long   1065772178
+       .long   3013897664
+       .long   1065820002
+       .long   3008545510
+       .long   1065868086
+       .long   3011512679
+       .long   1065916430
+       .long   864064219
+       .long   1065965038
+       .long   819487640
+       .long   1066013910
+       .long   3012212369
+       .long   1066063046
+       .long   856316133
+       .long   1066112450
+       .long   2992679841
+       .long   1066162122
+       .long   3001970243
+       .long   1066212064
+       .long   3013902756
+       .long   1066262276
+       .long   847285146
+       .long   1066312762
+       .long   3010032741
+       .long   1066363522
+       .long   3018332471
+       .long   1066414556
+       .long   856041677
+       .long   1066465868
+       .long   864808677
+       .long   1066517460
+       .long   3012318446
+       .long   1066569330
+       .long   863709796
+       .long   1066621484
+       .long   3016813593
+       .long   1066673920
+       .long   3018872036
+       .long   1066726640
+       .long   3006136850
+       .long   1066779646
+       .long   864474828
+       .long   1066832942
+       .long   3016286184
+       .long   1066886526
+       .long   3015052933
+       .long   1066940400
+       .long   857938801
+       .long   1066994568
+       .long   2993474036
+       .long   1067049030
+       .long   3009003152
+       .long   1067103786
+       .long   872191232
+       .long   1067158842
+       .long   3003929955
+       .long   1067214196
+       .long   3013071165
+       .long   1067269850
+       .long   3006375425
+       .long   1067325806
+       .long   843377209
+       .long   1067382066
+       .long   859906882
+       .long   1067438632
+       .long   848662531
+       .long   1067495506
+       .long   3018868367
+       .long   1067552686
+       .long   868910405
+       .long   1067610180
+       .long   3019699127
+       .long   1067667984
+       .long   3013023741
+       .long   1067726102
+       .long   3005475891
+       .long   1067784536
+       .long   3010626242
+       .long   1067843286
+       .long   866758993
+       .long   1067902356
+       .long   869265128
+       .long   1067961748
+       .long   3004575030
+       .long   1068021462
+       .long   3018425550
+       .long   1068081498
+       .long   867494524
+       .long   1068141862
+       .long   858118433
+       .long   1068202554
+       .long   3004476802
+       .long   1068263574
+       .long   866434624
+       .long   1068324926
+       .long   870990497
+       .long   1068386612
+       .long   858100843
+       .long   1068448632
+       .long   867002634
+       .long   1068510990
+       .long   3000050815
+       .long   1068573686
+       .long   3011271336
+       .long   1068636722
+       .long   3006477262
+       .long   1068700100
+       .long   840255625
+       .long   1068763822
+       .long   866280780
+       .long   1068827892
+       .long   3016492578
+       .long   1068892308
+       .long   3006218836
+       .long   1068957074
+       .long   2993076596
+       .long   1069022192
+       .long   3000356208
+       .long   1069087664
+       .long   3015220484
+       .long   1069153490
+       .long   856315927
+       .long   1069219674
+       .long   867308350
+       .long   1069286218
+       .long   863888852
+       .long   1069353124
+       .long   3007401960
+       .long   1069420392
+       .long   832069785
+       .long   1069488026
+       .long   3004369690
+       .long   1069556026
+       .long   866250961
+       .long   1069624396
+       .long   868902513
+       .long   1069693138
+       .long   851736822
+       .long   1069762252
+       .long   869934231
+       .long   1069831742
+       .long   869028661
+       .long   1069901610
+       .long   839559223
+       .long   1069971856
+       .long   867543588
+       .long   1070042484
+       .long   868789178
+       .long   1070113496
+       .long   859381756
+       .long   1070184894
+       .long   3010667426
+       .long   1070256678
+       .long   859604257
+       .long   1070328852
+       .long   872346226
+       .long   1070401420
+       .long   3010682756
+       .long   1070474380
+       .long   841546788
+       .long   1070547736
+       .long   869210393
+       .long   1070621492
+       .long   2996061011
+       .long   1070695648
+       .long   3013455510
+       .long   1070770206
+       .long   3009158570
+       .long   1070845168
+       .long   865699227
+       .long   1070920538
+       .long   866897902
+       .long   1070996318
+       .long   2955948569
+       .long   1071072508
+       .long   868931229
+       .long   1071149114
+       .long   3014890061
+       .long   1071226134
+       .long   3002473793
+       .long   1071303572
+       .long   861820308
+       .long   1071381432
+       .long   3008383516
+       .long   1071459714
+       .long   3010850715
+       .long   1071538420
+       .long   864181775
+       .long   1071617554
+       .long   870234352
+       .long   1071697118
+       .long   871115413
+       .long   1071777114
+       .long   872414852
+       .long   1071857546
+       .long   3012378998
+       .long   1071938412
+       .long   866137918
+       .long   1072019718
+       .long   870808707
+       .long   1072101466
+       .long   866840096
+       .long   1072183658
+       .long   857766040
+       .long   1072266296
+       .long   855693471
+       .long   1072349382
+       .long   870833444
+       .long   1072432920
+       .long   867585053
+       .long   1072516912
+       .long   846646433
+       .long   1072601360
+       .long   3008357562
+       .long   1072686266
+       .long   3007858250
+       .long   1072771632
+       .long   866626825
+       .long   1072857464
+       .long   3015943680
+       .long   1072943760
+       .long   2995197552
+       .long   1073030526
+       .long   3018513273
+       .long   1073117762
+       .long   3012791488
+       .long   1073205472
+       .long   3012359471
+       .long   1073293658
+       .long   3003728983
+       .long   1073382322
+       .long   870019626
+       .long   1073471470
+       .long   3012762127
+       .long   1073561100
+       .long   835668076
+       .long   1073651218
+       .long   3013837936
+       .long   980050793
+       .long   3199320925
+       .long   1042575209
+       .long   3182108321
+       .long   1060205080
+       .long   1047920112
+       .long   1029920839
+       .long   2130706432
+       .long   8388608
+       .long   0
+       .long   1065353216
+       .long   3212836864
+       .long   1203765248
+       .long   1069056000
+       .long   1166018560
+       .long   1602224128
+       .long   528482304
+       .long   0
+       .long   2147483648
+       .type   __spow_la_CoutTab,@object
+       .size   __spow_la_CoutTab,1520
+       .align 4
+.L_2il0floatpacket.121:
+       .long   0xbf800000
+       .type   .L_2il0floatpacket.121,@object
+       .size   .L_2il0floatpacket.121,4
+       .align 4
+.L_2il0floatpacket.122:
+       .long   0x5f800000
+       .type   .L_2il0floatpacket.122,@object
+       .size   .L_2il0floatpacket.122,4
+       .align 4
+.L_2il0floatpacket.123:
+       .long   0x3fb88000
+       .type   .L_2il0floatpacket.123,@object
+       .size   .L_2il0floatpacket.123,4
+       .align 4
+.L_2il0floatpacket.124:
+       .long   0x45800800
+       .type   .L_2il0floatpacket.124,@object
+       .size   .L_2il0floatpacket.124,4
+       .align 4
+.L_2il0floatpacket.125:
+       .long   0x3a6a6369
+       .type   .L_2il0floatpacket.125,@object
+       .size   .L_2il0floatpacket.125,4
+       .align 4
+.L_2il0floatpacket.126:
+       .long   0xbeb1c35d
+       .type   .L_2il0floatpacket.126,@object
+       .size   .L_2il0floatpacket.126,4
+       .align 4
+.L_2il0floatpacket.127:
+       .long   0x3e246f69
+       .type   .L_2il0floatpacket.127,@object
+       .size   .L_2il0floatpacket.127,4
+       .align 4
+.L_2il0floatpacket.128:
+       .long   0xbdab1ea1
+       .type   .L_2il0floatpacket.128,@object
+       .size   .L_2il0floatpacket.128,4
+       .align 4
+.L_2il0floatpacket.129:
+       .long   0x47c00000
+       .type   .L_2il0floatpacket.129,@object
+       .size   .L_2il0floatpacket.129,4
+       .align 4
+.L_2il0floatpacket.130:
+       .long   0x3f317218
+       .type   .L_2il0floatpacket.130,@object
+       .size   .L_2il0floatpacket.130,4
+       .align 4
+.L_2il0floatpacket.131:
+       .long   0x3e75fdf0
+       .type   .L_2il0floatpacket.131,@object
+       .size   .L_2il0floatpacket.131,4
+       .align 4
+.L_2il0floatpacket.132:
+       .long   0x3d635847
+       .type   .L_2il0floatpacket.132,@object
+       .size   .L_2il0floatpacket.132,4
+       .align 4
+.L_2il0floatpacket.133:
+       .long   0x00800000
+       .type   .L_2il0floatpacket.133,@object
+       .size   .L_2il0floatpacket.133,4
+       .align 4
+.L_2il0floatpacket.134:
+       .long   0x7f000000
+       .type   .L_2il0floatpacket.134,@object
+       .size   .L_2il0floatpacket.134,4
+       .align 4
+.L_2il0floatpacket.135:
+       .long   0x1f800000
+       .type   .L_2il0floatpacket.135,@object
+       .size   .L_2il0floatpacket.135,4
+       .align 4
+.L_2il0floatpacket.136:
+       .long   0x3f800000
+       .type   .L_2il0floatpacket.136,@object
+       .size   .L_2il0floatpacket.136,4
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_sin_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_sin_d_la.s
new file mode 100644 (file)
index 0000000..fcd2889
--- /dev/null
@@ -0,0 +1,17544 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *     ( low accuracy ( < 4ulp ) or enhanced performance ( half of correct mantissa ) implementation )
+ * 
+ *     Argument representation:
+ *     arg = N*Pi + R
+ * 
+ *     Result calculation:
+ *     sin(arg) = sin(N*Pi + R) = (-1)^N * sin(R)
+ *     sin(R) is approximated by corresponding polynomial
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_sin8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_sin8
+
+__svml_sin8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        xorl      %edx, %edx
+
+/* start arg. reduction */
+        vmovups   128+__svml_dsin_data_internal(%rip), %zmm3
+        vmovups   192+__svml_dsin_data_internal(%rip), %zmm9
+        vmovups   640+__svml_dsin_data_internal(%rip), %zmm7
+        vmovups   704+__svml_dsin_data_internal(%rip), %zmm5
+        vmovups   1216+__svml_dsin_data_internal(%rip), %zmm8
+        vmovups   1088+__svml_dsin_data_internal(%rip), %zmm10
+        vmovups   1024+__svml_dsin_data_internal(%rip), %zmm11
+        vmovups   768+__svml_dsin_data_internal(%rip), %zmm6
+        vmovups   960+__svml_dsin_data_internal(%rip), %zmm12
+        vmovups   320+__svml_dsin_data_internal(%rip), %zmm4
+        vmovups   896+__svml_dsin_data_internal(%rip), %zmm13
+        vmovups   64+__svml_dsin_data_internal(%rip), %zmm14
+        vmovaps   %zmm0, %zmm2
+        vfmadd213pd {rn-sae}, %zmm9, %zmm2, %zmm3
+        vcmppd    $0, {sae}, %zmm4, %zmm2, %k1
+        vpsllq    $63, %zmm3, %zmm0
+
+/* dN */
+        vsubpd    {rn-sae}, %zmm9, %zmm3, %zmm1
+        vandpd    __svml_dsin_data_internal(%rip), %zmm2, %zmm9
+        vxorpd    %zmm2, %zmm0, %zmm0{%k1}
+        vfnmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm7
+        vmovups   1152+__svml_dsin_data_internal(%rip), %zmm3
+        vcmppd    $22, {sae}, %zmm14, %zmm9, %k1
+        vfnmadd231pd {rn-sae}, %zmm1, %zmm5, %zmm7
+
+/* will branch if long arg. reduction needed */
+        kortestw  %k1, %k1
+        vmulpd    {rn-sae}, %zmm7, %zmm7, %zmm15
+        vfnmadd213pd {rn-sae}, %zmm7, %zmm6, %zmm1
+        vfmadd231pd {rn-sae}, %zmm15, %zmm8, %zmm3
+        vmulpd    {rn-sae}, %zmm1, %zmm15, %zmm8
+        vfmadd213pd {rn-sae}, %zmm10, %zmm15, %zmm3
+        vfmadd213pd {rn-sae}, %zmm11, %zmm15, %zmm3
+        vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm3
+        vfmadd213pd {rn-sae}, %zmm13, %zmm15, %zmm3
+
+/* mask will be used to decide whether long arg. reduction is needed */
+        vmovups   832+__svml_dsin_data_internal(%rip), %zmm13
+        vfmadd213pd {rn-sae}, %zmm13, %zmm15, %zmm3
+        vfmadd213pd {rn-sae}, %zmm1, %zmm8, %zmm3
+        vxorpd    %zmm0, %zmm3, %zmm0
+        jne       .LBL_1_12
+
+.LBL_1_2:
+
+        testl     %edx, %edx
+        jne       .LBL_1_4
+
+.LBL_1_3:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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_4:
+
+        vmovups   %zmm2, 64(%rsp)
+        vmovups   %zmm0, 128(%rsp)
+        je        .LBL_1_3
+
+
+        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_8:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_11
+
+.LBL_1_9:
+
+        incl      %r12d
+        cmpl      $8, %r12d
+        jl        .LBL_1_8
+
+
+        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_3
+       .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_11:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+
+        call      __svml_dsin_cout_rare_internal
+        jmp       .LBL_1_9
+       .cfi_restore 4
+       .cfi_restore 5
+       .cfi_restore 12
+       .cfi_restore 13
+       .cfi_restore 122
+       .cfi_restore 123
+       .cfi_restore 124
+       .cfi_restore 125
+
+.LBL_1_12:
+
+
+/* ............Check for Inf and NaNs................. */
+        vmovups   16512+__svml_dsin_data_internal_ha(%rip), %zmm1
+
+/*
+ * Get the (2^a / 2pi) mod 1 values from the table.
+ * Because VLANG doesn't have L-type gather, we need a trivial cast
+ */
+        lea       __svml_dsin_reduction_data_internal(%rip), %rax
+        vmovups   %zmm2, 64(%rsp)
+        vmovups   %zmm0, (%rsp)
+        vandpd    %zmm9, %zmm1, %zmm6
+        vxorpd    %zmm2, %zmm9, %zmm8
+        vpbroadcastq .L_2il0floatpacket.26(%rip), %zmm11
+        vcmppd    $4, {sae}, %zmm1, %zmm6, %k2
+        vmovups   %zmm8, 128(%rsp)
+        vmovaps   %zmm11, %zmm5
+
+/*
+ * The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND
+ * Now resume the original code.
+ * ..................... Table look-up ........................
+ */
+        lea       __svml_dsin_data_internal_ha(%rip), %rcx
+        vpandq    .L_2il0floatpacket.27(%rip){1to8}, %zmm9, %zmm4
+        vpandnq   %zmm6, %zmm6, %zmm5{%k2}
+        vpsrlq    $52, %zmm4, %zmm3
+        vcmppd    $3, {sae}, %zmm5, %zmm5, %k0
+        vpsllq    $1, %zmm3, %zmm15
+
+/*
+ * Break the P_xxx and m into 32-bit chunks ready for
+ * the long multiplication via 32x32->64 multiplications
+ */
+        vpbroadcastq .L_2il0floatpacket.30(%rip), %zmm6
+        kxnorw    %k0, %k0, %k3
+        kxnorw    %k0, %k0, %k2
+        kmovw     %k0, %edx
+        vpaddq    %zmm3, %zmm15, %zmm2
+        vpsllq    $3, %zmm2, %zmm14
+        vpmovqd   %zmm14, %ymm12
+        vpxord    %zmm1, %zmm1, %zmm1
+        vgatherdpd (%rax,%ymm12), %zmm1{%k3}
+        kxnorw    %k0, %k0, %k3
+        vpsrlq    $32, %zmm1, %zmm7
+        vpxord    %zmm5, %zmm5, %zmm5
+        vpxord    %zmm4, %zmm4, %zmm4
+        vgatherdpd 8(%rax,%ymm12), %zmm5{%k2}
+        vgatherdpd 16(%rax,%ymm12), %zmm4{%k3}
+        vpsrlq    $32, %zmm5, %zmm10
+        vpsrlq    $32, %zmm4, %zmm13
+
+/*
+ * Also get the significand as an integer
+ * NB: adding in the integer bit is wrong for denorms!
+ * To make this work for denorms we should do something slightly different
+ */
+        vpandq    .L_2il0floatpacket.28(%rip){1to8}, %zmm9, %zmm8
+        vpaddq    .L_2il0floatpacket.29(%rip){1to8}, %zmm8, %zmm15
+        vpsrlq    $32, %zmm15, %zmm8
+        vpmullq   %zmm10, %zmm8, %zmm3
+        vpandq    %zmm6, %zmm1, %zmm0
+        vpandq    %zmm6, %zmm5, %zmm12
+        vpandq    %zmm6, %zmm4, %zmm5
+        vpandq    %zmm6, %zmm15, %zmm14
+
+/* Now do the big multiplication and carry propagation */
+        vpmullq   %zmm0, %zmm8, %zmm4
+        vpmullq   %zmm12, %zmm8, %zmm2
+        vpmullq   %zmm13, %zmm8, %zmm1
+        vpmullq   %zmm5, %zmm8, %zmm8
+        vpmullq   %zmm0, %zmm14, %zmm5
+        vpmullq   %zmm12, %zmm14, %zmm0
+        vpmullq   %zmm13, %zmm14, %zmm13
+        vpmullq   %zmm7, %zmm14, %zmm7
+        vpmullq   %zmm10, %zmm14, %zmm10
+        vpsrlq    $32, %zmm13, %zmm14
+        vpsrlq    $32, %zmm0, %zmm13
+        vpsrlq    $32, %zmm5, %zmm12
+        vpsrlq    $32, %zmm10, %zmm15
+        vpaddq    %zmm14, %zmm1, %zmm1
+        vpaddq    %zmm13, %zmm2, %zmm14
+        vpaddq    %zmm12, %zmm4, %zmm2
+        vpaddq    %zmm15, %zmm3, %zmm13
+        vpandq    %zmm6, %zmm7, %zmm7
+        vpaddq    %zmm2, %zmm7, %zmm4
+        vpsrlq    $32, %zmm8, %zmm2
+        vpandq    %zmm6, %zmm0, %zmm0
+        vpaddq    %zmm1, %zmm0, %zmm1
+        vpaddq    %zmm1, %zmm2, %zmm15
+        vpsrlq    $32, %zmm15, %zmm8
+        vpandq    %zmm6, %zmm10, %zmm10
+        vpaddq    %zmm14, %zmm10, %zmm0
+        vpaddq    %zmm0, %zmm8, %zmm12
+
+/*
+ * Now round at the 2^-9 bit position for reduction mod pi/2^8
+ * instead of the original 2pi (but still with the same 2pi scaling).
+ * Use a shifter of 2^43 + 2^42.
+ * The N we get is our final version; it has an offset of
+ * 2^9 because of the implicit integer bit, and anyway for negative
+ * starting value it's a 2s complement thing. But we need to mask
+ * off the exponent part anyway so it's fine.
+ */
+        vpbroadcastq .L_2il0floatpacket.33(%rip), %zmm0
+        vpsrlq    $32, %zmm12, %zmm7
+        vpandq    %zmm6, %zmm5, %zmm3
+        vpaddq    %zmm13, %zmm3, %zmm5
+        vpaddq    %zmm5, %zmm7, %zmm3
+        vpsllq    $32, %zmm12, %zmm7
+        vpsrlq    $32, %zmm3, %zmm10
+        vpaddq    %zmm4, %zmm10, %zmm2
+
+/* Assemble reduced argument from the pieces */
+        vpandq    %zmm6, %zmm15, %zmm13
+        vpandq    %zmm6, %zmm3, %zmm8
+        vpsllq    $32, %zmm2, %zmm6
+        vpaddq    %zmm13, %zmm7, %zmm4
+
+/*
+ * If the magnitude of the input is <= 2^-20, then
+ * just pass through the input, since no reduction will be needed and
+ * the main path will only work accurately if the reduced argument is
+ * about >= 2^-70 (which it is for all large pi multiples)
+ */
+        vpbroadcastq .L_2il0floatpacket.42(%rip), %zmm13
+        vpaddq    %zmm8, %zmm6, %zmm15
+        vpsrlq    $12, %zmm15, %zmm1
+
+/*
+ * We want to incorporate the original sign now too.
+ * Do it here for convenience in getting the right N value,
+ * though we could wait right to the end if we were prepared
+ * to modify the sign of N later too.
+ * So get the appropriate sign mask now (or sooner).
+ */
+        vpandq    .L_2il0floatpacket.31(%rip){1to8}, %zmm9, %zmm3
+
+/*
+ * Create floating-point high part, implicitly adding integer bit 1
+ * Incorporate overall sign at this stage too.
+ */
+        vpxorq    .L_2il0floatpacket.32(%rip){1to8}, %zmm3, %zmm6
+        vporq     %zmm6, %zmm1, %zmm5
+        vaddpd    {rn-sae}, %zmm5, %zmm0, %zmm2
+        vsubpd    {rn-sae}, %zmm0, %zmm2, %zmm10
+        vsubpd    {rn-sae}, %zmm10, %zmm5, %zmm10
+        vpandq    .L_2il0floatpacket.36(%rip){1to8}, %zmm4, %zmm12
+        vpsllq    $28, %zmm12, %zmm14
+        vpsrlq    $24, %zmm4, %zmm4
+        vpandq    .L_2il0floatpacket.38(%rip){1to8}, %zmm15, %zmm15
+
+/*
+ * Create floating-point low and medium parts, respectively
+ * lo_23, ... lo_0, 0, ..., 0
+ * hi_11, ... hi_0, lo_63, ..., lo_24
+ * then subtract off the implicitly added integer bits,
+ * 2^-104 and 2^-52, respectively.
+ * Put the original sign into all of them at this stage.
+ */
+        vpxorq    .L_2il0floatpacket.35(%rip){1to8}, %zmm3, %zmm7
+        vpxorq    .L_2il0floatpacket.37(%rip){1to8}, %zmm3, %zmm1
+        vpsllq    $40, %zmm15, %zmm3
+        vporq     %zmm7, %zmm14, %zmm8
+        vsubpd    {rn-sae}, %zmm7, %zmm8, %zmm5
+        vandpd    .L_2il0floatpacket.41(%rip){1to8}, %zmm9, %zmm14
+        vcmppd    $22, {sae}, %zmm13, %zmm14, %k3
+        vcmppd    $26, {sae}, %zmm13, %zmm14, %k2
+        vporq     %zmm4, %zmm3, %zmm8
+        vporq     %zmm1, %zmm8, %zmm7
+        vsubpd    {rn-sae}, %zmm1, %zmm7, %zmm6
+
+/*
+ * Now multiply those numbers all by 2 pi, reasonably accurately.
+ * (RHi + RLo) * (pi_lead + pi_trail) ~=
+ * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead)
+ */
+        vpbroadcastq .L_2il0floatpacket.39(%rip), %zmm4
+
+/* Now add them up into 2 reasonably aligned pieces */
+        vaddpd    {rn-sae}, %zmm6, %zmm10, %zmm12
+        vmulpd    {rn-sae}, %zmm4, %zmm12, %zmm15
+        vsubpd    {rn-sae}, %zmm12, %zmm10, %zmm10
+        vmovaps   %zmm4, %zmm3
+        vfmsub213pd {rn-sae}, %zmm15, %zmm12, %zmm3
+        vmovaps   %zmm11, %zmm1
+
+/* Grab our final N value as an integer, appropriately masked mod 2^9 */
+        vpandq    .L_2il0floatpacket.34(%rip){1to8}, %zmm2, %zmm0
+        vaddpd    {rn-sae}, %zmm10, %zmm6, %zmm2
+        vaddpd    {rn-sae}, %zmm5, %zmm2, %zmm6
+        vpbroadcastq .L_2il0floatpacket.40(%rip), %zmm5
+        vfmadd213pd {rn-sae}, %zmm3, %zmm5, %zmm12
+        vfmadd213pd {rn-sae}, %zmm12, %zmm4, %zmm6
+        vmovups   16960+__svml_dsin_data_internal_ha(%rip), %zmm4
+        vpandnq   %zmm14, %zmm14, %zmm11{%k3}
+        vandpd    %zmm9, %zmm11, %zmm9
+        vpsllq    $5, %zmm0, %zmm11
+        kxnorw    %k0, %k0, %k3
+        vpandnq   %zmm14, %zmm14, %zmm1{%k2}
+        vandpd    %zmm15, %zmm1, %zmm8
+        vandpd    %zmm6, %zmm1, %zmm1
+        vpmovqd   %zmm11, %ymm6
+        vorpd     %zmm8, %zmm9, %zmm7
+        vmovups   17216+__svml_dsin_data_internal_ha(%rip), %zmm14
+        vmovups   17088+__svml_dsin_data_internal_ha(%rip), %zmm15
+
+/* ............... Polynomial approximation ................... */
+        vmulpd    {rn-sae}, %zmm7, %zmm7, %zmm9
+        kxnorw    %k0, %k0, %k2
+
+/* ................. Reconstruction: res_hi ................... */
+        vmovaps   %zmm7, %zmm0
+        vmovaps   %zmm7, %zmm8
+        vpxord    %zmm10, %zmm10, %zmm10
+        vgatherdpd (%rcx,%ymm6), %zmm10{%k2}
+        kxnorw    %k0, %k0, %k2
+        vpxord    %zmm12, %zmm12, %zmm12
+        vpxord    %zmm11, %zmm11, %zmm11
+        vgatherdpd 8(%rcx,%ymm6), %zmm12{%k3}
+        vgatherdpd 16(%rcx,%ymm6), %zmm11{%k2}
+        kxnorw    %k0, %k0, %k3
+        vfmadd213pd {rn-sae}, %zmm11, %zmm12, %zmm0
+        vfmadd132pd {rn-sae}, %zmm10, %zmm0, %zmm8
+
+/* ................. Reconstruction: res_lo ................... */
+        vsubpd    {rn-sae}, %zmm0, %zmm11, %zmm3
+        vsubpd    {rn-sae}, %zmm8, %zmm0, %zmm2
+        vmovups   17024+__svml_dsin_data_internal_ha(%rip), %zmm0
+        vfmadd231pd {rn-sae}, %zmm7, %zmm12, %zmm3
+        vfmadd231pd {rn-sae}, %zmm10, %zmm7, %zmm2
+        vfmadd231pd {rn-sae}, %zmm9, %zmm0, %zmm4
+        vaddpd    {rn-sae}, %zmm3, %zmm2, %zmm13
+        vaddpd    {rn-sae}, %zmm12, %zmm10, %zmm2
+        vmulpd    {rn-sae}, %zmm9, %zmm4, %zmm5
+        vmulpd    {rn-sae}, %zmm7, %zmm5, %zmm0
+
+/* ................. Reconstruction: res_lo+corr ................... */
+        vfnmadd213pd {rn-sae}, %zmm2, %zmm11, %zmm7
+        vfmadd213pd {rn-sae}, %zmm13, %zmm2, %zmm0
+        vmovups   17152+__svml_dsin_data_internal_ha(%rip), %zmm13
+        vmovups   64(%rsp), %zmm2
+        vfmadd231pd {rn-sae}, %zmm9, %zmm14, %zmm13
+        vfmadd213pd {rn-sae}, %zmm15, %zmm9, %zmm13
+        vmulpd    {rn-sae}, %zmm9, %zmm13, %zmm3
+        vfmadd213pd {rn-sae}, %zmm0, %zmm11, %zmm3
+        vmovups   (%rsp), %zmm0
+        vpxord    %zmm11, %zmm11, %zmm11
+        vgatherdpd 24(%rcx,%ymm6), %zmm11{%k3}
+        vfmadd213pd {rn-sae}, %zmm11, %zmm7, %zmm1
+        vaddpd    {rn-sae}, %zmm1, %zmm3, %zmm7
+
+/* .................. Final reconstruction ................... */
+        vaddpd    {rn-sae}, %zmm7, %zmm8, %zmm9
+        vxorpd    128(%rsp), %zmm9, %zmm0{%k1}
+        jmp       .LBL_1_2
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sin8,@function
+       .size   __svml_sin8,.-__svml_sin8
+..LN__svml_sin8.0:
+
+.L_2__routine_start___svml_dsin_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dsin_cout_rare_internal:
+
+
+       .cfi_startproc
+..L67:
+
+        movzwl    6(%rdi), %eax
+        andl      $32752, %eax
+        movsd     (%rdi), %xmm1
+        movb      7(%rdi), %dl
+        andb      $127, %dl
+        movsd     %xmm1, -8(%rsp)
+        cmpl      $32752, %eax
+        jne       .LBL_2_6
+
+
+        cmpl      $0, -8(%rsp)
+        jne       .LBL_2_5
+
+
+        movb      %dl, -1(%rsp)
+        cmpl      $2146435072, -4(%rsp)
+        jne       .LBL_2_5
+
+
+        movsd     __dsin_la_CoutTab(%rip), %xmm0
+        movl      $1, %eax
+        mulsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_5:
+
+        mulsd     %xmm1, %xmm1
+        xorl      %eax, %eax
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_6:
+
+        xorl      %eax, %eax
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dsin_cout_rare_internal,@function
+       .size   __svml_dsin_cout_rare_internal,.-__svml_dsin_cout_rare_internal
+..LN__svml_dsin_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dsin_data_internal:
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   0
+       .long   1097859072
+       .long   0
+       .long   1097859072
+       .long   0
+       .long   1097859072
+       .long   0
+       .long   1097859072
+       .long   0
+       .long   1097859072
+       .long   0
+       .long   1097859072
+       .long   0
+       .long   1097859072
+       .long   0
+       .long   1097859072
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   1841940611
+       .long   1070882608
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .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   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   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   1073741824
+       .long   1074340347
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   0
+       .long   1048855597
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   2147483648
+       .long   1023952536
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1880851354
+       .long   998820945
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   1413754136
+       .long   1074340347
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   856972294
+       .long   1017226790
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   688016905
+       .long   962338001
+       .long   1431655592
+       .long   3217380693
+       .long   1431655592
+       .long   3217380693
+       .long   1431655592
+       .long   3217380693
+       .long   1431655592
+       .long   3217380693
+       .long   1431655592
+       .long   3217380693
+       .long   1431655592
+       .long   3217380693
+       .long   1431655592
+       .long   3217380693
+       .long   1431655592
+       .long   3217380693
+       .long   286303603
+       .long   1065423121
+       .long   286303603
+       .long   1065423121
+       .long   286303603
+       .long   1065423121
+       .long   286303603
+       .long   1065423121
+       .long   286303603
+       .long   1065423121
+       .long   286303603
+       .long   1065423121
+       .long   286303603
+       .long   1065423121
+       .long   286303603
+       .long   1065423121
+       .long   430332381
+       .long   3207201184
+       .long   430332381
+       .long   3207201184
+       .long   430332381
+       .long   3207201184
+       .long   430332381
+       .long   3207201184
+       .long   430332381
+       .long   3207201184
+       .long   430332381
+       .long   3207201184
+       .long   430332381
+       .long   3207201184
+       .long   430332381
+       .long   3207201184
+       .long   2154487066
+       .long   1053236707
+       .long   2154487066
+       .long   1053236707
+       .long   2154487066
+       .long   1053236707
+       .long   2154487066
+       .long   1053236707
+       .long   2154487066
+       .long   1053236707
+       .long   2154487066
+       .long   1053236707
+       .long   2154487066
+       .long   1053236707
+       .long   2154487066
+       .long   1053236707
+       .long   1521109587
+       .long   3193628213
+       .long   1521109587
+       .long   3193628213
+       .long   1521109587
+       .long   3193628213
+       .long   1521109587
+       .long   3193628213
+       .long   1521109587
+       .long   3193628213
+       .long   1521109587
+       .long   3193628213
+       .long   1521109587
+       .long   3193628213
+       .long   1521109587
+       .long   3193628213
+       .long   3993098302
+       .long   1038487147
+       .long   3993098302
+       .long   1038487147
+       .long   3993098302
+       .long   1038487147
+       .long   3993098302
+       .long   1038487147
+       .long   3993098302
+       .long   1038487147
+       .long   3993098302
+       .long   1038487147
+       .long   3993098302
+       .long   1038487147
+       .long   3993098302
+       .long   1038487147
+       .long   2124375536
+       .long   3177836881
+       .long   2124375536
+       .long   3177836881
+       .long   2124375536
+       .long   3177836881
+       .long   2124375536
+       .long   3177836881
+       .long   2124375536
+       .long   3177836881
+       .long   2124375536
+       .long   3177836881
+       .long   2124375536
+       .long   3177836881
+       .long   2124375536
+       .long   3177836881
+       .type   __svml_dsin_data_internal,@object
+       .size   __svml_dsin_data_internal,1280
+       .align 64
+__svml_dsin_data_internal_ha:
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2376373521
+       .long   3205741868
+       .long   0
+       .long   1072693248
+       .long   4242458500
+       .long   1065951697
+       .long   2684354560
+       .long   1009354638
+       .long   3650591271
+       .long   3207838971
+       .long   0
+       .long   1072693248
+       .long   4154680958
+       .long   1067000149
+       .long   0
+       .long   3153796451
+       .long   69373323
+       .long   3209049152
+       .long   0
+       .long   1072693248
+       .long   1972655565
+       .long   1067636837
+       .long   1073741824
+       .long   1009157878
+       .long   220529721
+       .long   3209935929
+       .long   0
+       .long   1072693248
+       .long   4044216340
+       .long   1068048229
+       .long   0
+       .long   3156808381
+       .long   3810305407
+       .long   3210663220
+       .long   0
+       .long   1072693248
+       .long   2046304480
+       .long   1068459374
+       .long   3758096384
+       .long   3156402667
+       .long   4269262315
+       .long   3211145810
+       .long   0
+       .long   1072693248
+       .long   2462980598
+       .long   1068684576
+       .long   2684354560
+       .long   3158941832
+       .long   1118107366
+       .long   3211670787
+       .long   0
+       .long   1072693248
+       .long   177906713
+       .long   1068889808
+       .long   3221225472
+       .long   3159310370
+       .long   393047345
+       .long   3212032302
+       .long   0
+       .long   1072693248
+       .long   3156849708
+       .long   1069094822
+       .long   3221225472
+       .long   3158189848
+       .long   1227670166
+       .long   3212375297
+       .long   0
+       .long   1072693248
+       .long   3349070549
+       .long   1069299589
+       .long   3758096384
+       .long   3156538269
+       .long   2402293340
+       .long   3212758471
+       .long   0
+       .long   1072693248
+       .long   1453945614
+       .long   1069504078
+       .long   1610612736
+       .long   1011492612
+       .long   2592747447
+       .long   3213009315
+       .long   0
+       .long   1072693248
+       .long   3470456183
+       .long   1069627888
+       .long   1073741824
+       .long   3160744771
+       .long   1037482584
+       .long   3213240992
+       .long   0
+       .long   1072693248
+       .long   1854824762
+       .long   1069729808
+       .long   2684354560
+       .long   1011953664
+       .long   3451754846
+       .long   3213492662
+       .long   0
+       .long   1072693248
+       .long   2972270170
+       .long   1069831542
+       .long   1073741824
+       .long   3159524770
+       .long   1672287667
+       .long   3213764289
+       .long   0
+       .long   1072693248
+       .long   1149976518
+       .long   1069933076
+       .long   1610612736
+       .long   1013264895
+       .long   2346447124
+       .long   3213970635
+       .long   0
+       .long   1072693248
+       .long   3729833777
+       .long   1070034393
+       .long   3758096384
+       .long   1013044718
+       .long   18115067
+       .long   3214126342
+       .long   0
+       .long   1072693248
+       .long   1013556747
+       .long   1070135480
+       .long   2684354560
+       .long   3160567065
+       .long   2660899430
+       .long   3214291960
+       .long   0
+       .long   1072693248
+       .long   632292433
+       .long   1070236320
+       .long   3758096384
+       .long   3160963333
+       .long   1935888103
+       .long   3214467466
+       .long   0
+       .long   1072693248
+       .long   1786662755
+       .long   1070336898
+       .long   2147483648
+       .long   3155882307
+       .long   288924873
+       .long   3214652833
+       .long   0
+       .long   1072693248
+       .long   3846521617
+       .long   1070437199
+       .long   536870912
+       .long   1013406610
+       .long   2377770267
+       .long   3214848032
+       .long   0
+       .long   1072693248
+       .long   2065784603
+       .long   1070537209
+       .long   3758096384
+       .long   3160681966
+       .long   3250111450
+       .long   3214993525
+       .long   0
+       .long   1072693248
+       .long   238550446
+       .long   1070616504
+       .long   2684354560
+       .long   3154383565
+       .long   2306566604
+       .long   3215100913
+       .long   0
+       .long   1072693248
+       .long   1655830135
+       .long   1070666194
+       .long   0
+       .long   1014506690
+       .long   1913604284
+       .long   3215213171
+       .long   0
+       .long   1072693248
+       .long   1062001470
+       .long   1070715716
+       .long   0
+       .long   3160875220
+       .long   2476548698
+       .long   3215330282
+       .long   0
+       .long   1072693248
+       .long   785751814
+       .long   1070765062
+       .long   2684354560
+       .long   3161838221
+       .long   1261629236
+       .long   3215452229
+       .long   0
+       .long   1072693248
+       .long   3269558610
+       .long   1070814224
+       .long   536870912
+       .long   3161705216
+       .long   997322465
+       .long   3215578993
+       .long   0
+       .long   1072693248
+       .long   2484561409
+       .long   1070863196
+       .long   1073741824
+       .long   1014024572
+       .long   1296295961
+       .long   3215710555
+       .long   0
+       .long   1072693248
+       .long   1115219818
+       .long   1070911970
+       .long   0
+       .long   1013072242
+       .long   2962723252
+       .long   3215846895
+       .long   0
+       .long   1072693248
+       .long   1974149085
+       .long   1070960538
+       .long   3221225472
+       .long   3156147648
+       .long   4002549419
+       .long   3215985292
+       .long   0
+       .long   1072693248
+       .long   3711903686
+       .long   1071008893
+       .long   1073741824
+       .long   1011944747
+       .long   1234824733
+       .long   3216058210
+       .long   0
+       .long   1072693248
+       .long   821708191
+       .long   1071057029
+       .long   3758096384
+       .long   3161738009
+       .long   3996842794
+       .long   3216133484
+       .long   0
+       .long   1072693248
+       .long   824036583
+       .long   1071104937
+       .long   0
+       .long   1008313330
+       .long   2255197647
+       .long   3216211105
+       .long   0
+       .long   1072693248
+       .long   2796464483
+       .long   1071152610
+       .long   3221225472
+       .long   3160878317
+       .long   1638976426
+       .long   3216291060
+       .long   0
+       .long   1072693248
+       .long   1673302999
+       .long   1071200042
+       .long   2147483648
+       .long   1013351473
+       .long   1972483635
+       .long   3216373337
+       .long   0
+       .long   1072693248
+       .long   1135144330
+       .long   1071247225
+       .long   536870912
+       .long   1013373569
+       .long   1577996576
+       .long   3216457924
+       .long   0
+       .long   1072693248
+       .long   728580042
+       .long   1071294152
+       .long   1610612736
+       .long   3162332944
+       .long   1578746984
+       .long   3216544808
+       .long   0
+       .long   1072693248
+       .long   165764288
+       .long   1071340816
+       .long   3221225472
+       .long   1013298018
+       .long   1612193054
+       .long   3216633976
+       .long   0
+       .long   1072693248
+       .long   3623952103
+       .long   1071387209
+       .long   2684354560
+       .long   3161985962
+       .long   4133449816
+       .long   3216725414
+       .long   0
+       .long   1072693248
+       .long   2570175582
+       .long   1071433326
+       .long   1073741824
+       .long   1012303118
+       .long   1539072807
+       .long   3216819110
+       .long   0
+       .long   1072693248
+       .long   1535566729
+       .long   1071479159
+       .long   2147483648
+       .long   1014321388
+       .long   1945768569
+       .long   3216915048
+       .long   0
+       .long   1072693248
+       .long   939980347
+       .long   1071524701
+       .long   0
+       .long   1012796809
+       .long   3429717432
+       .long   3217013214
+       .long   0
+       .long   1072693248
+       .long   1391425750
+       .long   1071569945
+       .long   3221225472
+       .long   3162362103
+       .long   1312926554
+       .long   3217072381
+       .long   0
+       .long   1072693248
+       .long   3690502842
+       .long   1071614884
+       .long   3221225472
+       .long   3157453855
+       .long   1663679671
+       .long   3217123670
+       .long   0
+       .long   1072693248
+       .long   2269920951
+       .long   1071652092
+       .long   3758096384
+       .long   3161672245
+       .long   3952756490
+       .long   3217176050
+       .long   0
+       .long   1072693248
+       .long   2569207790
+       .long   1071674247
+       .long   1073741824
+       .long   3163183617
+       .long   69903290
+       .long   3217229515
+       .long   0
+       .long   1072693248
+       .long   1297975695
+       .long   1071696240
+       .long   3221225472
+       .long   3163083735
+       .long   2678847490
+       .long   3217284054
+       .long   0
+       .long   1072693248
+       .long   1411074851
+       .long   1071718067
+       .long   1610612736
+       .long   3163484731
+       .long   2272832445
+       .long   3217339661
+       .long   0
+       .long   1072693248
+       .long   1675549513
+       .long   1071739725
+       .long   3221225472
+       .long   3163025138
+       .long   1539668340
+       .long   3217396327
+       .long   0
+       .long   1072693248
+       .long   967731400
+       .long   1071761211
+       .long   536870912
+       .long   1015752157
+       .long   2482246777
+       .long   3217454043
+       .long   0
+       .long   1072693248
+       .long   2570316633
+       .long   1071782521
+       .long   1610612736
+       .long   3162744753
+       .long   2129093113
+       .long   3217512801
+       .long   0
+       .long   1072693248
+       .long   1289556703
+       .long   1071803653
+       .long   536870912
+       .long   3162888820
+       .long   1129922991
+       .long   3217572592
+       .long   0
+       .long   1072693248
+       .long   637203434
+       .long   1071824603
+       .long   3221225472
+       .long   3159443841
+       .long   3761365757
+       .long   3217633406
+       .long   0
+       .long   1072693248
+       .long   4242632757
+       .long   1071845367
+       .long   536870912
+       .long   3161390278
+       .long   752919289
+       .long   3217695236
+       .long   0
+       .long   1072693248
+       .long   2969983475
+       .long   1071865944
+       .long   2684354560
+       .long   3162635443
+       .long   3652612115
+       .long   3217758070
+       .long   0
+       .long   1072693248
+       .long   689983673
+       .long   1071886330
+       .long   3758096384
+       .long   1014906405
+       .long   1883353036
+       .long   3217821901
+       .long   0
+       .long   1072693248
+       .long   1397053140
+       .long   1071906521
+       .long   1610612736
+       .long   1015245078
+       .long   1403757309
+       .long   3217886718
+       .long   0
+       .long   1072693248
+       .long   621354454
+       .long   1071926515
+       .long   536870912
+       .long   1013450602
+       .long   3239527685
+       .long   3217952511
+       .long   0
+       .long   1072693248
+       .long   2610628921
+       .long   1071946308
+       .long   1610612736
+       .long   3162668769
+       .long   3489768009
+       .long   3218019271
+       .long   0
+       .long   1072693248
+       .long   3152274921
+       .long   1071965898
+       .long   3758096384
+       .long   1013170835
+       .long   2371640770
+       .long   1070588851
+       .long   0
+       .long   1071644672
+       .long   2460177814
+       .long   1071985282
+       .long   2147483648
+       .long   3162116843
+       .long   2309668539
+       .long   1070520188
+       .long   0
+       .long   1071644672
+       .long   881650848
+       .long   1072004457
+       .long   2147483648
+       .long   3162986272
+       .long   2081278341
+       .long   1070450589
+       .long   0
+       .long   1071644672
+       .long   3194290572
+       .long   1072023419
+       .long   2147483648
+       .long   1015048682
+       .long   3753901657
+       .long   1070380064
+       .long   0
+       .long   1071644672
+       .long   1427975391
+       .long   1072042167
+       .long   1073741824
+       .long   3161608627
+       .long   1403691706
+       .long   1070308625
+       .long   0
+       .long   1071644672
+       .long   636516413
+       .long   1072060697
+       .long   3758096384
+       .long   1015823716
+       .long   2583490354
+       .long   1070236281
+       .long   0
+       .long   1071644672
+       .long   1719614413
+       .long   1072079006
+       .long   0
+       .long   3163282740
+       .long   2546065654
+       .long   1070163044
+       .long   0
+       .long   1071644672
+       .long   1424664751
+       .long   1072097092
+       .long   3221225472
+       .long   3163405315
+       .long   1416934267
+       .long   1070088925
+       .long   0
+       .long   1071644672
+       .long   938475414
+       .long   1072114952
+       .long   0
+       .long   1015076079
+       .long   4187227697
+       .long   1070013934
+       .long   0
+       .long   1071644672
+       .long   1594061409
+       .long   1072132583
+       .long   2147483648
+       .long   1014353870
+       .long   3526603391
+       .long   1069938084
+       .long   0
+       .long   1071644672
+       .long   577417135
+       .long   1072149983
+       .long   2684354560
+       .long   3161519415
+       .long   1250776663
+       .long   1069861386
+       .long   0
+       .long   1071644672
+       .long   3814135665
+       .long   1072167148
+       .long   3221225472
+       .long   3163146456
+       .long   4019165092
+       .long   1069783850
+       .long   0
+       .long   1071644672
+       .long   201299822
+       .long   1072184078
+       .long   3758096384
+       .long   3161912352
+       .long   1852581091
+       .long   1069705490
+       .long   0
+       .long   1071644672
+       .long   263859903
+       .long   1072200768
+       .long   0
+       .long   3162692284
+       .long   2485417816
+       .long   1069626316
+       .long   0
+       .long   1071644672
+       .long   1796544321
+       .long   1072217216
+       .long   536870912
+       .long   3162686945
+       .long   2586490530
+       .long   1069545162
+       .long   0
+       .long   1071644672
+       .long   2750387213
+       .long   1072233420
+       .long   2147483648
+       .long   3160858537
+       .long   1224902090
+       .long   1069383633
+       .long   0
+       .long   1071644672
+       .long   1234330619
+       .long   1072249378
+       .long   2684354560
+       .long   1015272473
+       .long   2285031318
+       .long   1069220549
+       .long   0
+       .long   1071644672
+       .long   4106737474
+       .long   1072265086
+       .long   2684354560
+       .long   3162592377
+       .long   3876290983
+       .long   1069055935
+       .long   0
+       .long   1071644672
+       .long   1207142209
+       .long   1072280544
+       .long   2147483648
+       .long   3162705634
+       .long   802660176
+       .long   1068889817
+       .long   0
+       .long   1071644672
+       .long   4012486548
+       .long   1072295747
+       .long   2684354560
+       .long   1014701564
+       .long   1726519029
+       .long   1068722218
+       .long   0
+       .long   1071644672
+       .long   2688952194
+       .long   1072310695
+       .long   0
+       .long   3161532603
+       .long   3382663878
+       .long   1068553164
+       .long   0
+       .long   1071644672
+       .long   453180130
+       .long   1072325385
+       .long   1073741824
+       .long   3162411281
+       .long   2598800519
+       .long   1068266419
+       .long   0
+       .long   1071644672
+       .long   688824739
+       .long   1072339814
+       .long   3758096384
+       .long   1010431536
+       .long   1038988426
+       .long   1067922646
+       .long   0
+       .long   1071644672
+       .long   2653017361
+       .long   1072353980
+       .long   0
+       .long   3162800062
+       .long   1102361128
+       .long   1067576117
+       .long   0
+       .long   1071644672
+       .long   1477771776
+       .long   1072367882
+       .long   536870912
+       .long   3163104986
+       .long   2880516564
+       .long   1067003401
+       .long   0
+       .long   1071644672
+       .long   1056266002
+       .long   1072381517
+       .long   2684354560
+       .long   3163469496
+       .long   1220541286
+       .long   1066197478
+       .long   0
+       .long   1071644672
+       .long   1159294526
+       .long   1072394883
+       .long   536870912
+       .long   3163276959
+       .long   1279178457
+       .long   1064107143
+       .long   0
+       .long   1071644672
+       .long   1731563730
+       .long   1072407978
+       .long   536870912
+       .long   1015540302
+       .long   31019393
+       .long   3212646089
+       .long   0
+       .long   1071644672
+       .long   2892993834
+       .long   1072420800
+       .long   536870912
+       .long   3163039143
+       .long   3506991783
+       .long   3214032490
+       .long   0
+       .long   1071644672
+       .long   645027145
+       .long   1072433348
+       .long   3221225472
+       .long   1012602239
+       .long   2140183630
+       .long   3214756396
+       .long   0
+       .long   1071644672
+       .long   4051746225
+       .long   1072445618
+       .long   1610612736
+       .long   3161907377
+       .long   600368053
+       .long   3215209541
+       .long   0
+       .long   1071644672
+       .long   881357723
+       .long   1072457611
+       .long   3221225472
+       .long   1013810890
+       .long   913431823
+       .long   3215576203
+       .long   0
+       .long   1071644672
+       .long   557060597
+       .long   1072469323
+       .long   0
+       .long   3159554934
+       .long   1073154251
+       .long   3215945137
+       .long   0
+       .long   1071644672
+       .long   4093443164
+       .long   1072480752
+       .long   536870912
+       .long   1014912865
+       .long   3631910143
+       .long   3216149439
+       .long   0
+       .long   1071644672
+       .long   4097623923
+       .long   1072491898
+       .long   2684354560
+       .long   3160308587
+       .long   1380647130
+       .long   3216336095
+       .long   0
+       .long   1071644672
+       .long   1950234076
+       .long   1072502759
+       .long   536870912
+       .long   3159425498
+       .long   4049357271
+       .long   3216523802
+       .long   0
+       .long   1071644672
+       .long   3511535930
+       .long   1072513332
+       .long   2147483648
+       .long   3162828626
+       .long   1896722595
+       .long   3216712534
+       .long   0
+       .long   1071644672
+       .long   1942611595
+       .long   1072523617
+       .long   3221225472
+       .long   3162410081
+       .long   1699043957
+       .long   3216902261
+       .long   0
+       .long   1071644672
+       .long   3476196678
+       .long   1072533611
+       .long   0
+       .long   1014257638
+       .long   3296146332
+       .long   1069485732
+       .long   0
+       .long   1070596096
+       .long   1647878299
+       .long   1072543314
+       .long   3758096384
+       .long   3162169063
+       .long   3286832763
+       .long   1069294100
+       .long   0
+       .long   1070596096
+       .long   3066872380
+       .long   1072552723
+       .long   3221225472
+       .long   1015561271
+       .long   1962712856
+       .long   1069101559
+       .long   0
+       .long   1070596096
+       .long   1647164971
+       .long   1072561838
+       .long   2147483648
+       .long   3162838250
+       .long   3601629044
+       .long   1068908137
+       .long   0
+       .long   1070596096
+       .long   83265253
+       .long   1072570657
+       .long   1610612736
+       .long   3162510535
+       .long   165911977
+       .long   1068713865
+       .long   0
+       .long   1070596096
+       .long   1261158782
+       .long   1072579178
+       .long   2147483648
+       .long   1015711544
+       .long   1348311045
+       .long   1068518770
+       .long   0
+       .long   1070596096
+       .long   3964199186
+       .long   1072587400
+       .long   3758096384
+       .long   3160501078
+       .long   386665102
+       .long   1068146822
+       .long   0
+       .long   1070596096
+       .long   2873938189
+       .long   1072595323
+       .long   1610612736
+       .long   3162311422
+       .long   1991047213
+       .long   1067753521
+       .long   0
+       .long   1070596096
+       .long   1455828442
+       .long   1072602945
+       .long   3758096384
+       .long   1015505073
+       .long   4107121629
+       .long   1067267139
+       .long   0
+       .long   1070596096
+       .long   3370060660
+       .long   1072610264
+       .long   1610612736
+       .long   1014787212
+       .long   723478390
+       .long   1066474790
+       .long   0
+       .long   1070596096
+       .long   3882371427
+       .long   1072617280
+       .long   2147483648
+       .long   1014923975
+       .long   2382326656
+       .long   1064562179
+       .long   0
+       .long   1070596096
+       .long   2749658050
+       .long   1072623992
+       .long   1610612736
+       .long   1015427338
+       .long   2614369450
+       .long   3212624080
+       .long   0
+       .long   1070596096
+       .long   4220661975
+       .long   1072630398
+       .long   3221225472
+       .long   1014312058
+       .long   3587565429
+       .long   3214108032
+       .long   0
+       .long   1070596096
+       .long   4151720666
+       .long   1072636498
+       .long   0
+       .long   3162639544
+       .long   2886567144
+       .long   3214910444
+       .long   0
+       .long   1070596096
+       .long   2892293513
+       .long   1072642291
+       .long   2684354560
+       .long   3162340271
+       .long   1765797566
+       .long   3215324543
+       .long   0
+       .long   1070596096
+       .long   990588717
+       .long   1072647776
+       .long   3758096384
+       .long   3162041857
+       .long   240740309
+       .long   3215727903
+       .long   0
+       .long   1070596096
+       .long   3489094832
+       .long   1072652951
+       .long   536870912
+       .long   1014325783
+       .long   2034433221
+       .long   1068349287
+       .long   0
+       .long   1069547520
+       .long   2745245815
+       .long   1072657817
+       .long   3221225472
+       .long   1015566129
+       .long   304938777
+       .long   1067944017
+       .long   0
+       .long   1069547520
+       .long   4201728937
+       .long   1072662372
+       .long   1610612736
+       .long   1014674006
+       .long   3299146087
+       .long   1067537882
+       .long   0
+       .long   1069547520
+       .long   617154971
+       .long   1072666617
+       .long   3758096384
+       .long   3163433696
+       .long   1953696209
+       .long   1066811523
+       .long   0
+       .long   1069547520
+       .long   2131272983
+       .long   1072670549
+       .long   3221225472
+       .long   3163005096
+       .long   3987691371
+       .long   1065590540
+       .long   0
+       .long   1069547520
+       .long   1905645377
+       .long   1072674169
+       .long   1610612736
+       .long   1014087596
+       .long   718380601
+       .long   3211081269
+       .long   0
+       .long   1069547520
+       .long   1893834707
+       .long   1072677476
+       .long   1610612736
+       .long   1015147654
+       .long   3272206680
+       .long   3213771729
+       .long   0
+       .long   1069547520
+       .long   4251821691
+       .long   1072680469
+       .long   2147483648
+       .long   3161841007
+       .long   257503056
+       .long   3214647653
+       .long   0
+       .long   1069547520
+       .long   2748392742
+       .long   1072683149
+       .long   536870912
+       .long   3163061750
+       .long   711626851
+       .long   1066916672
+       .long   0
+       .long   1068498944
+       .long   4240268041
+       .long   1072685514
+       .long   536870912
+       .long   1013588963
+       .long   2523975598
+       .long   1065789700
+       .long   0
+       .long   1068498944
+       .long   2902558778
+       .long   1072687565
+       .long   3221225472
+       .long   1013260780
+       .long   3237733378
+       .long   3209908784
+       .long   0
+       .long   1068498944
+       .long   1703834029
+       .long   1072689301
+       .long   3758096384
+       .long   1015028364
+       .long   1003003824
+       .long   3213591144
+       .long   0
+       .long   1068498944
+       .long   3816385918
+       .long   1072690721
+       .long   536870912
+       .long   3161216956
+       .long   2896342633
+       .long   1064747819
+       .long   0
+       .long   1067450368
+       .long   4026464093
+       .long   1072691826
+       .long   3221225472
+       .long   3163075789
+       .long   561145352
+       .long   3212540584
+       .long   0
+       .long   1067450368
+       .long   1619315981
+       .long   1072692616
+       .long   1073741824
+       .long   3162584397
+       .long   210035182
+       .long   3211491512
+       .long   0
+       .long   1066401792
+       .long   379294427
+       .long   1072693090
+       .long   3221225472
+       .long   1015405987
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   210035182
+       .long   1064007864
+       .long   0
+       .long   3213885440
+       .long   379294427
+       .long   1072693090
+       .long   3221225472
+       .long   1015405987
+       .long   561145352
+       .long   1065056936
+       .long   0
+       .long   3214934016
+       .long   1619315981
+       .long   1072692616
+       .long   1073741824
+       .long   3162584397
+       .long   2896342633
+       .long   3212231467
+       .long   0
+       .long   3214934016
+       .long   4026464093
+       .long   1072691826
+       .long   3221225472
+       .long   3163075789
+       .long   1003003824
+       .long   1066107496
+       .long   0
+       .long   3215982592
+       .long   3816385918
+       .long   1072690721
+       .long   536870912
+       .long   3161216956
+       .long   3237733378
+       .long   1062425136
+       .long   0
+       .long   3215982592
+       .long   1703834029
+       .long   1072689301
+       .long   3758096384
+       .long   1015028364
+       .long   2523975598
+       .long   3213273348
+       .long   0
+       .long   3215982592
+       .long   2902558778
+       .long   1072687565
+       .long   3221225472
+       .long   1013260780
+       .long   711626851
+       .long   3214400320
+       .long   0
+       .long   3215982592
+       .long   4240268041
+       .long   1072685514
+       .long   536870912
+       .long   1013588963
+       .long   257503056
+       .long   1067164005
+       .long   0
+       .long   3217031168
+       .long   2748392742
+       .long   1072683149
+       .long   536870912
+       .long   3163061750
+       .long   3272206680
+       .long   1066288081
+       .long   0
+       .long   3217031168
+       .long   4251821691
+       .long   1072680469
+       .long   2147483648
+       .long   3161841007
+       .long   718380601
+       .long   1063597621
+       .long   0
+       .long   3217031168
+       .long   1893834707
+       .long   1072677476
+       .long   1610612736
+       .long   1015147654
+       .long   3987691371
+       .long   3213074188
+       .long   0
+       .long   3217031168
+       .long   1905645377
+       .long   1072674169
+       .long   1610612736
+       .long   1014087596
+       .long   1953696209
+       .long   3214295171
+       .long   0
+       .long   3217031168
+       .long   2131272983
+       .long   1072670549
+       .long   3221225472
+       .long   3163005096
+       .long   3299146087
+       .long   3215021530
+       .long   0
+       .long   3217031168
+       .long   617154971
+       .long   1072666617
+       .long   3758096384
+       .long   3163433696
+       .long   304938777
+       .long   3215427665
+       .long   0
+       .long   3217031168
+       .long   4201728937
+       .long   1072662372
+       .long   1610612736
+       .long   1014674006
+       .long   2034433221
+       .long   3215832935
+       .long   0
+       .long   3217031168
+       .long   2745245815
+       .long   1072657817
+       .long   3221225472
+       .long   1015566129
+       .long   240740309
+       .long   1068244255
+       .long   0
+       .long   3218079744
+       .long   3489094832
+       .long   1072652951
+       .long   536870912
+       .long   1014325783
+       .long   1765797566
+       .long   1067840895
+       .long   0
+       .long   3218079744
+       .long   990588717
+       .long   1072647776
+       .long   3758096384
+       .long   3162041857
+       .long   2886567144
+       .long   1067426796
+       .long   0
+       .long   3218079744
+       .long   2892293513
+       .long   1072642291
+       .long   2684354560
+       .long   3162340271
+       .long   3587565429
+       .long   1066624384
+       .long   0
+       .long   3218079744
+       .long   4151720666
+       .long   1072636498
+       .long   0
+       .long   3162639544
+       .long   2614369450
+       .long   1065140432
+       .long   0
+       .long   3218079744
+       .long   4220661975
+       .long   1072630398
+       .long   3221225472
+       .long   1014312058
+       .long   2382326656
+       .long   3212045827
+       .long   0
+       .long   3218079744
+       .long   2749658050
+       .long   1072623992
+       .long   1610612736
+       .long   1015427338
+       .long   723478390
+       .long   3213958438
+       .long   0
+       .long   3218079744
+       .long   3882371427
+       .long   1072617280
+       .long   2147483648
+       .long   1014923975
+       .long   4107121629
+       .long   3214750787
+       .long   0
+       .long   3218079744
+       .long   3370060660
+       .long   1072610264
+       .long   1610612736
+       .long   1014787212
+       .long   1991047213
+       .long   3215237169
+       .long   0
+       .long   3218079744
+       .long   1455828442
+       .long   1072602945
+       .long   3758096384
+       .long   1015505073
+       .long   386665102
+       .long   3215630470
+       .long   0
+       .long   3218079744
+       .long   2873938189
+       .long   1072595323
+       .long   1610612736
+       .long   3162311422
+       .long   1348311045
+       .long   3216002418
+       .long   0
+       .long   3218079744
+       .long   3964199186
+       .long   1072587400
+       .long   3758096384
+       .long   3160501078
+       .long   165911977
+       .long   3216197513
+       .long   0
+       .long   3218079744
+       .long   1261158782
+       .long   1072579178
+       .long   2147483648
+       .long   1015711544
+       .long   3601629044
+       .long   3216391785
+       .long   0
+       .long   3218079744
+       .long   83265253
+       .long   1072570657
+       .long   1610612736
+       .long   3162510535
+       .long   1962712856
+       .long   3216585207
+       .long   0
+       .long   3218079744
+       .long   1647164971
+       .long   1072561838
+       .long   2147483648
+       .long   3162838250
+       .long   3286832763
+       .long   3216777748
+       .long   0
+       .long   3218079744
+       .long   3066872380
+       .long   1072552723
+       .long   3221225472
+       .long   1015561271
+       .long   3296146332
+       .long   3216969380
+       .long   0
+       .long   3218079744
+       .long   1647878299
+       .long   1072543314
+       .long   3758096384
+       .long   3162169063
+       .long   1699043957
+       .long   1069418613
+       .long   0
+       .long   3219128320
+       .long   3476196678
+       .long   1072533611
+       .long   0
+       .long   1014257638
+       .long   1896722595
+       .long   1069228886
+       .long   0
+       .long   3219128320
+       .long   1942611595
+       .long   1072523617
+       .long   3221225472
+       .long   3162410081
+       .long   4049357271
+       .long   1069040154
+       .long   0
+       .long   3219128320
+       .long   3511535930
+       .long   1072513332
+       .long   2147483648
+       .long   3162828626
+       .long   1380647130
+       .long   1068852447
+       .long   0
+       .long   3219128320
+       .long   1950234076
+       .long   1072502759
+       .long   536870912
+       .long   3159425498
+       .long   3631910143
+       .long   1068665791
+       .long   0
+       .long   3219128320
+       .long   4097623923
+       .long   1072491898
+       .long   2684354560
+       .long   3160308587
+       .long   1073154251
+       .long   1068461489
+       .long   0
+       .long   3219128320
+       .long   4093443164
+       .long   1072480752
+       .long   536870912
+       .long   1014912865
+       .long   913431823
+       .long   1068092555
+       .long   0
+       .long   3219128320
+       .long   557060597
+       .long   1072469323
+       .long   0
+       .long   3159554934
+       .long   600368053
+       .long   1067725893
+       .long   0
+       .long   3219128320
+       .long   881357723
+       .long   1072457611
+       .long   3221225472
+       .long   1013810890
+       .long   2140183630
+       .long   1067272748
+       .long   0
+       .long   3219128320
+       .long   4051746225
+       .long   1072445618
+       .long   1610612736
+       .long   3161907377
+       .long   3506991783
+       .long   1066548842
+       .long   0
+       .long   3219128320
+       .long   645027145
+       .long   1072433348
+       .long   3221225472
+       .long   1012602239
+       .long   31019393
+       .long   1065162441
+       .long   0
+       .long   3219128320
+       .long   2892993834
+       .long   1072420800
+       .long   536870912
+       .long   3163039143
+       .long   1279178457
+       .long   3211590791
+       .long   0
+       .long   3219128320
+       .long   1731563730
+       .long   1072407978
+       .long   536870912
+       .long   1015540302
+       .long   1220541286
+       .long   3213681126
+       .long   0
+       .long   3219128320
+       .long   1159294526
+       .long   1072394883
+       .long   536870912
+       .long   3163276959
+       .long   2880516564
+       .long   3214487049
+       .long   0
+       .long   3219128320
+       .long   1056266002
+       .long   1072381517
+       .long   2684354560
+       .long   3163469496
+       .long   1102361128
+       .long   3215059765
+       .long   0
+       .long   3219128320
+       .long   1477771776
+       .long   1072367882
+       .long   536870912
+       .long   3163104986
+       .long   1038988426
+       .long   3215406294
+       .long   0
+       .long   3219128320
+       .long   2653017361
+       .long   1072353980
+       .long   0
+       .long   3162800062
+       .long   2598800519
+       .long   3215750067
+       .long   0
+       .long   3219128320
+       .long   688824739
+       .long   1072339814
+       .long   3758096384
+       .long   1010431536
+       .long   3382663878
+       .long   3216036812
+       .long   0
+       .long   3219128320
+       .long   453180130
+       .long   1072325385
+       .long   1073741824
+       .long   3162411281
+       .long   1726519029
+       .long   3216205866
+       .long   0
+       .long   3219128320
+       .long   2688952194
+       .long   1072310695
+       .long   0
+       .long   3161532603
+       .long   802660176
+       .long   3216373465
+       .long   0
+       .long   3219128320
+       .long   4012486548
+       .long   1072295747
+       .long   2684354560
+       .long   1014701564
+       .long   3876290983
+       .long   3216539583
+       .long   0
+       .long   3219128320
+       .long   1207142209
+       .long   1072280544
+       .long   2147483648
+       .long   3162705634
+       .long   2285031318
+       .long   3216704197
+       .long   0
+       .long   3219128320
+       .long   4106737474
+       .long   1072265086
+       .long   2684354560
+       .long   3162592377
+       .long   1224902090
+       .long   3216867281
+       .long   0
+       .long   3219128320
+       .long   1234330619
+       .long   1072249378
+       .long   2684354560
+       .long   1015272473
+       .long   2586490530
+       .long   3217028810
+       .long   0
+       .long   3219128320
+       .long   2750387213
+       .long   1072233420
+       .long   2147483648
+       .long   3160858537
+       .long   2485417816
+       .long   3217109964
+       .long   0
+       .long   3219128320
+       .long   1796544321
+       .long   1072217216
+       .long   536870912
+       .long   3162686945
+       .long   1852581091
+       .long   3217189138
+       .long   0
+       .long   3219128320
+       .long   263859903
+       .long   1072200768
+       .long   0
+       .long   3162692284
+       .long   4019165092
+       .long   3217267498
+       .long   0
+       .long   3219128320
+       .long   201299822
+       .long   1072184078
+       .long   3758096384
+       .long   3161912352
+       .long   1250776663
+       .long   3217345034
+       .long   0
+       .long   3219128320
+       .long   3814135665
+       .long   1072167148
+       .long   3221225472
+       .long   3163146456
+       .long   3526603391
+       .long   3217421732
+       .long   0
+       .long   3219128320
+       .long   577417135
+       .long   1072149983
+       .long   2684354560
+       .long   3161519415
+       .long   4187227697
+       .long   3217497582
+       .long   0
+       .long   3219128320
+       .long   1594061409
+       .long   1072132583
+       .long   2147483648
+       .long   1014353870
+       .long   1416934267
+       .long   3217572573
+       .long   0
+       .long   3219128320
+       .long   938475414
+       .long   1072114952
+       .long   0
+       .long   1015076079
+       .long   2546065654
+       .long   3217646692
+       .long   0
+       .long   3219128320
+       .long   1424664751
+       .long   1072097092
+       .long   3221225472
+       .long   3163405315
+       .long   2583490354
+       .long   3217719929
+       .long   0
+       .long   3219128320
+       .long   1719614413
+       .long   1072079006
+       .long   0
+       .long   3163282740
+       .long   1403691706
+       .long   3217792273
+       .long   0
+       .long   3219128320
+       .long   636516413
+       .long   1072060697
+       .long   3758096384
+       .long   1015823716
+       .long   3753901657
+       .long   3217863712
+       .long   0
+       .long   3219128320
+       .long   1427975391
+       .long   1072042167
+       .long   1073741824
+       .long   3161608627
+       .long   2081278341
+       .long   3217934237
+       .long   0
+       .long   3219128320
+       .long   3194290572
+       .long   1072023419
+       .long   2147483648
+       .long   1015048682
+       .long   2309668539
+       .long   3218003836
+       .long   0
+       .long   3219128320
+       .long   881650848
+       .long   1072004457
+       .long   2147483648
+       .long   3162986272
+       .long   2371640770
+       .long   3218072499
+       .long   0
+       .long   3219128320
+       .long   2460177814
+       .long   1071985282
+       .long   2147483648
+       .long   3162116843
+       .long   3489768009
+       .long   1070535623
+       .long   0
+       .long   3220176896
+       .long   3152274921
+       .long   1071965898
+       .long   3758096384
+       .long   1013170835
+       .long   3239527685
+       .long   1070468863
+       .long   0
+       .long   3220176896
+       .long   2610628921
+       .long   1071946308
+       .long   1610612736
+       .long   3162668769
+       .long   1403757309
+       .long   1070403070
+       .long   0
+       .long   3220176896
+       .long   621354454
+       .long   1071926515
+       .long   536870912
+       .long   1013450602
+       .long   1883353036
+       .long   1070338253
+       .long   0
+       .long   3220176896
+       .long   1397053140
+       .long   1071906521
+       .long   1610612736
+       .long   1015245078
+       .long   3652612115
+       .long   1070274422
+       .long   0
+       .long   3220176896
+       .long   689983673
+       .long   1071886330
+       .long   3758096384
+       .long   1014906405
+       .long   752919289
+       .long   1070211588
+       .long   0
+       .long   3220176896
+       .long   2969983475
+       .long   1071865944
+       .long   2684354560
+       .long   3162635443
+       .long   3761365757
+       .long   1070149758
+       .long   0
+       .long   3220176896
+       .long   4242632757
+       .long   1071845367
+       .long   536870912
+       .long   3161390278
+       .long   1129922991
+       .long   1070088944
+       .long   0
+       .long   3220176896
+       .long   637203434
+       .long   1071824603
+       .long   3221225472
+       .long   3159443841
+       .long   2129093113
+       .long   1070029153
+       .long   0
+       .long   3220176896
+       .long   1289556703
+       .long   1071803653
+       .long   536870912
+       .long   3162888820
+       .long   2482246777
+       .long   1069970395
+       .long   0
+       .long   3220176896
+       .long   2570316633
+       .long   1071782521
+       .long   1610612736
+       .long   3162744753
+       .long   1539668340
+       .long   1069912679
+       .long   0
+       .long   3220176896
+       .long   967731400
+       .long   1071761211
+       .long   536870912
+       .long   1015752157
+       .long   2272832445
+       .long   1069856013
+       .long   0
+       .long   3220176896
+       .long   1675549513
+       .long   1071739725
+       .long   3221225472
+       .long   3163025138
+       .long   2678847490
+       .long   1069800406
+       .long   0
+       .long   3220176896
+       .long   1411074851
+       .long   1071718067
+       .long   1610612736
+       .long   3163484731
+       .long   69903290
+       .long   1069745867
+       .long   0
+       .long   3220176896
+       .long   1297975695
+       .long   1071696240
+       .long   3221225472
+       .long   3163083735
+       .long   3952756490
+       .long   1069692402
+       .long   0
+       .long   3220176896
+       .long   2569207790
+       .long   1071674247
+       .long   1073741824
+       .long   3163183617
+       .long   1663679671
+       .long   1069640022
+       .long   0
+       .long   3220176896
+       .long   2269920951
+       .long   1071652092
+       .long   3758096384
+       .long   3161672245
+       .long   1312926554
+       .long   1069588733
+       .long   0
+       .long   3220176896
+       .long   3690502842
+       .long   1071614884
+       .long   3221225472
+       .long   3157453855
+       .long   3429717432
+       .long   1069529566
+       .long   0
+       .long   3220176896
+       .long   1391425750
+       .long   1071569945
+       .long   3221225472
+       .long   3162362103
+       .long   1945768569
+       .long   1069431400
+       .long   0
+       .long   3220176896
+       .long   939980347
+       .long   1071524701
+       .long   0
+       .long   1012796809
+       .long   1539072807
+       .long   1069335462
+       .long   0
+       .long   3220176896
+       .long   1535566729
+       .long   1071479159
+       .long   2147483648
+       .long   1014321388
+       .long   4133449816
+       .long   1069241766
+       .long   0
+       .long   3220176896
+       .long   2570175582
+       .long   1071433326
+       .long   1073741824
+       .long   1012303118
+       .long   1612193054
+       .long   1069150328
+       .long   0
+       .long   3220176896
+       .long   3623952103
+       .long   1071387209
+       .long   2684354560
+       .long   3161985962
+       .long   1578746984
+       .long   1069061160
+       .long   0
+       .long   3220176896
+       .long   165764288
+       .long   1071340816
+       .long   3221225472
+       .long   1013298018
+       .long   1577996576
+       .long   1068974276
+       .long   0
+       .long   3220176896
+       .long   728580042
+       .long   1071294152
+       .long   1610612736
+       .long   3162332944
+       .long   1972483635
+       .long   1068889689
+       .long   0
+       .long   3220176896
+       .long   1135144330
+       .long   1071247225
+       .long   536870912
+       .long   1013373569
+       .long   1638976426
+       .long   1068807412
+       .long   0
+       .long   3220176896
+       .long   1673302999
+       .long   1071200042
+       .long   2147483648
+       .long   1013351473
+       .long   2255197647
+       .long   1068727457
+       .long   0
+       .long   3220176896
+       .long   2796464483
+       .long   1071152610
+       .long   3221225472
+       .long   3160878317
+       .long   3996842794
+       .long   1068649836
+       .long   0
+       .long   3220176896
+       .long   824036583
+       .long   1071104937
+       .long   0
+       .long   1008313330
+       .long   1234824733
+       .long   1068574562
+       .long   0
+       .long   3220176896
+       .long   821708191
+       .long   1071057029
+       .long   3758096384
+       .long   3161738009
+       .long   4002549419
+       .long   1068501644
+       .long   0
+       .long   3220176896
+       .long   3711903686
+       .long   1071008893
+       .long   1073741824
+       .long   1011944747
+       .long   2962723252
+       .long   1068363247
+       .long   0
+       .long   3220176896
+       .long   1974149085
+       .long   1070960538
+       .long   3221225472
+       .long   3156147648
+       .long   1296295961
+       .long   1068226907
+       .long   0
+       .long   3220176896
+       .long   1115219818
+       .long   1070911970
+       .long   0
+       .long   1013072242
+       .long   997322465
+       .long   1068095345
+       .long   0
+       .long   3220176896
+       .long   2484561409
+       .long   1070863196
+       .long   1073741824
+       .long   1014024572
+       .long   1261629236
+       .long   1067968581
+       .long   0
+       .long   3220176896
+       .long   3269558610
+       .long   1070814224
+       .long   536870912
+       .long   3161705216
+       .long   2476548698
+       .long   1067846634
+       .long   0
+       .long   3220176896
+       .long   785751814
+       .long   1070765062
+       .long   2684354560
+       .long   3161838221
+       .long   1913604284
+       .long   1067729523
+       .long   0
+       .long   3220176896
+       .long   1062001470
+       .long   1070715716
+       .long   0
+       .long   3160875220
+       .long   2306566604
+       .long   1067617265
+       .long   0
+       .long   3220176896
+       .long   1655830135
+       .long   1070666194
+       .long   0
+       .long   1014506690
+       .long   3250111450
+       .long   1067509877
+       .long   0
+       .long   3220176896
+       .long   238550446
+       .long   1070616504
+       .long   2684354560
+       .long   3154383565
+       .long   2377770267
+       .long   1067364384
+       .long   0
+       .long   3220176896
+       .long   2065784603
+       .long   1070537209
+       .long   3758096384
+       .long   3160681966
+       .long   288924873
+       .long   1067169185
+       .long   0
+       .long   3220176896
+       .long   3846521617
+       .long   1070437199
+       .long   536870912
+       .long   1013406610
+       .long   1935888103
+       .long   1066983818
+       .long   0
+       .long   3220176896
+       .long   1786662755
+       .long   1070336898
+       .long   2147483648
+       .long   3155882307
+       .long   2660899430
+       .long   1066808312
+       .long   0
+       .long   3220176896
+       .long   632292433
+       .long   1070236320
+       .long   3758096384
+       .long   3160963333
+       .long   18115067
+       .long   1066642694
+       .long   0
+       .long   3220176896
+       .long   1013556747
+       .long   1070135480
+       .long   2684354560
+       .long   3160567065
+       .long   2346447124
+       .long   1066486987
+       .long   0
+       .long   3220176896
+       .long   3729833777
+       .long   1070034393
+       .long   3758096384
+       .long   1013044718
+       .long   1672287667
+       .long   1066280641
+       .long   0
+       .long   3220176896
+       .long   1149976518
+       .long   1069933076
+       .long   1610612736
+       .long   1013264895
+       .long   3451754846
+       .long   1066009014
+       .long   0
+       .long   3220176896
+       .long   2972270170
+       .long   1069831542
+       .long   1073741824
+       .long   3159524770
+       .long   1037482584
+       .long   1065757344
+       .long   0
+       .long   3220176896
+       .long   1854824762
+       .long   1069729808
+       .long   2684354560
+       .long   1011953664
+       .long   2592747447
+       .long   1065525667
+       .long   0
+       .long   3220176896
+       .long   3470456183
+       .long   1069627888
+       .long   1073741824
+       .long   3160744771
+       .long   2402293340
+       .long   1065274823
+       .long   0
+       .long   3220176896
+       .long   1453945614
+       .long   1069504078
+       .long   1610612736
+       .long   1011492612
+       .long   1227670166
+       .long   1064891649
+       .long   0
+       .long   3220176896
+       .long   3349070549
+       .long   1069299589
+       .long   3758096384
+       .long   3156538269
+       .long   393047345
+       .long   1064548654
+       .long   0
+       .long   3220176896
+       .long   3156849708
+       .long   1069094822
+       .long   3221225472
+       .long   3158189848
+       .long   1118107366
+       .long   1064187139
+       .long   0
+       .long   3220176896
+       .long   177906713
+       .long   1068889808
+       .long   3221225472
+       .long   3159310370
+       .long   4269262315
+       .long   1063662162
+       .long   0
+       .long   3220176896
+       .long   2462980598
+       .long   1068684576
+       .long   2684354560
+       .long   3158941832
+       .long   3810305407
+       .long   1063179572
+       .long   0
+       .long   3220176896
+       .long   2046304480
+       .long   1068459374
+       .long   3758096384
+       .long   3156402667
+       .long   220529721
+       .long   1062452281
+       .long   0
+       .long   3220176896
+       .long   4044216340
+       .long   1068048229
+       .long   0
+       .long   3156808381
+       .long   69373323
+       .long   1061565504
+       .long   0
+       .long   3220176896
+       .long   1972655565
+       .long   1067636837
+       .long   1073741824
+       .long   1009157878
+       .long   3650591271
+       .long   1060355323
+       .long   0
+       .long   3220176896
+       .long   4154680958
+       .long   1067000149
+       .long   0
+       .long   3153796451
+       .long   2376373521
+       .long   1058258220
+       .long   0
+       .long   3220176896
+       .long   4242458500
+       .long   1065951697
+       .long   2684354560
+       .long   1009354638
+       .long   0
+       .long   0
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2376373521
+       .long   1058258220
+       .long   0
+       .long   3220176896
+       .long   4242458500
+       .long   3213435345
+       .long   2684354560
+       .long   3156838286
+       .long   3650591271
+       .long   1060355323
+       .long   0
+       .long   3220176896
+       .long   4154680958
+       .long   3214483797
+       .long   0
+       .long   1006312803
+       .long   69373323
+       .long   1061565504
+       .long   0
+       .long   3220176896
+       .long   1972655565
+       .long   3215120485
+       .long   1073741824
+       .long   3156641526
+       .long   220529721
+       .long   1062452281
+       .long   0
+       .long   3220176896
+       .long   4044216340
+       .long   3215531877
+       .long   0
+       .long   1009324733
+       .long   3810305407
+       .long   1063179572
+       .long   0
+       .long   3220176896
+       .long   2046304480
+       .long   3215943022
+       .long   3758096384
+       .long   1008919019
+       .long   4269262315
+       .long   1063662162
+       .long   0
+       .long   3220176896
+       .long   2462980598
+       .long   3216168224
+       .long   2684354560
+       .long   1011458184
+       .long   1118107366
+       .long   1064187139
+       .long   0
+       .long   3220176896
+       .long   177906713
+       .long   3216373456
+       .long   3221225472
+       .long   1011826722
+       .long   393047345
+       .long   1064548654
+       .long   0
+       .long   3220176896
+       .long   3156849708
+       .long   3216578470
+       .long   3221225472
+       .long   1010706200
+       .long   1227670166
+       .long   1064891649
+       .long   0
+       .long   3220176896
+       .long   3349070549
+       .long   3216783237
+       .long   3758096384
+       .long   1009054621
+       .long   2402293340
+       .long   1065274823
+       .long   0
+       .long   3220176896
+       .long   1453945614
+       .long   3216987726
+       .long   1610612736
+       .long   3158976260
+       .long   2592747447
+       .long   1065525667
+       .long   0
+       .long   3220176896
+       .long   3470456183
+       .long   3217111536
+       .long   1073741824
+       .long   1013261123
+       .long   1037482584
+       .long   1065757344
+       .long   0
+       .long   3220176896
+       .long   1854824762
+       .long   3217213456
+       .long   2684354560
+       .long   3159437312
+       .long   3451754846
+       .long   1066009014
+       .long   0
+       .long   3220176896
+       .long   2972270170
+       .long   3217315190
+       .long   1073741824
+       .long   1012041122
+       .long   1672287667
+       .long   1066280641
+       .long   0
+       .long   3220176896
+       .long   1149976518
+       .long   3217416724
+       .long   1610612736
+       .long   3160748543
+       .long   2346447124
+       .long   1066486987
+       .long   0
+       .long   3220176896
+       .long   3729833777
+       .long   3217518041
+       .long   3758096384
+       .long   3160528366
+       .long   18115067
+       .long   1066642694
+       .long   0
+       .long   3220176896
+       .long   1013556747
+       .long   3217619128
+       .long   2684354560
+       .long   1013083417
+       .long   2660899430
+       .long   1066808312
+       .long   0
+       .long   3220176896
+       .long   632292433
+       .long   3217719968
+       .long   3758096384
+       .long   1013479685
+       .long   1935888103
+       .long   1066983818
+       .long   0
+       .long   3220176896
+       .long   1786662755
+       .long   3217820546
+       .long   2147483648
+       .long   1008398659
+       .long   288924873
+       .long   1067169185
+       .long   0
+       .long   3220176896
+       .long   3846521617
+       .long   3217920847
+       .long   536870912
+       .long   3160890258
+       .long   2377770267
+       .long   1067364384
+       .long   0
+       .long   3220176896
+       .long   2065784603
+       .long   3218020857
+       .long   3758096384
+       .long   1013198318
+       .long   3250111450
+       .long   1067509877
+       .long   0
+       .long   3220176896
+       .long   238550446
+       .long   3218100152
+       .long   2684354560
+       .long   1006899917
+       .long   2306566604
+       .long   1067617265
+       .long   0
+       .long   3220176896
+       .long   1655830135
+       .long   3218149842
+       .long   0
+       .long   3161990338
+       .long   1913604284
+       .long   1067729523
+       .long   0
+       .long   3220176896
+       .long   1062001470
+       .long   3218199364
+       .long   0
+       .long   1013391572
+       .long   2476548698
+       .long   1067846634
+       .long   0
+       .long   3220176896
+       .long   785751814
+       .long   3218248710
+       .long   2684354560
+       .long   1014354573
+       .long   1261629236
+       .long   1067968581
+       .long   0
+       .long   3220176896
+       .long   3269558610
+       .long   3218297872
+       .long   536870912
+       .long   1014221568
+       .long   997322465
+       .long   1068095345
+       .long   0
+       .long   3220176896
+       .long   2484561409
+       .long   3218346844
+       .long   1073741824
+       .long   3161508220
+       .long   1296295961
+       .long   1068226907
+       .long   0
+       .long   3220176896
+       .long   1115219818
+       .long   3218395618
+       .long   0
+       .long   3160555890
+       .long   2962723252
+       .long   1068363247
+       .long   0
+       .long   3220176896
+       .long   1974149085
+       .long   3218444186
+       .long   3221225472
+       .long   1008664000
+       .long   4002549419
+       .long   1068501644
+       .long   0
+       .long   3220176896
+       .long   3711903686
+       .long   3218492541
+       .long   1073741824
+       .long   3159428395
+       .long   1234824733
+       .long   1068574562
+       .long   0
+       .long   3220176896
+       .long   821708191
+       .long   3218540677
+       .long   3758096384
+       .long   1014254361
+       .long   3996842794
+       .long   1068649836
+       .long   0
+       .long   3220176896
+       .long   824036583
+       .long   3218588585
+       .long   0
+       .long   3155796978
+       .long   2255197647
+       .long   1068727457
+       .long   0
+       .long   3220176896
+       .long   2796464483
+       .long   3218636258
+       .long   3221225472
+       .long   1013394669
+       .long   1638976426
+       .long   1068807412
+       .long   0
+       .long   3220176896
+       .long   1673302999
+       .long   3218683690
+       .long   2147483648
+       .long   3160835121
+       .long   1972483635
+       .long   1068889689
+       .long   0
+       .long   3220176896
+       .long   1135144330
+       .long   3218730873
+       .long   536870912
+       .long   3160857217
+       .long   1577996576
+       .long   1068974276
+       .long   0
+       .long   3220176896
+       .long   728580042
+       .long   3218777800
+       .long   1610612736
+       .long   1014849296
+       .long   1578746984
+       .long   1069061160
+       .long   0
+       .long   3220176896
+       .long   165764288
+       .long   3218824464
+       .long   3221225472
+       .long   3160781666
+       .long   1612193054
+       .long   1069150328
+       .long   0
+       .long   3220176896
+       .long   3623952103
+       .long   3218870857
+       .long   2684354560
+       .long   1014502314
+       .long   4133449816
+       .long   1069241766
+       .long   0
+       .long   3220176896
+       .long   2570175582
+       .long   3218916974
+       .long   1073741824
+       .long   3159786766
+       .long   1539072807
+       .long   1069335462
+       .long   0
+       .long   3220176896
+       .long   1535566729
+       .long   3218962807
+       .long   2147483648
+       .long   3161805036
+       .long   1945768569
+       .long   1069431400
+       .long   0
+       .long   3220176896
+       .long   939980347
+       .long   3219008349
+       .long   0
+       .long   3160280457
+       .long   3429717432
+       .long   1069529566
+       .long   0
+       .long   3220176896
+       .long   1391425750
+       .long   3219053593
+       .long   3221225472
+       .long   1014878455
+       .long   1312926554
+       .long   1069588733
+       .long   0
+       .long   3220176896
+       .long   3690502842
+       .long   3219098532
+       .long   3221225472
+       .long   1009970207
+       .long   1663679671
+       .long   1069640022
+       .long   0
+       .long   3220176896
+       .long   2269920951
+       .long   3219135740
+       .long   3758096384
+       .long   1014188597
+       .long   3952756490
+       .long   1069692402
+       .long   0
+       .long   3220176896
+       .long   2569207790
+       .long   3219157895
+       .long   1073741824
+       .long   1015699969
+       .long   69903290
+       .long   1069745867
+       .long   0
+       .long   3220176896
+       .long   1297975695
+       .long   3219179888
+       .long   3221225472
+       .long   1015600087
+       .long   2678847490
+       .long   1069800406
+       .long   0
+       .long   3220176896
+       .long   1411074851
+       .long   3219201715
+       .long   1610612736
+       .long   1016001083
+       .long   2272832445
+       .long   1069856013
+       .long   0
+       .long   3220176896
+       .long   1675549513
+       .long   3219223373
+       .long   3221225472
+       .long   1015541490
+       .long   1539668340
+       .long   1069912679
+       .long   0
+       .long   3220176896
+       .long   967731400
+       .long   3219244859
+       .long   536870912
+       .long   3163235805
+       .long   2482246777
+       .long   1069970395
+       .long   0
+       .long   3220176896
+       .long   2570316633
+       .long   3219266169
+       .long   1610612736
+       .long   1015261105
+       .long   2129093113
+       .long   1070029153
+       .long   0
+       .long   3220176896
+       .long   1289556703
+       .long   3219287301
+       .long   536870912
+       .long   1015405172
+       .long   1129922991
+       .long   1070088944
+       .long   0
+       .long   3220176896
+       .long   637203434
+       .long   3219308251
+       .long   3221225472
+       .long   1011960193
+       .long   3761365757
+       .long   1070149758
+       .long   0
+       .long   3220176896
+       .long   4242632757
+       .long   3219329015
+       .long   536870912
+       .long   1013906630
+       .long   752919289
+       .long   1070211588
+       .long   0
+       .long   3220176896
+       .long   2969983475
+       .long   3219349592
+       .long   2684354560
+       .long   1015151795
+       .long   3652612115
+       .long   1070274422
+       .long   0
+       .long   3220176896
+       .long   689983673
+       .long   3219369978
+       .long   3758096384
+       .long   3162390053
+       .long   1883353036
+       .long   1070338253
+       .long   0
+       .long   3220176896
+       .long   1397053140
+       .long   3219390169
+       .long   1610612736
+       .long   3162728726
+       .long   1403757309
+       .long   1070403070
+       .long   0
+       .long   3220176896
+       .long   621354454
+       .long   3219410163
+       .long   536870912
+       .long   3160934250
+       .long   3239527685
+       .long   1070468863
+       .long   0
+       .long   3220176896
+       .long   2610628921
+       .long   3219429956
+       .long   1610612736
+       .long   1015185121
+       .long   3489768009
+       .long   1070535623
+       .long   0
+       .long   3220176896
+       .long   3152274921
+       .long   3219449546
+       .long   3758096384
+       .long   3160654483
+       .long   2371640770
+       .long   3218072499
+       .long   0
+       .long   3219128320
+       .long   2460177814
+       .long   3219468930
+       .long   2147483648
+       .long   1014633195
+       .long   2309668539
+       .long   3218003836
+       .long   0
+       .long   3219128320
+       .long   881650848
+       .long   3219488105
+       .long   2147483648
+       .long   1015502624
+       .long   2081278341
+       .long   3217934237
+       .long   0
+       .long   3219128320
+       .long   3194290572
+       .long   3219507067
+       .long   2147483648
+       .long   3162532330
+       .long   3753901657
+       .long   3217863712
+       .long   0
+       .long   3219128320
+       .long   1427975391
+       .long   3219525815
+       .long   1073741824
+       .long   1014124979
+       .long   1403691706
+       .long   3217792273
+       .long   0
+       .long   3219128320
+       .long   636516413
+       .long   3219544345
+       .long   3758096384
+       .long   3163307364
+       .long   2583490354
+       .long   3217719929
+       .long   0
+       .long   3219128320
+       .long   1719614413
+       .long   3219562654
+       .long   0
+       .long   1015799092
+       .long   2546065654
+       .long   3217646692
+       .long   0
+       .long   3219128320
+       .long   1424664751
+       .long   3219580740
+       .long   3221225472
+       .long   1015921667
+       .long   1416934267
+       .long   3217572573
+       .long   0
+       .long   3219128320
+       .long   938475414
+       .long   3219598600
+       .long   0
+       .long   3162559727
+       .long   4187227697
+       .long   3217497582
+       .long   0
+       .long   3219128320
+       .long   1594061409
+       .long   3219616231
+       .long   2147483648
+       .long   3161837518
+       .long   3526603391
+       .long   3217421732
+       .long   0
+       .long   3219128320
+       .long   577417135
+       .long   3219633631
+       .long   2684354560
+       .long   1014035767
+       .long   1250776663
+       .long   3217345034
+       .long   0
+       .long   3219128320
+       .long   3814135665
+       .long   3219650796
+       .long   3221225472
+       .long   1015662808
+       .long   4019165092
+       .long   3217267498
+       .long   0
+       .long   3219128320
+       .long   201299822
+       .long   3219667726
+       .long   3758096384
+       .long   1014428704
+       .long   1852581091
+       .long   3217189138
+       .long   0
+       .long   3219128320
+       .long   263859903
+       .long   3219684416
+       .long   0
+       .long   1015208636
+       .long   2485417816
+       .long   3217109964
+       .long   0
+       .long   3219128320
+       .long   1796544321
+       .long   3219700864
+       .long   536870912
+       .long   1015203297
+       .long   2586490530
+       .long   3217028810
+       .long   0
+       .long   3219128320
+       .long   2750387213
+       .long   3219717068
+       .long   2147483648
+       .long   1013374889
+       .long   1224902090
+       .long   3216867281
+       .long   0
+       .long   3219128320
+       .long   1234330619
+       .long   3219733026
+       .long   2684354560
+       .long   3162756121
+       .long   2285031318
+       .long   3216704197
+       .long   0
+       .long   3219128320
+       .long   4106737474
+       .long   3219748734
+       .long   2684354560
+       .long   1015108729
+       .long   3876290983
+       .long   3216539583
+       .long   0
+       .long   3219128320
+       .long   1207142209
+       .long   3219764192
+       .long   2147483648
+       .long   1015221986
+       .long   802660176
+       .long   3216373465
+       .long   0
+       .long   3219128320
+       .long   4012486548
+       .long   3219779395
+       .long   2684354560
+       .long   3162185212
+       .long   1726519029
+       .long   3216205866
+       .long   0
+       .long   3219128320
+       .long   2688952194
+       .long   3219794343
+       .long   0
+       .long   1014048955
+       .long   3382663878
+       .long   3216036812
+       .long   0
+       .long   3219128320
+       .long   453180130
+       .long   3219809033
+       .long   1073741824
+       .long   1014927633
+       .long   2598800519
+       .long   3215750067
+       .long   0
+       .long   3219128320
+       .long   688824739
+       .long   3219823462
+       .long   3758096384
+       .long   3157915184
+       .long   1038988426
+       .long   3215406294
+       .long   0
+       .long   3219128320
+       .long   2653017361
+       .long   3219837628
+       .long   0
+       .long   1015316414
+       .long   1102361128
+       .long   3215059765
+       .long   0
+       .long   3219128320
+       .long   1477771776
+       .long   3219851530
+       .long   536870912
+       .long   1015621338
+       .long   2880516564
+       .long   3214487049
+       .long   0
+       .long   3219128320
+       .long   1056266002
+       .long   3219865165
+       .long   2684354560
+       .long   1015985848
+       .long   1220541286
+       .long   3213681126
+       .long   0
+       .long   3219128320
+       .long   1159294526
+       .long   3219878531
+       .long   536870912
+       .long   1015793311
+       .long   1279178457
+       .long   3211590791
+       .long   0
+       .long   3219128320
+       .long   1731563730
+       .long   3219891626
+       .long   536870912
+       .long   3163023950
+       .long   31019393
+       .long   1065162441
+       .long   0
+       .long   3219128320
+       .long   2892993834
+       .long   3219904448
+       .long   536870912
+       .long   1015555495
+       .long   3506991783
+       .long   1066548842
+       .long   0
+       .long   3219128320
+       .long   645027145
+       .long   3219916996
+       .long   3221225472
+       .long   3160085887
+       .long   2140183630
+       .long   1067272748
+       .long   0
+       .long   3219128320
+       .long   4051746225
+       .long   3219929266
+       .long   1610612736
+       .long   1014423729
+       .long   600368053
+       .long   1067725893
+       .long   0
+       .long   3219128320
+       .long   881357723
+       .long   3219941259
+       .long   3221225472
+       .long   3161294538
+       .long   913431823
+       .long   1068092555
+       .long   0
+       .long   3219128320
+       .long   557060597
+       .long   3219952971
+       .long   0
+       .long   1012071286
+       .long   1073154251
+       .long   1068461489
+       .long   0
+       .long   3219128320
+       .long   4093443164
+       .long   3219964400
+       .long   536870912
+       .long   3162396513
+       .long   3631910143
+       .long   1068665791
+       .long   0
+       .long   3219128320
+       .long   4097623923
+       .long   3219975546
+       .long   2684354560
+       .long   1012824939
+       .long   1380647130
+       .long   1068852447
+       .long   0
+       .long   3219128320
+       .long   1950234076
+       .long   3219986407
+       .long   536870912
+       .long   1011941850
+       .long   4049357271
+       .long   1069040154
+       .long   0
+       .long   3219128320
+       .long   3511535930
+       .long   3219996980
+       .long   2147483648
+       .long   1015344978
+       .long   1896722595
+       .long   1069228886
+       .long   0
+       .long   3219128320
+       .long   1942611595
+       .long   3220007265
+       .long   3221225472
+       .long   1014926433
+       .long   1699043957
+       .long   1069418613
+       .long   0
+       .long   3219128320
+       .long   3476196678
+       .long   3220017259
+       .long   0
+       .long   3161741286
+       .long   3296146332
+       .long   3216969380
+       .long   0
+       .long   3218079744
+       .long   1647878299
+       .long   3220026962
+       .long   3758096384
+       .long   1014685415
+       .long   3286832763
+       .long   3216777748
+       .long   0
+       .long   3218079744
+       .long   3066872380
+       .long   3220036371
+       .long   3221225472
+       .long   3163044919
+       .long   1962712856
+       .long   3216585207
+       .long   0
+       .long   3218079744
+       .long   1647164971
+       .long   3220045486
+       .long   2147483648
+       .long   1015354602
+       .long   3601629044
+       .long   3216391785
+       .long   0
+       .long   3218079744
+       .long   83265253
+       .long   3220054305
+       .long   1610612736
+       .long   1015026887
+       .long   165911977
+       .long   3216197513
+       .long   0
+       .long   3218079744
+       .long   1261158782
+       .long   3220062826
+       .long   2147483648
+       .long   3163195192
+       .long   1348311045
+       .long   3216002418
+       .long   0
+       .long   3218079744
+       .long   3964199186
+       .long   3220071048
+       .long   3758096384
+       .long   1013017430
+       .long   386665102
+       .long   3215630470
+       .long   0
+       .long   3218079744
+       .long   2873938189
+       .long   3220078971
+       .long   1610612736
+       .long   1014827774
+       .long   1991047213
+       .long   3215237169
+       .long   0
+       .long   3218079744
+       .long   1455828442
+       .long   3220086593
+       .long   3758096384
+       .long   3162988721
+       .long   4107121629
+       .long   3214750787
+       .long   0
+       .long   3218079744
+       .long   3370060660
+       .long   3220093912
+       .long   1610612736
+       .long   3162270860
+       .long   723478390
+       .long   3213958438
+       .long   0
+       .long   3218079744
+       .long   3882371427
+       .long   3220100928
+       .long   2147483648
+       .long   3162407623
+       .long   2382326656
+       .long   3212045827
+       .long   0
+       .long   3218079744
+       .long   2749658050
+       .long   3220107640
+       .long   1610612736
+       .long   3162910986
+       .long   2614369450
+       .long   1065140432
+       .long   0
+       .long   3218079744
+       .long   4220661975
+       .long   3220114046
+       .long   3221225472
+       .long   3161795706
+       .long   3587565429
+       .long   1066624384
+       .long   0
+       .long   3218079744
+       .long   4151720666
+       .long   3220120146
+       .long   0
+       .long   1015155896
+       .long   2886567144
+       .long   1067426796
+       .long   0
+       .long   3218079744
+       .long   2892293513
+       .long   3220125939
+       .long   2684354560
+       .long   1014856623
+       .long   1765797566
+       .long   1067840895
+       .long   0
+       .long   3218079744
+       .long   990588717
+       .long   3220131424
+       .long   3758096384
+       .long   1014558209
+       .long   240740309
+       .long   1068244255
+       .long   0
+       .long   3218079744
+       .long   3489094832
+       .long   3220136599
+       .long   536870912
+       .long   3161809431
+       .long   2034433221
+       .long   3215832935
+       .long   0
+       .long   3217031168
+       .long   2745245815
+       .long   3220141465
+       .long   3221225472
+       .long   3163049777
+       .long   304938777
+       .long   3215427665
+       .long   0
+       .long   3217031168
+       .long   4201728937
+       .long   3220146020
+       .long   1610612736
+       .long   3162157654
+       .long   3299146087
+       .long   3215021530
+       .long   0
+       .long   3217031168
+       .long   617154971
+       .long   3220150265
+       .long   3758096384
+       .long   1015950048
+       .long   1953696209
+       .long   3214295171
+       .long   0
+       .long   3217031168
+       .long   2131272983
+       .long   3220154197
+       .long   3221225472
+       .long   1015521448
+       .long   3987691371
+       .long   3213074188
+       .long   0
+       .long   3217031168
+       .long   1905645377
+       .long   3220157817
+       .long   1610612736
+       .long   3161571244
+       .long   718380601
+       .long   1063597621
+       .long   0
+       .long   3217031168
+       .long   1893834707
+       .long   3220161124
+       .long   1610612736
+       .long   3162631302
+       .long   3272206680
+       .long   1066288081
+       .long   0
+       .long   3217031168
+       .long   4251821691
+       .long   3220164117
+       .long   2147483648
+       .long   1014357359
+       .long   257503056
+       .long   1067164005
+       .long   0
+       .long   3217031168
+       .long   2748392742
+       .long   3220166797
+       .long   536870912
+       .long   1015578102
+       .long   711626851
+       .long   3214400320
+       .long   0
+       .long   3215982592
+       .long   4240268041
+       .long   3220169162
+       .long   536870912
+       .long   3161072611
+       .long   2523975598
+       .long   3213273348
+       .long   0
+       .long   3215982592
+       .long   2902558778
+       .long   3220171213
+       .long   3221225472
+       .long   3160744428
+       .long   3237733378
+       .long   1062425136
+       .long   0
+       .long   3215982592
+       .long   1703834029
+       .long   3220172949
+       .long   3758096384
+       .long   3162512012
+       .long   1003003824
+       .long   1066107496
+       .long   0
+       .long   3215982592
+       .long   3816385918
+       .long   3220174369
+       .long   536870912
+       .long   1013733308
+       .long   2896342633
+       .long   3212231467
+       .long   0
+       .long   3214934016
+       .long   4026464093
+       .long   3220175474
+       .long   3221225472
+       .long   1015592141
+       .long   561145352
+       .long   1065056936
+       .long   0
+       .long   3214934016
+       .long   1619315981
+       .long   3220176264
+       .long   1073741824
+       .long   1015100749
+       .long   210035182
+       .long   1064007864
+       .long   0
+       .long   3213885440
+       .long   379294427
+       .long   3220176738
+       .long   3221225472
+       .long   3162889635
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3220176896
+       .long   0
+       .long   0
+       .long   210035182
+       .long   3211491512
+       .long   0
+       .long   1066401792
+       .long   379294427
+       .long   3220176738
+       .long   3221225472
+       .long   3162889635
+       .long   561145352
+       .long   3212540584
+       .long   0
+       .long   1067450368
+       .long   1619315981
+       .long   3220176264
+       .long   1073741824
+       .long   1015100749
+       .long   2896342633
+       .long   1064747819
+       .long   0
+       .long   1067450368
+       .long   4026464093
+       .long   3220175474
+       .long   3221225472
+       .long   1015592141
+       .long   1003003824
+       .long   3213591144
+       .long   0
+       .long   1068498944
+       .long   3816385918
+       .long   3220174369
+       .long   536870912
+       .long   1013733308
+       .long   3237733378
+       .long   3209908784
+       .long   0
+       .long   1068498944
+       .long   1703834029
+       .long   3220172949
+       .long   3758096384
+       .long   3162512012
+       .long   2523975598
+       .long   1065789700
+       .long   0
+       .long   1068498944
+       .long   2902558778
+       .long   3220171213
+       .long   3221225472
+       .long   3160744428
+       .long   711626851
+       .long   1066916672
+       .long   0
+       .long   1068498944
+       .long   4240268041
+       .long   3220169162
+       .long   536870912
+       .long   3161072611
+       .long   257503056
+       .long   3214647653
+       .long   0
+       .long   1069547520
+       .long   2748392742
+       .long   3220166797
+       .long   536870912
+       .long   1015578102
+       .long   3272206680
+       .long   3213771729
+       .long   0
+       .long   1069547520
+       .long   4251821691
+       .long   3220164117
+       .long   2147483648
+       .long   1014357359
+       .long   718380601
+       .long   3211081269
+       .long   0
+       .long   1069547520
+       .long   1893834707
+       .long   3220161124
+       .long   1610612736
+       .long   3162631302
+       .long   3987691371
+       .long   1065590540
+       .long   0
+       .long   1069547520
+       .long   1905645377
+       .long   3220157817
+       .long   1610612736
+       .long   3161571244
+       .long   1953696209
+       .long   1066811523
+       .long   0
+       .long   1069547520
+       .long   2131272983
+       .long   3220154197
+       .long   3221225472
+       .long   1015521448
+       .long   3299146087
+       .long   1067537882
+       .long   0
+       .long   1069547520
+       .long   617154971
+       .long   3220150265
+       .long   3758096384
+       .long   1015950048
+       .long   304938777
+       .long   1067944017
+       .long   0
+       .long   1069547520
+       .long   4201728937
+       .long   3220146020
+       .long   1610612736
+       .long   3162157654
+       .long   2034433221
+       .long   1068349287
+       .long   0
+       .long   1069547520
+       .long   2745245815
+       .long   3220141465
+       .long   3221225472
+       .long   3163049777
+       .long   240740309
+       .long   3215727903
+       .long   0
+       .long   1070596096
+       .long   3489094832
+       .long   3220136599
+       .long   536870912
+       .long   3161809431
+       .long   1765797566
+       .long   3215324543
+       .long   0
+       .long   1070596096
+       .long   990588717
+       .long   3220131424
+       .long   3758096384
+       .long   1014558209
+       .long   2886567144
+       .long   3214910444
+       .long   0
+       .long   1070596096
+       .long   2892293513
+       .long   3220125939
+       .long   2684354560
+       .long   1014856623
+       .long   3587565429
+       .long   3214108032
+       .long   0
+       .long   1070596096
+       .long   4151720666
+       .long   3220120146
+       .long   0
+       .long   1015155896
+       .long   2614369450
+       .long   3212624080
+       .long   0
+       .long   1070596096
+       .long   4220661975
+       .long   3220114046
+       .long   3221225472
+       .long   3161795706
+       .long   2382326656
+       .long   1064562179
+       .long   0
+       .long   1070596096
+       .long   2749658050
+       .long   3220107640
+       .long   1610612736
+       .long   3162910986
+       .long   723478390
+       .long   1066474790
+       .long   0
+       .long   1070596096
+       .long   3882371427
+       .long   3220100928
+       .long   2147483648
+       .long   3162407623
+       .long   4107121629
+       .long   1067267139
+       .long   0
+       .long   1070596096
+       .long   3370060660
+       .long   3220093912
+       .long   1610612736
+       .long   3162270860
+       .long   1991047213
+       .long   1067753521
+       .long   0
+       .long   1070596096
+       .long   1455828442
+       .long   3220086593
+       .long   3758096384
+       .long   3162988721
+       .long   386665102
+       .long   1068146822
+       .long   0
+       .long   1070596096
+       .long   2873938189
+       .long   3220078971
+       .long   1610612736
+       .long   1014827774
+       .long   1348311045
+       .long   1068518770
+       .long   0
+       .long   1070596096
+       .long   3964199186
+       .long   3220071048
+       .long   3758096384
+       .long   1013017430
+       .long   165911977
+       .long   1068713865
+       .long   0
+       .long   1070596096
+       .long   1261158782
+       .long   3220062826
+       .long   2147483648
+       .long   3163195192
+       .long   3601629044
+       .long   1068908137
+       .long   0
+       .long   1070596096
+       .long   83265253
+       .long   3220054305
+       .long   1610612736
+       .long   1015026887
+       .long   1962712856
+       .long   1069101559
+       .long   0
+       .long   1070596096
+       .long   1647164971
+       .long   3220045486
+       .long   2147483648
+       .long   1015354602
+       .long   3286832763
+       .long   1069294100
+       .long   0
+       .long   1070596096
+       .long   3066872380
+       .long   3220036371
+       .long   3221225472
+       .long   3163044919
+       .long   3296146332
+       .long   1069485732
+       .long   0
+       .long   1070596096
+       .long   1647878299
+       .long   3220026962
+       .long   3758096384
+       .long   1014685415
+       .long   1699043957
+       .long   3216902261
+       .long   0
+       .long   1071644672
+       .long   3476196678
+       .long   3220017259
+       .long   0
+       .long   3161741286
+       .long   1896722595
+       .long   3216712534
+       .long   0
+       .long   1071644672
+       .long   1942611595
+       .long   3220007265
+       .long   3221225472
+       .long   1014926433
+       .long   4049357271
+       .long   3216523802
+       .long   0
+       .long   1071644672
+       .long   3511535930
+       .long   3219996980
+       .long   2147483648
+       .long   1015344978
+       .long   1380647130
+       .long   3216336095
+       .long   0
+       .long   1071644672
+       .long   1950234076
+       .long   3219986407
+       .long   536870912
+       .long   1011941850
+       .long   3631910143
+       .long   3216149439
+       .long   0
+       .long   1071644672
+       .long   4097623923
+       .long   3219975546
+       .long   2684354560
+       .long   1012824939
+       .long   1073154251
+       .long   3215945137
+       .long   0
+       .long   1071644672
+       .long   4093443164
+       .long   3219964400
+       .long   536870912
+       .long   3162396513
+       .long   913431823
+       .long   3215576203
+       .long   0
+       .long   1071644672
+       .long   557060597
+       .long   3219952971
+       .long   0
+       .long   1012071286
+       .long   600368053
+       .long   3215209541
+       .long   0
+       .long   1071644672
+       .long   881357723
+       .long   3219941259
+       .long   3221225472
+       .long   3161294538
+       .long   2140183630
+       .long   3214756396
+       .long   0
+       .long   1071644672
+       .long   4051746225
+       .long   3219929266
+       .long   1610612736
+       .long   1014423729
+       .long   3506991783
+       .long   3214032490
+       .long   0
+       .long   1071644672
+       .long   645027145
+       .long   3219916996
+       .long   3221225472
+       .long   3160085887
+       .long   31019393
+       .long   3212646089
+       .long   0
+       .long   1071644672
+       .long   2892993834
+       .long   3219904448
+       .long   536870912
+       .long   1015555495
+       .long   1279178457
+       .long   1064107143
+       .long   0
+       .long   1071644672
+       .long   1731563730
+       .long   3219891626
+       .long   536870912
+       .long   3163023950
+       .long   1220541286
+       .long   1066197478
+       .long   0
+       .long   1071644672
+       .long   1159294526
+       .long   3219878531
+       .long   536870912
+       .long   1015793311
+       .long   2880516564
+       .long   1067003401
+       .long   0
+       .long   1071644672
+       .long   1056266002
+       .long   3219865165
+       .long   2684354560
+       .long   1015985848
+       .long   1102361128
+       .long   1067576117
+       .long   0
+       .long   1071644672
+       .long   1477771776
+       .long   3219851530
+       .long   536870912
+       .long   1015621338
+       .long   1038988426
+       .long   1067922646
+       .long   0
+       .long   1071644672
+       .long   2653017361
+       .long   3219837628
+       .long   0
+       .long   1015316414
+       .long   2598800519
+       .long   1068266419
+       .long   0
+       .long   1071644672
+       .long   688824739
+       .long   3219823462
+       .long   3758096384
+       .long   3157915184
+       .long   3382663878
+       .long   1068553164
+       .long   0
+       .long   1071644672
+       .long   453180130
+       .long   3219809033
+       .long   1073741824
+       .long   1014927633
+       .long   1726519029
+       .long   1068722218
+       .long   0
+       .long   1071644672
+       .long   2688952194
+       .long   3219794343
+       .long   0
+       .long   1014048955
+       .long   802660176
+       .long   1068889817
+       .long   0
+       .long   1071644672
+       .long   4012486548
+       .long   3219779395
+       .long   2684354560
+       .long   3162185212
+       .long   3876290983
+       .long   1069055935
+       .long   0
+       .long   1071644672
+       .long   1207142209
+       .long   3219764192
+       .long   2147483648
+       .long   1015221986
+       .long   2285031318
+       .long   1069220549
+       .long   0
+       .long   1071644672
+       .long   4106737474
+       .long   3219748734
+       .long   2684354560
+       .long   1015108729
+       .long   1224902090
+       .long   1069383633
+       .long   0
+       .long   1071644672
+       .long   1234330619
+       .long   3219733026
+       .long   2684354560
+       .long   3162756121
+       .long   2586490530
+       .long   1069545162
+       .long   0
+       .long   1071644672
+       .long   2750387213
+       .long   3219717068
+       .long   2147483648
+       .long   1013374889
+       .long   2485417816
+       .long   1069626316
+       .long   0
+       .long   1071644672
+       .long   1796544321
+       .long   3219700864
+       .long   536870912
+       .long   1015203297
+       .long   1852581091
+       .long   1069705490
+       .long   0
+       .long   1071644672
+       .long   263859903
+       .long   3219684416
+       .long   0
+       .long   1015208636
+       .long   4019165092
+       .long   1069783850
+       .long   0
+       .long   1071644672
+       .long   201299822
+       .long   3219667726
+       .long   3758096384
+       .long   1014428704
+       .long   1250776663
+       .long   1069861386
+       .long   0
+       .long   1071644672
+       .long   3814135665
+       .long   3219650796
+       .long   3221225472
+       .long   1015662808
+       .long   3526603391
+       .long   1069938084
+       .long   0
+       .long   1071644672
+       .long   577417135
+       .long   3219633631
+       .long   2684354560
+       .long   1014035767
+       .long   4187227697
+       .long   1070013934
+       .long   0
+       .long   1071644672
+       .long   1594061409
+       .long   3219616231
+       .long   2147483648
+       .long   3161837518
+       .long   1416934267
+       .long   1070088925
+       .long   0
+       .long   1071644672
+       .long   938475414
+       .long   3219598600
+       .long   0
+       .long   3162559727
+       .long   2546065654
+       .long   1070163044
+       .long   0
+       .long   1071644672
+       .long   1424664751
+       .long   3219580740
+       .long   3221225472
+       .long   1015921667
+       .long   2583490354
+       .long   1070236281
+       .long   0
+       .long   1071644672
+       .long   1719614413
+       .long   3219562654
+       .long   0
+       .long   1015799092
+       .long   1403691706
+       .long   1070308625
+       .long   0
+       .long   1071644672
+       .long   636516413
+       .long   3219544345
+       .long   3758096384
+       .long   3163307364
+       .long   3753901657
+       .long   1070380064
+       .long   0
+       .long   1071644672
+       .long   1427975391
+       .long   3219525815
+       .long   1073741824
+       .long   1014124979
+       .long   2081278341
+       .long   1070450589
+       .long   0
+       .long   1071644672
+       .long   3194290572
+       .long   3219507067
+       .long   2147483648
+       .long   3162532330
+       .long   2309668539
+       .long   1070520188
+       .long   0
+       .long   1071644672
+       .long   881650848
+       .long   3219488105
+       .long   2147483648
+       .long   1015502624
+       .long   2371640770
+       .long   1070588851
+       .long   0
+       .long   1071644672
+       .long   2460177814
+       .long   3219468930
+       .long   2147483648
+       .long   1014633195
+       .long   3489768009
+       .long   3218019271
+       .long   0
+       .long   1072693248
+       .long   3152274921
+       .long   3219449546
+       .long   3758096384
+       .long   3160654483
+       .long   3239527685
+       .long   3217952511
+       .long   0
+       .long   1072693248
+       .long   2610628921
+       .long   3219429956
+       .long   1610612736
+       .long   1015185121
+       .long   1403757309
+       .long   3217886718
+       .long   0
+       .long   1072693248
+       .long   621354454
+       .long   3219410163
+       .long   536870912
+       .long   3160934250
+       .long   1883353036
+       .long   3217821901
+       .long   0
+       .long   1072693248
+       .long   1397053140
+       .long   3219390169
+       .long   1610612736
+       .long   3162728726
+       .long   3652612115
+       .long   3217758070
+       .long   0
+       .long   1072693248
+       .long   689983673
+       .long   3219369978
+       .long   3758096384
+       .long   3162390053
+       .long   752919289
+       .long   3217695236
+       .long   0
+       .long   1072693248
+       .long   2969983475
+       .long   3219349592
+       .long   2684354560
+       .long   1015151795
+       .long   3761365757
+       .long   3217633406
+       .long   0
+       .long   1072693248
+       .long   4242632757
+       .long   3219329015
+       .long   536870912
+       .long   1013906630
+       .long   1129922991
+       .long   3217572592
+       .long   0
+       .long   1072693248
+       .long   637203434
+       .long   3219308251
+       .long   3221225472
+       .long   1011960193
+       .long   2129093113
+       .long   3217512801
+       .long   0
+       .long   1072693248
+       .long   1289556703
+       .long   3219287301
+       .long   536870912
+       .long   1015405172
+       .long   2482246777
+       .long   3217454043
+       .long   0
+       .long   1072693248
+       .long   2570316633
+       .long   3219266169
+       .long   1610612736
+       .long   1015261105
+       .long   1539668340
+       .long   3217396327
+       .long   0
+       .long   1072693248
+       .long   967731400
+       .long   3219244859
+       .long   536870912
+       .long   3163235805
+       .long   2272832445
+       .long   3217339661
+       .long   0
+       .long   1072693248
+       .long   1675549513
+       .long   3219223373
+       .long   3221225472
+       .long   1015541490
+       .long   2678847490
+       .long   3217284054
+       .long   0
+       .long   1072693248
+       .long   1411074851
+       .long   3219201715
+       .long   1610612736
+       .long   1016001083
+       .long   69903290
+       .long   3217229515
+       .long   0
+       .long   1072693248
+       .long   1297975695
+       .long   3219179888
+       .long   3221225472
+       .long   1015600087
+       .long   3952756490
+       .long   3217176050
+       .long   0
+       .long   1072693248
+       .long   2569207790
+       .long   3219157895
+       .long   1073741824
+       .long   1015699969
+       .long   1663679671
+       .long   3217123670
+       .long   0
+       .long   1072693248
+       .long   2269920951
+       .long   3219135740
+       .long   3758096384
+       .long   1014188597
+       .long   1312926554
+       .long   3217072381
+       .long   0
+       .long   1072693248
+       .long   3690502842
+       .long   3219098532
+       .long   3221225472
+       .long   1009970207
+       .long   3429717432
+       .long   3217013214
+       .long   0
+       .long   1072693248
+       .long   1391425750
+       .long   3219053593
+       .long   3221225472
+       .long   1014878455
+       .long   1945768569
+       .long   3216915048
+       .long   0
+       .long   1072693248
+       .long   939980347
+       .long   3219008349
+       .long   0
+       .long   3160280457
+       .long   1539072807
+       .long   3216819110
+       .long   0
+       .long   1072693248
+       .long   1535566729
+       .long   3218962807
+       .long   2147483648
+       .long   3161805036
+       .long   4133449816
+       .long   3216725414
+       .long   0
+       .long   1072693248
+       .long   2570175582
+       .long   3218916974
+       .long   1073741824
+       .long   3159786766
+       .long   1612193054
+       .long   3216633976
+       .long   0
+       .long   1072693248
+       .long   3623952103
+       .long   3218870857
+       .long   2684354560
+       .long   1014502314
+       .long   1578746984
+       .long   3216544808
+       .long   0
+       .long   1072693248
+       .long   165764288
+       .long   3218824464
+       .long   3221225472
+       .long   3160781666
+       .long   1577996576
+       .long   3216457924
+       .long   0
+       .long   1072693248
+       .long   728580042
+       .long   3218777800
+       .long   1610612736
+       .long   1014849296
+       .long   1972483635
+       .long   3216373337
+       .long   0
+       .long   1072693248
+       .long   1135144330
+       .long   3218730873
+       .long   536870912
+       .long   3160857217
+       .long   1638976426
+       .long   3216291060
+       .long   0
+       .long   1072693248
+       .long   1673302999
+       .long   3218683690
+       .long   2147483648
+       .long   3160835121
+       .long   2255197647
+       .long   3216211105
+       .long   0
+       .long   1072693248
+       .long   2796464483
+       .long   3218636258
+       .long   3221225472
+       .long   1013394669
+       .long   3996842794
+       .long   3216133484
+       .long   0
+       .long   1072693248
+       .long   824036583
+       .long   3218588585
+       .long   0
+       .long   3155796978
+       .long   1234824733
+       .long   3216058210
+       .long   0
+       .long   1072693248
+       .long   821708191
+       .long   3218540677
+       .long   3758096384
+       .long   1014254361
+       .long   4002549419
+       .long   3215985292
+       .long   0
+       .long   1072693248
+       .long   3711903686
+       .long   3218492541
+       .long   1073741824
+       .long   3159428395
+       .long   2962723252
+       .long   3215846895
+       .long   0
+       .long   1072693248
+       .long   1974149085
+       .long   3218444186
+       .long   3221225472
+       .long   1008664000
+       .long   1296295961
+       .long   3215710555
+       .long   0
+       .long   1072693248
+       .long   1115219818
+       .long   3218395618
+       .long   0
+       .long   3160555890
+       .long   997322465
+       .long   3215578993
+       .long   0
+       .long   1072693248
+       .long   2484561409
+       .long   3218346844
+       .long   1073741824
+       .long   3161508220
+       .long   1261629236
+       .long   3215452229
+       .long   0
+       .long   1072693248
+       .long   3269558610
+       .long   3218297872
+       .long   536870912
+       .long   1014221568
+       .long   2476548698
+       .long   3215330282
+       .long   0
+       .long   1072693248
+       .long   785751814
+       .long   3218248710
+       .long   2684354560
+       .long   1014354573
+       .long   1913604284
+       .long   3215213171
+       .long   0
+       .long   1072693248
+       .long   1062001470
+       .long   3218199364
+       .long   0
+       .long   1013391572
+       .long   2306566604
+       .long   3215100913
+       .long   0
+       .long   1072693248
+       .long   1655830135
+       .long   3218149842
+       .long   0
+       .long   3161990338
+       .long   3250111450
+       .long   3214993525
+       .long   0
+       .long   1072693248
+       .long   238550446
+       .long   3218100152
+       .long   2684354560
+       .long   1006899917
+       .long   2377770267
+       .long   3214848032
+       .long   0
+       .long   1072693248
+       .long   2065784603
+       .long   3218020857
+       .long   3758096384
+       .long   1013198318
+       .long   288924873
+       .long   3214652833
+       .long   0
+       .long   1072693248
+       .long   3846521617
+       .long   3217920847
+       .long   536870912
+       .long   3160890258
+       .long   1935888103
+       .long   3214467466
+       .long   0
+       .long   1072693248
+       .long   1786662755
+       .long   3217820546
+       .long   2147483648
+       .long   1008398659
+       .long   2660899430
+       .long   3214291960
+       .long   0
+       .long   1072693248
+       .long   632292433
+       .long   3217719968
+       .long   3758096384
+       .long   1013479685
+       .long   18115067
+       .long   3214126342
+       .long   0
+       .long   1072693248
+       .long   1013556747
+       .long   3217619128
+       .long   2684354560
+       .long   1013083417
+       .long   2346447124
+       .long   3213970635
+       .long   0
+       .long   1072693248
+       .long   3729833777
+       .long   3217518041
+       .long   3758096384
+       .long   3160528366
+       .long   1672287667
+       .long   3213764289
+       .long   0
+       .long   1072693248
+       .long   1149976518
+       .long   3217416724
+       .long   1610612736
+       .long   3160748543
+       .long   3451754846
+       .long   3213492662
+       .long   0
+       .long   1072693248
+       .long   2972270170
+       .long   3217315190
+       .long   1073741824
+       .long   1012041122
+       .long   1037482584
+       .long   3213240992
+       .long   0
+       .long   1072693248
+       .long   1854824762
+       .long   3217213456
+       .long   2684354560
+       .long   3159437312
+       .long   2592747447
+       .long   3213009315
+       .long   0
+       .long   1072693248
+       .long   3470456183
+       .long   3217111536
+       .long   1073741824
+       .long   1013261123
+       .long   2402293340
+       .long   3212758471
+       .long   0
+       .long   1072693248
+       .long   1453945614
+       .long   3216987726
+       .long   1610612736
+       .long   3158976260
+       .long   1227670166
+       .long   3212375297
+       .long   0
+       .long   1072693248
+       .long   3349070549
+       .long   3216783237
+       .long   3758096384
+       .long   1009054621
+       .long   393047345
+       .long   3212032302
+       .long   0
+       .long   1072693248
+       .long   3156849708
+       .long   3216578470
+       .long   3221225472
+       .long   1010706200
+       .long   1118107366
+       .long   3211670787
+       .long   0
+       .long   1072693248
+       .long   177906713
+       .long   3216373456
+       .long   3221225472
+       .long   1011826722
+       .long   4269262315
+       .long   3211145810
+       .long   0
+       .long   1072693248
+       .long   2462980598
+       .long   3216168224
+       .long   2684354560
+       .long   1011458184
+       .long   3810305407
+       .long   3210663220
+       .long   0
+       .long   1072693248
+       .long   2046304480
+       .long   3215943022
+       .long   3758096384
+       .long   1008919019
+       .long   220529721
+       .long   3209935929
+       .long   0
+       .long   1072693248
+       .long   4044216340
+       .long   3215531877
+       .long   0
+       .long   1009324733
+       .long   69373323
+       .long   3209049152
+       .long   0
+       .long   1072693248
+       .long   1972655565
+       .long   3215120485
+       .long   1073741824
+       .long   3156641526
+       .long   3650591271
+       .long   3207838971
+       .long   0
+       .long   1072693248
+       .long   4154680958
+       .long   3214483797
+       .long   0
+       .long   1006312803
+       .long   2376373521
+       .long   3205741868
+       .long   0
+       .long   1072693248
+       .long   4242458500
+       .long   3213435345
+       .long   2684354560
+       .long   3156838286
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .long   239972940
+       .long   1089470464
+       .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   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   1431651400
+       .long   3217380693
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   2880656668
+       .long   1065423119
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   0
+       .long   3219128320
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   1431653583
+       .long   1067799893
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .long   2976101079
+       .long   3210133866
+       .type   __svml_dsin_data_internal_ha,@object
+       .size   __svml_dsin_data_internal_ha,17280
+       .align 64
+__svml_dsin_reduction_data_internal:
+       .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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   1
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   5
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   10
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   20
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   40
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   81
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   162
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   325
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   651
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1303
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2607
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   5215
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   10430
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   20860
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   41721
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   83443
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   166886
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   333772
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   667544
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1335088
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2670176
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   5340353
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   10680707
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   21361414
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   42722829
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   85445659
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   170891318
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   341782637
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   683565275
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1367130551
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2734261102
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1173554908
+       .long   1
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2347109817
+       .long   2
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   399252338
+       .long   5
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   798504676
+       .long   10
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1597009353
+       .long   20
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3194018707
+       .long   40
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2093070119
+       .long   81
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4186140238
+       .long   162
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4077313180
+       .long   325
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3859659065
+       .long   651
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3424350834
+       .long   1303
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2553734372
+       .long   2607
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   812501448
+       .long   5215
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1625002897
+       .long   10430
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3250005794
+       .long   20860
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2205044292
+       .long   41721
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   115121288
+       .long   83443
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   230242576
+       .long   166886
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   460485152
+       .long   333772
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   920970305
+       .long   667544
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1841940610
+       .long   1335088
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3683881221
+       .long   2670176
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3072795146
+       .long   5340353
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1850622997
+       .long   10680707
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3701245994
+       .long   21361414
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3107524692
+       .long   42722829
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1920082089
+       .long   85445659
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3840164178
+       .long   170891318
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3385361061
+       .long   341782637
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2475754826
+       .long   683565275
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   656542356
+       .long   1367130551
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1313084713
+       .long   2734261102
+       .long   0
+       .long   0
+       .long   1
+       .long   0
+       .long   2626169427
+       .long   1173554908
+       .long   0
+       .long   0
+       .long   2
+       .long   0
+       .long   957371559
+       .long   2347109817
+       .long   0
+       .long   0
+       .long   5
+       .long   0
+       .long   1914743119
+       .long   399252338
+       .long   0
+       .long   0
+       .long   10
+       .long   0
+       .long   3829486239
+       .long   798504676
+       .long   0
+       .long   0
+       .long   20
+       .long   0
+       .long   3364005183
+       .long   1597009353
+       .long   0
+       .long   0
+       .long   40
+       .long   0
+       .long   2433043071
+       .long   3194018707
+       .long   0
+       .long   0
+       .long   81
+       .long   0
+       .long   571118846
+       .long   2093070119
+       .long   0
+       .long   0
+       .long   162
+       .long   0
+       .long   1142237692
+       .long   4186140238
+       .long   0
+       .long   0
+       .long   325
+       .long   0
+       .long   2284475384
+       .long   4077313180
+       .long   0
+       .long   0
+       .long   651
+       .long   0
+       .long   273983472
+       .long   3859659065
+       .long   0
+       .long   0
+       .long   1303
+       .long   0
+       .long   547966945
+       .long   3424350834
+       .long   0
+       .long   0
+       .long   2607
+       .long   0
+       .long   1095933890
+       .long   2553734372
+       .long   0
+       .long   0
+       .long   5215
+       .long   0
+       .long   2191867780
+       .long   812501448
+       .long   0
+       .long   0
+       .long   10430
+       .long   0
+       .long   88768265
+       .long   1625002897
+       .long   0
+       .long   0
+       .long   20860
+       .long   0
+       .long   177536531
+       .long   3250005794
+       .long   0
+       .long   0
+       .long   41721
+       .long   0
+       .long   355073063
+       .long   2205044292
+       .long   0
+       .long   0
+       .long   83443
+       .long   0
+       .long   710146126
+       .long   115121288
+       .long   0
+       .long   0
+       .long   166886
+       .long   0
+       .long   1420292253
+       .long   230242576
+       .long   0
+       .long   0
+       .long   333772
+       .long   0
+       .long   2840584506
+       .long   460485152
+       .long   0
+       .long   0
+       .long   667544
+       .long   0
+       .long   1386201717
+       .long   920970305
+       .long   0
+       .long   0
+       .long   1335088
+       .long   0
+       .long   2772403434
+       .long   1841940610
+       .long   0
+       .long   0
+       .long   2670176
+       .long   0
+       .long   1249839573
+       .long   3683881221
+       .long   0
+       .long   0
+       .long   5340353
+       .long   0
+       .long   2499679147
+       .long   3072795146
+       .long   0
+       .long   0
+       .long   10680707
+       .long   0
+       .long   704390999
+       .long   1850622997
+       .long   0
+       .long   0
+       .long   21361414
+       .long   0
+       .long   1408781999
+       .long   3701245994
+       .long   0
+       .long   0
+       .long   42722829
+       .long   0
+       .long   2817563999
+       .long   3107524692
+       .long   0
+       .long   0
+       .long   85445659
+       .long   0
+       .long   1340160702
+       .long   1920082089
+       .long   0
+       .long   0
+       .long   170891318
+       .long   0
+       .long   2680321405
+       .long   3840164178
+       .long   0
+       .long   0
+       .long   341782637
+       .long   0
+       .long   1065675514
+       .long   3385361061
+       .long   0
+       .long   0
+       .long   683565275
+       .long   0
+       .long   2131351028
+       .long   2475754826
+       .long   0
+       .long   0
+       .long   1367130551
+       .long   0
+       .long   4262702056
+       .long   656542356
+       .long   0
+       .long   0
+       .long   2734261102
+       .long   0
+       .long   4230436817
+       .long   1313084713
+       .long   0
+       .long   0
+       .long   1173554908
+       .long   1
+       .long   4165906339
+       .long   2626169427
+       .long   0
+       .long   0
+       .long   2347109817
+       .long   2
+       .long   4036845383
+       .long   957371559
+       .long   0
+       .long   0
+       .long   399252338
+       .long   5
+       .long   3778723471
+       .long   1914743119
+       .long   0
+       .long   0
+       .long   798504676
+       .long   10
+       .long   3262479647
+       .long   3829486239
+       .long   0
+       .long   0
+       .long   1597009353
+       .long   20
+       .long   2229991998
+       .long   3364005183
+       .long   0
+       .long   0
+       .long   3194018707
+       .long   40
+       .long   165016701
+       .long   2433043071
+       .long   0
+       .long   0
+       .long   2093070119
+       .long   81
+       .long   330033402
+       .long   571118846
+       .long   0
+       .long   0
+       .long   4186140238
+       .long   162
+       .long   660066805
+       .long   1142237692
+       .long   0
+       .long   0
+       .long   4077313180
+       .long   325
+       .long   1320133610
+       .long   2284475384
+       .long   0
+       .long   0
+       .long   3859659065
+       .long   651
+       .long   2640267220
+       .long   273983472
+       .long   0
+       .long   0
+       .long   3424350834
+       .long   1303
+       .long   985567145
+       .long   547966945
+       .long   0
+       .long   0
+       .long   2553734372
+       .long   2607
+       .long   1971134291
+       .long   1095933890
+       .long   0
+       .long   0
+       .long   812501448
+       .long   5215
+       .long   3942268582
+       .long   2191867780
+       .long   0
+       .long   0
+       .long   1625002897
+       .long   10430
+       .long   3589569869
+       .long   88768265
+       .long   0
+       .long   0
+       .long   3250005794
+       .long   20860
+       .long   2884172442
+       .long   177536531
+       .long   0
+       .long   0
+       .long   2205044292
+       .long   41721
+       .long   1473377588
+       .long   355073063
+       .long   0
+       .long   0
+       .long   115121288
+       .long   83443
+       .long   2946755177
+       .long   710146126
+       .long   0
+       .long   0
+       .long   230242576
+       .long   166886
+       .long   1598543059
+       .long   1420292253
+       .long   0
+       .long   0
+       .long   460485152
+       .long   333772
+       .long   3197086118
+       .long   2840584506
+       .long   0
+       .long   0
+       .long   920970305
+       .long   667544
+       .long   2099204941
+       .long   1386201717
+       .long   0
+       .long   0
+       .long   1841940610
+       .long   1335088
+       .long   4198409883
+       .long   2772403434
+       .long   0
+       .long   0
+       .long   3683881221
+       .long   2670176
+       .long   4101852471
+       .long   1249839573
+       .long   0
+       .long   0
+       .long   3072795146
+       .long   5340353
+       .long   3908737646
+       .long   2499679147
+       .long   0
+       .long   0
+       .long   1850622997
+       .long   10680707
+       .long   3522507997
+       .long   704390999
+       .long   0
+       .long   0
+       .long   3701245994
+       .long   21361414
+       .long   2750048699
+       .long   1408781999
+       .long   0
+       .long   0
+       .long   3107524692
+       .long   42722829
+       .long   1205130103
+       .long   2817563999
+       .long   0
+       .long   0
+       .long   1920082089
+       .long   85445659
+       .long   2410260206
+       .long   1340160702
+       .long   0
+       .long   0
+       .long   3840164178
+       .long   170891318
+       .long   525553116
+       .long   2680321405
+       .long   0
+       .long   0
+       .long   3385361061
+       .long   341782637
+       .long   1051106232
+       .long   1065675514
+       .long   0
+       .long   0
+       .long   2475754826
+       .long   683565275
+       .long   2102212464
+       .long   2131351028
+       .long   0
+       .long   0
+       .long   656542356
+       .long   1367130551
+       .long   4204424928
+       .long   4262702056
+       .long   0
+       .long   0
+       .long   1313084713
+       .long   2734261102
+       .long   4113882560
+       .long   4230436817
+       .long   1
+       .long   0
+       .long   2626169427
+       .long   1173554908
+       .long   3932797825
+       .long   4165906339
+       .long   2
+       .long   0
+       .long   957371559
+       .long   2347109817
+       .long   3570628355
+       .long   4036845383
+       .long   5
+       .long   0
+       .long   1914743119
+       .long   399252338
+       .long   2846289414
+       .long   3778723471
+       .long   10
+       .long   0
+       .long   3829486239
+       .long   798504676
+       .long   1397611533
+       .long   3262479647
+       .long   20
+       .long   0
+       .long   3364005183
+       .long   1597009353
+       .long   2795223067
+       .long   2229991998
+       .long   40
+       .long   0
+       .long   2433043071
+       .long   3194018707
+       .long   1295478838
+       .long   165016701
+       .long   81
+       .long   0
+       .long   571118846
+       .long   2093070119
+       .long   2590957677
+       .long   330033402
+       .long   162
+       .long   0
+       .long   1142237692
+       .long   4186140238
+       .long   886948059
+       .long   660066805
+       .long   325
+       .long   0
+       .long   2284475384
+       .long   4077313180
+       .long   1773896118
+       .long   1320133610
+       .long   651
+       .long   0
+       .long   273983472
+       .long   3859659065
+       .long   3547792237
+       .long   2640267220
+       .long   1303
+       .long   0
+       .long   547966945
+       .long   3424350834
+       .long   2800617179
+       .long   985567145
+       .long   2607
+       .long   0
+       .long   1095933890
+       .long   2553734372
+       .long   1306267062
+       .long   1971134291
+       .long   5215
+       .long   0
+       .long   2191867780
+       .long   812501448
+       .long   2612534124
+       .long   3942268582
+       .long   10430
+       .long   0
+       .long   88768265
+       .long   1625002897
+       .long   930100952
+       .long   3589569869
+       .long   20860
+       .long   0
+       .long   177536531
+       .long   3250005794
+       .long   1860201905
+       .long   2884172442
+       .long   41721
+       .long   0
+       .long   355073063
+       .long   2205044292
+       .long   3720403810
+       .long   1473377588
+       .long   83443
+       .long   0
+       .long   710146126
+       .long   115121288
+       .long   3145840325
+       .long   2946755177
+       .long   166886
+       .long   0
+       .long   1420292253
+       .long   230242576
+       .long   1996713354
+       .long   1598543059
+       .long   333772
+       .long   0
+       .long   2840584506
+       .long   460485152
+       .long   3993426708
+       .long   3197086118
+       .long   667544
+       .long   0
+       .long   1386201717
+       .long   920970305
+       .long   3691886121
+       .long   2099204941
+       .long   1335088
+       .long   0
+       .long   2772403434
+       .long   1841940610
+       .long   3088804946
+       .long   4198409883
+       .long   2670176
+       .long   0
+       .long   1249839573
+       .long   3683881221
+       .long   1882642597
+       .long   4101852471
+       .long   5340353
+       .long   0
+       .long   2499679147
+       .long   3072795146
+       .long   3765285194
+       .long   3908737646
+       .long   10680707
+       .long   0
+       .long   704390999
+       .long   1850622997
+       .long   3235603093
+       .long   3522507997
+       .long   21361414
+       .long   0
+       .long   1408781999
+       .long   3701245994
+       .long   2176238891
+       .long   2750048699
+       .long   42722829
+       .long   0
+       .long   2817563999
+       .long   3107524692
+       .long   57510486
+       .long   1205130103
+       .long   85445659
+       .long   0
+       .long   1340160702
+       .long   1920082089
+       .long   115020972
+       .long   2410260206
+       .long   170891318
+       .long   0
+       .long   2680321405
+       .long   3840164178
+       .long   230041945
+       .long   525553116
+       .long   341782637
+       .long   0
+       .long   1065675514
+       .long   3385361061
+       .long   460083891
+       .long   1051106232
+       .long   683565275
+       .long   0
+       .long   2131351028
+       .long   2475754826
+       .long   920167782
+       .long   2102212464
+       .long   1367130551
+       .long   0
+       .long   4262702056
+       .long   656542356
+       .long   1840335564
+       .long   4204424928
+       .long   2734261102
+       .long   0
+       .long   4230436817
+       .long   1313084713
+       .long   3680671129
+       .long   4113882560
+       .long   1173554908
+       .long   1
+       .long   4165906339
+       .long   2626169427
+       .long   3066374962
+       .long   3932797825
+       .long   2347109817
+       .long   2
+       .long   4036845383
+       .long   957371559
+       .long   1837782628
+       .long   3570628355
+       .long   399252338
+       .long   5
+       .long   3778723471
+       .long   1914743119
+       .long   3675565257
+       .long   2846289414
+       .long   798504676
+       .long   10
+       .long   3262479647
+       .long   3829486239
+       .long   3056163219
+       .long   1397611533
+       .long   1597009353
+       .long   20
+       .long   2229991998
+       .long   3364005183
+       .long   1817359143
+       .long   2795223067
+       .long   3194018707
+       .long   40
+       .long   165016701
+       .long   2433043071
+       .long   3634718287
+       .long   1295478838
+       .long   2093070119
+       .long   81
+       .long   330033402
+       .long   571118846
+       .long   2974469278
+       .long   2590957677
+       .long   4186140238
+       .long   162
+       .long   660066805
+       .long   1142237692
+       .long   1653971260
+       .long   886948059
+       .long   4077313180
+       .long   325
+       .long   1320133610
+       .long   2284475384
+       .long   3307942520
+       .long   1773896118
+       .long   3859659065
+       .long   651
+       .long   2640267220
+       .long   273983472
+       .long   2320917745
+       .long   3547792237
+       .long   3424350834
+       .long   1303
+       .long   985567145
+       .long   547966945
+       .long   346868194
+       .long   2800617179
+       .long   2553734372
+       .long   2607
+       .long   1971134291
+       .long   1095933890
+       .long   693736388
+       .long   1306267062
+       .long   812501448
+       .long   5215
+       .long   3942268582
+       .long   2191867780
+       .long   1387472776
+       .long   2612534124
+       .long   1625002897
+       .long   10430
+       .long   3589569869
+       .long   88768265
+       .long   2774945552
+       .long   930100952
+       .long   3250005794
+       .long   20860
+       .long   2884172442
+       .long   177536531
+       .long   1254923809
+       .long   1860201905
+       .long   2205044292
+       .long   41721
+       .long   1473377588
+       .long   355073063
+       .long   2509847619
+       .long   3720403810
+       .long   115121288
+       .long   83443
+       .long   2946755177
+       .long   710146126
+       .long   724727943
+       .long   3145840325
+       .long   230242576
+       .long   166886
+       .long   1598543059
+       .long   1420292253
+       .long   1449455886
+       .long   1996713354
+       .long   460485152
+       .long   333772
+       .long   3197086118
+       .long   2840584506
+       .long   2898911772
+       .long   3993426708
+       .long   920970305
+       .long   667544
+       .long   2099204941
+       .long   1386201717
+       .long   1502856249
+       .long   3691886121
+       .long   1841940610
+       .long   1335088
+       .long   4198409883
+       .long   2772403434
+       .long   3005712498
+       .long   3088804946
+       .long   3683881221
+       .long   2670176
+       .long   4101852471
+       .long   1249839573
+       .long   1716457700
+       .long   1882642597
+       .long   3072795146
+       .long   5340353
+       .long   3908737646
+       .long   2499679147
+       .long   3432915400
+       .long   3765285194
+       .long   1850622997
+       .long   10680707
+       .long   3522507997
+       .long   704390999
+       .long   2570863504
+       .long   3235603093
+       .long   3701245994
+       .long   21361414
+       .long   2750048699
+       .long   1408781999
+       .long   846759712
+       .long   2176238891
+       .long   3107524692
+       .long   42722829
+       .long   1205130103
+       .long   2817563999
+       .long   1693519425
+       .long   57510486
+       .long   1920082089
+       .long   85445659
+       .long   2410260206
+       .long   1340160702
+       .long   3387038850
+       .long   115020972
+       .long   3840164178
+       .long   170891318
+       .long   525553116
+       .long   2680321405
+       .long   2479110404
+       .long   230041945
+       .long   3385361061
+       .long   341782637
+       .long   1051106232
+       .long   1065675514
+       .long   663253512
+       .long   460083891
+       .long   2475754826
+       .long   683565275
+       .long   2102212464
+       .long   2131351028
+       .long   1326507024
+       .long   920167782
+       .long   656542356
+       .long   1367130551
+       .long   4204424928
+       .long   4262702056
+       .long   2653014048
+       .long   1840335564
+       .long   1313084713
+       .long   2734261102
+       .long   4113882560
+       .long   4230436817
+       .long   1011060801
+       .long   3680671129
+       .long   2626169427
+       .long   1173554908
+       .long   3932797825
+       .long   4165906339
+       .long   2022121603
+       .long   3066374962
+       .long   957371559
+       .long   2347109817
+       .long   3570628355
+       .long   4036845383
+       .long   4044243207
+       .long   1837782628
+       .long   1914743119
+       .long   399252338
+       .long   2846289414
+       .long   3778723471
+       .long   3793519119
+       .long   3675565257
+       .long   3829486239
+       .long   798504676
+       .long   1397611533
+       .long   3262479647
+       .long   3292070943
+       .long   3056163219
+       .long   3364005183
+       .long   1597009353
+       .long   2795223067
+       .long   2229991998
+       .long   2289174591
+       .long   1817359143
+       .long   2433043071
+       .long   3194018707
+       .long   1295478838
+       .long   165016701
+       .long   283381887
+       .long   3634718287
+       .long   571118846
+       .long   2093070119
+       .long   2590957677
+       .long   330033402
+       .long   566763775
+       .long   2974469278
+       .long   1142237692
+       .long   4186140238
+       .long   886948059
+       .long   660066805
+       .long   1133527550
+       .long   1653971260
+       .long   2284475384
+       .long   4077313180
+       .long   1773896118
+       .long   1320133610
+       .long   2267055100
+       .long   3307942520
+       .long   273983472
+       .long   3859659065
+       .long   3547792237
+       .long   2640267220
+       .long   239142905
+       .long   2320917745
+       .long   547966945
+       .long   3424350834
+       .long   2800617179
+       .long   985567145
+       .long   478285810
+       .long   346868194
+       .long   1095933890
+       .long   2553734372
+       .long   1306267062
+       .long   1971134291
+       .long   956571621
+       .long   693736388
+       .long   2191867780
+       .long   812501448
+       .long   2612534124
+       .long   3942268582
+       .long   1913143242
+       .long   1387472776
+       .long   88768265
+       .long   1625002897
+       .long   930100952
+       .long   3589569869
+       .long   3826286484
+       .long   2774945552
+       .long   177536531
+       .long   3250005794
+       .long   1860201905
+       .long   2884172442
+       .long   3357605672
+       .long   1254923809
+       .long   355073063
+       .long   2205044292
+       .long   3720403810
+       .long   1473377588
+       .long   2420244049
+       .long   2509847619
+       .long   710146126
+       .long   115121288
+       .long   3145840325
+       .long   2946755177
+       .long   545520802
+       .long   724727943
+       .long   1420292253
+       .long   230242576
+       .long   1996713354
+       .long   1598543059
+       .long   1091041605
+       .long   1449455886
+       .long   2840584506
+       .long   460485152
+       .long   3993426708
+       .long   3197086118
+       .long   2182083211
+       .long   2898911772
+       .long   1386201717
+       .long   920970305
+       .long   3691886121
+       .long   2099204941
+       .long   69199126
+       .long   1502856249
+       .long   2772403434
+       .long   1841940610
+       .long   3088804946
+       .long   4198409883
+       .long   138398252
+       .long   3005712498
+       .long   1249839573
+       .long   3683881221
+       .long   1882642597
+       .long   4101852471
+       .long   276796504
+       .long   1716457700
+       .long   2499679147
+       .long   3072795146
+       .long   3765285194
+       .long   3908737646
+       .long   553593009
+       .long   3432915400
+       .long   704390999
+       .long   1850622997
+       .long   3235603093
+       .long   3522507997
+       .long   1107186019
+       .long   2570863504
+       .long   1408781999
+       .long   3701245994
+       .long   2176238891
+       .long   2750048699
+       .long   2214372039
+       .long   846759712
+       .long   2817563999
+       .long   3107524692
+       .long   57510486
+       .long   1205130103
+       .long   133776782
+       .long   1693519425
+       .long   1340160702
+       .long   1920082089
+       .long   115020972
+       .long   2410260206
+       .long   267553565
+       .long   3387038850
+       .long   2680321405
+       .long   3840164178
+       .long   230041945
+       .long   525553116
+       .long   535107130
+       .long   2479110404
+       .long   1065675514
+       .long   3385361061
+       .long   460083891
+       .long   1051106232
+       .long   1070214261
+       .long   663253512
+       .long   2131351028
+       .long   2475754826
+       .long   920167782
+       .long   2102212464
+       .long   2140428522
+       .long   1326507024
+       .long   4262702056
+       .long   656542356
+       .long   1840335564
+       .long   4204424928
+       .long   4280857045
+       .long   2653014048
+       .long   4230436817
+       .long   1313084713
+       .long   3680671129
+       .long   4113882560
+       .long   4266746795
+       .long   1011060801
+       .long   4165906339
+       .long   2626169427
+       .long   3066374962
+       .long   3932797825
+       .long   4238526295
+       .long   2022121603
+       .long   4036845383
+       .long   957371559
+       .long   1837782628
+       .long   3570628355
+       .long   4182085295
+       .long   4044243207
+       .long   3778723471
+       .long   1914743119
+       .long   3675565257
+       .long   2846289414
+       .long   4069203294
+       .long   3793519119
+       .long   3262479647
+       .long   3829486239
+       .long   3056163219
+       .long   1397611533
+       .long   3843439293
+       .long   3292070943
+       .long   2229991998
+       .long   3364005183
+       .long   1817359143
+       .long   2795223067
+       .long   3391911291
+       .long   2289174591
+       .long   165016701
+       .long   2433043071
+       .long   3634718287
+       .long   1295478838
+       .long   2488855287
+       .long   283381887
+       .long   330033402
+       .long   571118846
+       .long   2974469278
+       .long   2590957677
+       .long   682743279
+       .long   566763775
+       .long   660066805
+       .long   1142237692
+       .long   1653971260
+       .long   886948059
+       .long   1365486558
+       .long   1133527550
+       .long   1320133610
+       .long   2284475384
+       .long   3307942520
+       .long   1773896118
+       .long   2730973117
+       .long   2267055100
+       .long   2640267220
+       .long   273983472
+       .long   2320917745
+       .long   3547792237
+       .long   1166978938
+       .long   239142905
+       .long   985567145
+       .long   547966945
+       .long   346868194
+       .long   2800617179
+       .long   2333957877
+       .long   478285810
+       .long   1971134291
+       .long   1095933890
+       .long   693736388
+       .long   1306267062
+       .long   372948459
+       .long   956571621
+       .long   3942268582
+       .long   2191867780
+       .long   1387472776
+       .long   2612534124
+       .long   745896919
+       .long   1913143242
+       .long   3589569869
+       .long   88768265
+       .long   2774945552
+       .long   930100952
+       .long   1491793838
+       .long   3826286484
+       .long   2884172442
+       .long   177536531
+       .long   1254923809
+       .long   1860201905
+       .long   2983587677
+       .long   3357605672
+       .long   1473377588
+       .long   355073063
+       .long   2509847619
+       .long   3720403810
+       .long   1672208059
+       .long   2420244049
+       .long   2946755177
+       .long   710146126
+       .long   724727943
+       .long   3145840325
+       .long   3344416119
+       .long   545520802
+       .long   1598543059
+       .long   1420292253
+       .long   1449455886
+       .long   1996713354
+       .long   2393864943
+       .long   1091041605
+       .long   3197086118
+       .long   2840584506
+       .long   2898911772
+       .long   3993426708
+       .long   492762590
+       .long   2182083211
+       .long   2099204941
+       .long   1386201717
+       .long   1502856249
+       .long   3691886121
+       .long   985525180
+       .long   69199126
+       .long   4198409883
+       .long   2772403434
+       .long   3005712498
+       .long   3088804946
+       .long   1971050360
+       .long   138398252
+       .long   4101852471
+       .long   1249839573
+       .long   1716457700
+       .long   1882642597
+       .long   3942100721
+       .long   276796504
+       .long   3908737646
+       .long   2499679147
+       .long   3432915400
+       .long   3765285194
+       .long   3589234146
+       .long   553593009
+       .long   3522507997
+       .long   704390999
+       .long   2570863504
+       .long   3235603093
+       .long   2883500997
+       .long   1107186019
+       .long   2750048699
+       .long   1408781999
+       .long   846759712
+       .long   2176238891
+       .long   1472034698
+       .long   2214372039
+       .long   1205130103
+       .long   2817563999
+       .long   1693519425
+       .long   57510486
+       .long   2944069397
+       .long   133776782
+       .long   2410260206
+       .long   1340160702
+       .long   3387038850
+       .long   115020972
+       .long   1593171499
+       .long   267553565
+       .long   525553116
+       .long   2680321405
+       .long   2479110404
+       .long   230041945
+       .long   3186342998
+       .long   535107130
+       .long   1051106232
+       .long   1065675514
+       .long   663253512
+       .long   460083891
+       .long   2077718700
+       .long   1070214261
+       .long   2102212464
+       .long   2131351028
+       .long   1326507024
+       .long   920167782
+       .long   4155437400
+       .long   2140428522
+       .long   4204424928
+       .long   4262702056
+       .long   2653014048
+       .long   1840335564
+       .long   4015907504
+       .long   4280857045
+       .long   4113882560
+       .long   4230436817
+       .long   1011060801
+       .long   3680671129
+       .long   3736847713
+       .long   4266746795
+       .long   3932797825
+       .long   4165906339
+       .long   2022121603
+       .long   3066374962
+       .long   3178728131
+       .long   4238526295
+       .long   3570628355
+       .long   4036845383
+       .long   4044243207
+       .long   1837782628
+       .long   2062488966
+       .long   4182085295
+       .long   2846289414
+       .long   3778723471
+       .long   3793519119
+       .long   3675565257
+       .long   4124977933
+       .long   4069203294
+       .long   1397611533
+       .long   3262479647
+       .long   3292070943
+       .long   3056163219
+       .long   3954988571
+       .long   3843439293
+       .long   2795223067
+       .long   2229991998
+       .long   2289174591
+       .long   1817359143
+       .long   3615009846
+       .long   3391911291
+       .long   1295478838
+       .long   165016701
+       .long   283381887
+       .long   3634718287
+       .long   2935052397
+       .long   2488855287
+       .long   2590957677
+       .long   330033402
+       .long   566763775
+       .long   2974469278
+       .long   1575137499
+       .long   682743279
+       .long   886948059
+       .long   660066805
+       .long   1133527550
+       .long   1653971260
+       .long   3150274999
+       .long   1365486558
+       .long   1773896118
+       .long   1320133610
+       .long   2267055100
+       .long   3307942520
+       .long   2005582702
+       .long   2730973117
+       .long   3547792237
+       .long   2640267220
+       .long   239142905
+       .long   2320917745
+       .long   4011165404
+       .long   1166978938
+       .long   2800617179
+       .long   985567145
+       .long   478285810
+       .long   346868194
+       .long   3727363513
+       .long   2333957877
+       .long   1306267062
+       .long   1971134291
+       .long   956571621
+       .long   693736388
+       .long   3159759730
+       .long   372948459
+       .long   2612534124
+       .long   3942268582
+       .long   1913143242
+       .long   1387472776
+       .long   2024552164
+       .long   745896919
+       .long   930100952
+       .long   3589569869
+       .long   3826286484
+       .long   2774945552
+       .long   4049104329
+       .long   1491793838
+       .long   1860201905
+       .long   2884172442
+       .long   3357605672
+       .long   1254923809
+       .long   3803241362
+       .long   2983587677
+       .long   3720403810
+       .long   1473377588
+       .long   2420244049
+       .long   2509847619
+       .long   3311515428
+       .long   1672208059
+       .long   3145840325
+       .long   2946755177
+       .long   545520802
+       .long   724727943
+       .long   2328063560
+       .long   3344416119
+       .long   1996713354
+       .long   1598543059
+       .long   1091041605
+       .long   1449455886
+       .long   361159825
+       .long   2393864943
+       .long   3993426708
+       .long   3197086118
+       .long   2182083211
+       .long   2898911772
+       .long   722319651
+       .long   492762590
+       .long   3691886121
+       .long   2099204941
+       .long   69199126
+       .long   1502856249
+       .long   1444639302
+       .long   985525180
+       .long   3088804946
+       .long   4198409883
+       .long   138398252
+       .long   3005712498
+       .long   2889278605
+       .long   1971050360
+       .long   1882642597
+       .long   4101852471
+       .long   276796504
+       .long   1716457700
+       .long   1483589915
+       .long   3942100721
+       .long   3765285194
+       .long   3908737646
+       .long   553593009
+       .long   3432915400
+       .long   2967179831
+       .long   3589234146
+       .long   3235603093
+       .long   3522507997
+       .long   1107186019
+       .long   2570863504
+       .long   1639392366
+       .long   2883500997
+       .long   2176238891
+       .long   2750048699
+       .long   2214372039
+       .long   846759712
+       .long   3278784732
+       .long   1472034698
+       .long   57510486
+       .long   1205130103
+       .long   133776782
+       .long   1693519425
+       .long   2262602168
+       .long   2944069397
+       .long   115020972
+       .long   2410260206
+       .long   267553565
+       .long   3387038850
+       .long   230237041
+       .long   1593171499
+       .long   230041945
+       .long   525553116
+       .long   535107130
+       .long   2479110404
+       .long   460474083
+       .long   3186342998
+       .long   460083891
+       .long   1051106232
+       .long   1070214261
+       .long   663253512
+       .long   920948167
+       .long   2077718700
+       .long   920167782
+       .long   2102212464
+       .long   2140428522
+       .long   1326507024
+       .long   1841896334
+       .long   4155437400
+       .long   1840335564
+       .long   4204424928
+       .long   4280857045
+       .long   2653014048
+       .long   3683792669
+       .long   4015907504
+       .long   3680671129
+       .long   4113882560
+       .long   4266746795
+       .long   1011060801
+       .long   3072618042
+       .long   3736847713
+       .long   3066374962
+       .long   3932797825
+       .long   4238526295
+       .long   2022121603
+       .long   1850268788
+       .long   3178728131
+       .long   1837782628
+       .long   3570628355
+       .long   4182085295
+       .long   4044243207
+       .long   3700537577
+       .long   2062488966
+       .long   3675565257
+       .long   2846289414
+       .long   4069203294
+       .long   3793519119
+       .long   3106107858
+       .long   4124977933
+       .long   3056163219
+       .long   1397611533
+       .long   3843439293
+       .long   3292070943
+       .long   1917248420
+       .long   3954988571
+       .long   1817359143
+       .long   2795223067
+       .long   3391911291
+       .long   2289174591
+       .long   3834496840
+       .long   3615009846
+       .long   3634718287
+       .long   1295478838
+       .long   2488855287
+       .long   283381887
+       .long   3374026384
+       .long   2935052397
+       .long   2974469278
+       .long   2590957677
+       .long   682743279
+       .long   566763775
+       .long   2453085473
+       .long   1575137499
+       .long   1653971260
+       .long   886948059
+       .long   1365486558
+       .long   1133527550
+       .long   611203650
+       .long   3150274999
+       .long   3307942520
+       .long   1773896118
+       .long   2730973117
+       .long   2267055100
+       .long   1222407300
+       .long   2005582702
+       .long   2320917745
+       .long   3547792237
+       .long   1166978938
+       .long   239142905
+       .long   2444814601
+       .long   4011165404
+       .long   346868194
+       .long   2800617179
+       .long   2333957877
+       .long   478285810
+       .long   594661906
+       .long   3727363513
+       .long   693736388
+       .long   1306267062
+       .long   372948459
+       .long   956571621
+       .long   1189323812
+       .long   3159759730
+       .long   1387472776
+       .long   2612534124
+       .long   745896919
+       .long   1913143242
+       .long   2378647625
+       .long   2024552164
+       .long   2774945552
+       .long   930100952
+       .long   1491793838
+       .long   3826286484
+       .long   462327955
+       .long   4049104329
+       .long   1254923809
+       .long   1860201905
+       .long   2983587677
+       .long   3357605672
+       .long   924655910
+       .long   3803241362
+       .long   2509847619
+       .long   3720403810
+       .long   1672208059
+       .long   2420244049
+       .long   1849311821
+       .long   3311515428
+       .long   724727943
+       .long   3145840325
+       .long   3344416119
+       .long   545520802
+       .long   3698623643
+       .long   2328063560
+       .long   1449455886
+       .long   1996713354
+       .long   2393864943
+       .long   1091041605
+       .long   3102279991
+       .long   361159825
+       .long   2898911772
+       .long   3993426708
+       .long   492762590
+       .long   2182083211
+       .long   1909592686
+       .long   722319651
+       .long   1502856249
+       .long   3691886121
+       .long   985525180
+       .long   69199126
+       .long   3819185373
+       .long   1444639302
+       .long   3005712498
+       .long   3088804946
+       .long   1971050360
+       .long   138398252
+       .long   3343403450
+       .long   2889278605
+       .long   1716457700
+       .long   1882642597
+       .long   3942100721
+       .long   276796504
+       .long   2391839604
+       .long   1483589915
+       .long   3432915400
+       .long   3765285194
+       .long   3589234146
+       .long   553593009
+       .long   488711913
+       .long   2967179831
+       .long   2570863504
+       .long   3235603093
+       .long   2883500997
+       .long   1107186019
+       .long   977423826
+       .long   1639392366
+       .long   846759712
+       .long   2176238891
+       .long   1472034698
+       .long   2214372039
+       .long   1954847653
+       .long   3278784732
+       .long   1693519425
+       .long   57510486
+       .long   2944069397
+       .long   133776782
+       .long   3909695307
+       .long   2262602168
+       .long   3387038850
+       .long   115020972
+       .long   1593171499
+       .long   267553565
+       .long   3524423319
+       .long   230237041
+       .long   2479110404
+       .long   230041945
+       .long   3186342998
+       .long   535107130
+       .long   2753879342
+       .long   460474083
+       .long   663253512
+       .long   460083891
+       .long   2077718700
+       .long   1070214261
+       .long   1212791388
+       .long   920948167
+       .long   1326507024
+       .long   920167782
+       .long   4155437400
+       .long   2140428522
+       .long   2425582776
+       .long   1841896334
+       .long   2653014048
+       .long   1840335564
+       .long   4015907504
+       .long   4280857045
+       .long   556198256
+       .long   3683792669
+       .long   1011060801
+       .long   3680671129
+       .long   3736847713
+       .long   4266746795
+       .long   1112396512
+       .long   3072618042
+       .long   2022121603
+       .long   3066374962
+       .long   3178728131
+       .long   4238526295
+       .long   2224793024
+       .long   1850268788
+       .long   4044243207
+       .long   1837782628
+       .long   2062488966
+       .long   4182085295
+       .long   154618752
+       .long   3700537577
+       .long   3793519119
+       .long   3675565257
+       .long   4124977933
+       .long   4069203294
+       .long   309237504
+       .long   3106107858
+       .long   3292070943
+       .long   3056163219
+       .long   3954988571
+       .long   3843439293
+       .long   618475008
+       .long   1917248420
+       .long   2289174591
+       .long   1817359143
+       .long   3615009846
+       .long   3391911291
+       .long   1236950016
+       .long   3834496840
+       .long   283381887
+       .long   3634718287
+       .long   2935052397
+       .long   2488855287
+       .long   2473900033
+       .long   3374026384
+       .long   566763775
+       .long   2974469278
+       .long   1575137499
+       .long   682743279
+       .long   652832771
+       .long   2453085473
+       .long   1133527550
+       .long   1653971260
+       .long   3150274999
+       .long   1365486558
+       .long   1305665542
+       .long   611203650
+       .long   2267055100
+       .long   3307942520
+       .long   2005582702
+       .long   2730973117
+       .long   2611331084
+       .long   1222407300
+       .long   239142905
+       .long   2320917745
+       .long   4011165404
+       .long   1166978938
+       .long   927694873
+       .long   2444814601
+       .long   478285810
+       .long   346868194
+       .long   3727363513
+       .long   2333957877
+       .long   1855389746
+       .long   594661906
+       .long   956571621
+       .long   693736388
+       .long   3159759730
+       .long   372948459
+       .long   3710779492
+       .long   1189323812
+       .long   1913143242
+       .long   1387472776
+       .long   2024552164
+       .long   745896919
+       .long   3126591689
+       .long   2378647625
+       .long   3826286484
+       .long   2774945552
+       .long   4049104329
+       .long   1491793838
+       .long   1958216082
+       .long   462327955
+       .long   3357605672
+       .long   1254923809
+       .long   3803241362
+       .long   2983587677
+       .long   3916432164
+       .long   924655910
+       .long   2420244049
+       .long   2509847619
+       .long   3311515428
+       .long   1672208059
+       .long   3537897033
+       .long   1849311821
+       .long   545520802
+       .long   724727943
+       .long   2328063560
+       .long   3344416119
+       .long   2780826770
+       .long   3698623643
+       .long   1091041605
+       .long   1449455886
+       .long   361159825
+       .long   2393864943
+       .long   1266686244
+       .long   3102279991
+       .long   2182083211
+       .long   2898911772
+       .long   722319651
+       .long   492762590
+       .long   2533372489
+       .long   1909592686
+       .long   69199126
+       .long   1502856249
+       .long   1444639302
+       .long   985525180
+       .long   771777682
+       .long   3819185373
+       .long   138398252
+       .long   3005712498
+       .long   2889278605
+       .long   1971050360
+       .long   1543555365
+       .long   3343403450
+       .long   276796504
+       .long   1716457700
+       .long   1483589915
+       .long   3942100721
+       .long   3087110731
+       .long   2391839604
+       .long   553593009
+       .long   3432915400
+       .long   2967179831
+       .long   3589234146
+       .long   1879254167
+       .long   488711913
+       .long   1107186019
+       .long   2570863504
+       .long   1639392366
+       .long   2883500997
+       .long   3758508334
+       .long   977423826
+       .long   2214372039
+       .long   846759712
+       .long   3278784732
+       .long   1472034698
+       .long   3222049373
+       .long   1954847653
+       .long   133776782
+       .long   1693519425
+       .long   2262602168
+       .long   2944069397
+       .long   2149131451
+       .long   3909695307
+       .long   267553565
+       .long   3387038850
+       .long   230237041
+       .long   1593171499
+       .long   3295607
+       .long   3524423319
+       .long   535107130
+       .long   2479110404
+       .long   460474083
+       .long   3186342998
+       .long   6591214
+       .long   2753879342
+       .long   1070214261
+       .long   663253512
+       .long   920948167
+       .long   2077718700
+       .long   13182429
+       .long   1212791388
+       .long   2140428522
+       .long   1326507024
+       .long   1841896334
+       .long   4155437400
+       .long   26364858
+       .long   2425582776
+       .long   4280857045
+       .long   2653014048
+       .long   3683792669
+       .long   4015907504
+       .long   52729717
+       .long   556198256
+       .long   4266746795
+       .long   1011060801
+       .long   3072618042
+       .long   3736847713
+       .long   105459434
+       .long   1112396512
+       .long   4238526295
+       .long   2022121603
+       .long   1850268788
+       .long   3178728131
+       .long   210918868
+       .long   2224793024
+       .long   4182085295
+       .long   4044243207
+       .long   3700537577
+       .long   2062488966
+       .long   421837736
+       .long   154618752
+       .long   4069203294
+       .long   3793519119
+       .long   3106107858
+       .long   4124977933
+       .long   843675472
+       .long   309237504
+       .long   3843439293
+       .long   3292070943
+       .long   1917248420
+       .long   3954988571
+       .long   1687350944
+       .long   618475008
+       .long   3391911291
+       .long   2289174591
+       .long   3834496840
+       .long   3615009846
+       .long   3374701889
+       .long   1236950016
+       .long   2488855287
+       .long   283381887
+       .long   3374026384
+       .long   2935052397
+       .long   2454436482
+       .long   2473900033
+       .long   682743279
+       .long   566763775
+       .long   2453085473
+       .long   1575137499
+       .long   613905668
+       .long   652832771
+       .long   1365486558
+       .long   1133527550
+       .long   611203650
+       .long   3150274999
+       .long   1227811337
+       .long   1305665542
+       .long   2730973117
+       .long   2267055100
+       .long   1222407300
+       .long   2005582702
+       .long   2455622675
+       .long   2611331084
+       .long   1166978938
+       .long   239142905
+       .long   2444814601
+       .long   4011165404
+       .long   616278055
+       .long   927694873
+       .long   2333957877
+       .long   478285810
+       .long   594661906
+       .long   3727363513
+       .long   1232556110
+       .long   1855389746
+       .long   372948459
+       .long   956571621
+       .long   1189323812
+       .long   3159759730
+       .long   2465112221
+       .long   3710779492
+       .long   745896919
+       .long   1913143242
+       .long   2378647625
+       .long   2024552164
+       .long   635257146
+       .long   3126591689
+       .long   1491793838
+       .long   3826286484
+       .long   462327955
+       .long   4049104329
+       .long   1270514292
+       .long   1958216082
+       .long   2983587677
+       .long   3357605672
+       .long   924655910
+       .long   3803241362
+       .long   2541028584
+       .long   3916432164
+       .long   1672208059
+       .long   2420244049
+       .long   1849311821
+       .long   3311515428
+       .long   787089873
+       .long   3537897033
+       .long   3344416119
+       .long   545520802
+       .long   3698623643
+       .long   2328063560
+       .long   1574179747
+       .long   2780826770
+       .long   2393864943
+       .long   1091041605
+       .long   3102279991
+       .long   361159825
+       .long   3148359494
+       .long   1266686244
+       .long   492762590
+       .long   2182083211
+       .long   1909592686
+       .long   722319651
+       .long   2001751692
+       .long   2533372489
+       .long   985525180
+       .long   69199126
+       .long   3819185373
+       .long   1444639302
+       .long   4003503385
+       .long   771777682
+       .long   1971050360
+       .long   138398252
+       .long   3343403450
+       .long   2889278605
+       .long   3712039474
+       .long   1543555365
+       .long   3942100721
+       .long   276796504
+       .long   2391839604
+       .long   1483589915
+       .long   3129111652
+       .long   3087110731
+       .long   3589234146
+       .long   553593009
+       .long   488711913
+       .long   2967179831
+       .long   1963256009
+       .long   1879254167
+       .long   2883500997
+       .long   1107186019
+       .long   977423826
+       .long   1639392366
+       .long   3926512018
+       .long   3758508334
+       .long   1472034698
+       .long   2214372039
+       .long   1954847653
+       .long   3278784732
+       .long   3558056740
+       .long   3222049373
+       .long   2944069397
+       .long   133776782
+       .long   3909695307
+       .long   2262602168
+       .long   2821146184
+       .long   2149131451
+       .long   1593171499
+       .long   267553565
+       .long   3524423319
+       .long   230237041
+       .long   1347325072
+       .long   3295607
+       .long   3186342998
+       .long   535107130
+       .long   2753879342
+       .long   460474083
+       .long   2694650145
+       .long   6591214
+       .long   2077718700
+       .long   1070214261
+       .long   1212791388
+       .long   920948167
+       .long   1094332995
+       .long   13182429
+       .long   4155437400
+       .long   2140428522
+       .long   2425582776
+       .long   1841896334
+       .long   2188665991
+       .long   26364858
+       .long   4015907504
+       .long   4280857045
+       .long   556198256
+       .long   3683792669
+       .long   82364686
+       .long   52729717
+       .long   3736847713
+       .long   4266746795
+       .long   1112396512
+       .long   3072618042
+       .long   164729372
+       .long   105459434
+       .long   3178728131
+       .long   4238526295
+       .long   2224793024
+       .long   1850268788
+       .long   329458745
+       .long   210918868
+       .long   2062488966
+       .long   4182085295
+       .long   154618752
+       .long   3700537577
+       .long   658917491
+       .long   421837736
+       .long   4124977933
+       .long   4069203294
+       .long   309237504
+       .long   3106107858
+       .long   1317834983
+       .long   843675472
+       .long   3954988571
+       .long   3843439293
+       .long   618475008
+       .long   1917248420
+       .long   2635669967
+       .long   1687350944
+       .long   3615009846
+       .long   3391911291
+       .long   1236950016
+       .long   3834496840
+       .long   976372639
+       .long   3374701889
+       .long   2935052397
+       .long   2488855287
+       .long   2473900033
+       .long   3374026384
+       .long   1952745279
+       .long   2454436482
+       .long   1575137499
+       .long   682743279
+       .long   652832771
+       .long   2453085473
+       .long   3905490559
+       .long   613905668
+       .long   3150274999
+       .long   1365486558
+       .long   1305665542
+       .long   611203650
+       .long   3516013822
+       .long   1227811337
+       .long   2005582702
+       .long   2730973117
+       .long   2611331084
+       .long   1222407300
+       .long   2737060348
+       .long   2455622675
+       .long   4011165404
+       .long   1166978938
+       .long   927694873
+       .long   2444814601
+       .long   1179153400
+       .long   616278055
+       .long   3727363513
+       .long   2333957877
+       .long   1855389746
+       .long   594661906
+       .long   2358306800
+       .long   1232556110
+       .long   3159759730
+       .long   372948459
+       .long   3710779492
+       .long   1189323812
+       .long   421646305
+       .long   2465112221
+       .long   2024552164
+       .long   745896919
+       .long   3126591689
+       .long   2378647625
+       .long   843292611
+       .long   635257146
+       .long   4049104329
+       .long   1491793838
+       .long   1958216082
+       .long   462327955
+       .long   1686585223
+       .long   1270514292
+       .long   3803241362
+       .long   2983587677
+       .long   3916432164
+       .long   924655910
+       .long   3373170446
+       .long   2541028584
+       .long   3311515428
+       .long   1672208059
+       .long   3537897033
+       .long   1849311821
+       .long   2451373597
+       .long   787089873
+       .long   2328063560
+       .long   3344416119
+       .long   2780826770
+       .long   3698623643
+       .long   607779899
+       .long   1574179747
+       .long   361159825
+       .long   2393864943
+       .long   1266686244
+       .long   3102279991
+       .long   1215559799
+       .long   3148359494
+       .long   722319651
+       .long   492762590
+       .long   2533372489
+       .long   1909592686
+       .long   2431119599
+       .long   2001751692
+       .long   1444639302
+       .long   985525180
+       .long   771777682
+       .long   3819185373
+       .long   567271902
+       .long   4003503385
+       .long   2889278605
+       .long   1971050360
+       .long   1543555365
+       .long   3343403450
+       .long   1134543805
+       .long   3712039474
+       .long   1483589915
+       .long   3942100721
+       .long   3087110731
+       .long   2391839604
+       .long   2269087610
+       .long   3129111652
+       .long   2967179831
+       .long   3589234146
+       .long   1879254167
+       .long   488711913
+       .long   243207925
+       .long   1963256009
+       .long   1639392366
+       .long   2883500997
+       .long   3758508334
+       .long   977423826
+       .long   486415851
+       .long   3926512018
+       .long   3278784732
+       .long   1472034698
+       .long   3222049373
+       .long   1954847653
+       .long   972831702
+       .long   3558056740
+       .long   2262602168
+       .long   2944069397
+       .long   2149131451
+       .long   3909695307
+       .long   1945663404
+       .long   2821146184
+       .long   230237041
+       .long   1593171499
+       .long   3295607
+       .long   3524423319
+       .long   3891326808
+       .long   1347325072
+       .long   460474083
+       .long   3186342998
+       .long   6591214
+       .long   2753879342
+       .long   3487686321
+       .long   2694650145
+       .long   920948167
+       .long   2077718700
+       .long   13182429
+       .long   1212791388
+       .long   2680405347
+       .long   1094332995
+       .long   1841896334
+       .long   4155437400
+       .long   26364858
+       .long   2425582776
+       .long   1065843399
+       .long   2188665991
+       .long   3683792669
+       .long   4015907504
+       .long   52729717
+       .long   556198256
+       .long   2131686798
+       .long   82364686
+       .long   3072618042
+       .long   3736847713
+       .long   105459434
+       .long   1112396512
+       .long   4263373596
+       .long   164729372
+       .long   1850268788
+       .long   3178728131
+       .long   210918868
+       .long   2224793024
+       .long   4231779897
+       .long   329458745
+       .long   3700537577
+       .long   2062488966
+       .long   421837736
+       .long   154618752
+       .long   4168592498
+       .long   658917491
+       .long   3106107858
+       .long   4124977933
+       .long   843675472
+       .long   309237504
+       .long   4042217701
+       .long   1317834983
+       .long   1917248420
+       .long   3954988571
+       .long   1687350944
+       .long   618475008
+       .long   3789468107
+       .long   2635669967
+       .long   3834496840
+       .long   3615009846
+       .long   3374701889
+       .long   1236950016
+       .long   3283968918
+       .long   976372639
+       .long   3374026384
+       .long   2935052397
+       .long   2454436482
+       .long   2473900033
+       .long   2272970540
+       .long   1952745279
+       .long   2453085473
+       .long   1575137499
+       .long   613905668
+       .long   652832771
+       .long   250973784
+       .long   3905490559
+       .long   611203650
+       .long   3150274999
+       .long   1227811337
+       .long   1305665542
+       .long   501947569
+       .long   3516013822
+       .long   1222407300
+       .long   2005582702
+       .long   2455622675
+       .long   2611331084
+       .long   1003895138
+       .long   2737060348
+       .long   2444814601
+       .long   4011165404
+       .long   616278055
+       .long   927694873
+       .long   2007790276
+       .long   1179153400
+       .long   594661906
+       .long   3727363513
+       .long   1232556110
+       .long   1855389746
+       .long   4015580553
+       .long   2358306800
+       .long   1189323812
+       .long   3159759730
+       .long   2465112221
+       .long   3710779492
+       .long   3736193810
+       .long   421646305
+       .long   2378647625
+       .long   2024552164
+       .long   635257146
+       .long   3126591689
+       .long   3177420325
+       .long   843292611
+       .long   462327955
+       .long   4049104329
+       .long   1270514292
+       .long   1958216082
+       .long   2059873354
+       .long   1686585223
+       .long   924655910
+       .long   3803241362
+       .long   2541028584
+       .long   3916432164
+       .long   4119746708
+       .long   3373170446
+       .long   1849311821
+       .long   3311515428
+       .long   787089873
+       .long   3537897033
+       .long   3944526121
+       .long   2451373597
+       .long   3698623643
+       .long   2328063560
+       .long   1574179747
+       .long   2780826770
+       .long   3594084947
+       .long   607779899
+       .long   3102279991
+       .long   361159825
+       .long   3148359494
+       .long   1266686244
+       .long   2893202598
+       .long   1215559799
+       .long   1909592686
+       .long   722319651
+       .long   2001751692
+       .long   2533372489
+       .long   1491437901
+       .long   2431119599
+       .long   3819185373
+       .long   1444639302
+       .long   4003503385
+       .long   771777682
+       .long   2982875802
+       .long   567271902
+       .long   3343403450
+       .long   2889278605
+       .long   3712039474
+       .long   1543555365
+       .long   1670784308
+       .long   1134543805
+       .long   2391839604
+       .long   1483589915
+       .long   3129111652
+       .long   3087110731
+       .long   3341568617
+       .long   2269087610
+       .long   488711913
+       .long   2967179831
+       .long   1963256009
+       .long   1879254167
+       .long   2388169939
+       .long   243207925
+       .long   977423826
+       .long   1639392366
+       .long   3926512018
+       .long   3758508334
+       .long   481372583
+       .long   486415851
+       .long   1954847653
+       .long   3278784732
+       .long   3558056740
+       .long   3222049373
+       .long   962745166
+       .long   972831702
+       .long   3909695307
+       .long   2262602168
+       .long   2821146184
+       .long   2149131451
+       .long   1925490332
+       .long   1945663404
+       .long   3524423319
+       .long   230237041
+       .long   1347325072
+       .long   3295607
+       .long   3850980665
+       .long   3891326808
+       .long   2753879342
+       .long   460474083
+       .long   2694650145
+       .long   6591214
+       .long   3406994035
+       .long   3487686321
+       .long   1212791388
+       .long   920948167
+       .long   1094332995
+       .long   13182429
+       .long   2519020775
+       .long   2680405347
+       .long   2425582776
+       .long   1841896334
+       .long   2188665991
+       .long   26364858
+       .long   743074255
+       .long   1065843399
+       .long   556198256
+       .long   3683792669
+       .long   82364686
+       .long   52729717
+       .long   1486148511
+       .long   2131686798
+       .long   1112396512
+       .long   3072618042
+       .long   164729372
+       .long   105459434
+       .long   2972297022
+       .long   4263373596
+       .long   2224793024
+       .long   1850268788
+       .long   329458745
+       .long   210918868
+       .long   1649626749
+       .long   4231779897
+       .long   154618752
+       .long   3700537577
+       .long   658917491
+       .long   421837736
+       .long   3299253499
+       .long   4168592498
+       .long   309237504
+       .long   3106107858
+       .long   1317834983
+       .long   843675472
+       .long   2303539703
+       .long   4042217701
+       .long   618475008
+       .long   1917248420
+       .long   2635669967
+       .long   1687350944
+       .long   312112110
+       .long   3789468107
+       .long   1236950016
+       .long   3834496840
+       .long   976372639
+       .long   3374701889
+       .long   624224221
+       .long   3283968918
+       .long   2473900033
+       .long   3374026384
+       .long   1952745279
+       .long   2454436482
+       .long   1248448442
+       .long   2272970540
+       .long   652832771
+       .long   2453085473
+       .long   3905490559
+       .long   613905668
+       .long   2496896884
+       .long   250973784
+       .long   1305665542
+       .long   611203650
+       .long   3516013822
+       .long   1227811337
+       .long   698826472
+       .long   501947569
+       .long   2611331084
+       .long   1222407300
+       .long   2737060348
+       .long   2455622675
+       .long   1397652945
+       .long   1003895138
+       .long   927694873
+       .long   2444814601
+       .long   1179153400
+       .long   616278055
+       .long   2795305890
+       .long   2007790276
+       .long   1855389746
+       .long   594661906
+       .long   2358306800
+       .long   1232556110
+       .long   1295644484
+       .long   4015580553
+       .long   3710779492
+       .long   1189323812
+       .long   421646305
+       .long   2465112221
+       .long   2591288968
+       .long   3736193810
+       .long   3126591689
+       .long   2378647625
+       .long   843292611
+       .long   635257146
+       .long   887610640
+       .long   3177420325
+       .long   1958216082
+       .long   462327955
+       .long   1686585223
+       .long   1270514292
+       .long   1775221280
+       .long   2059873354
+       .long   3916432164
+       .long   924655910
+       .long   3373170446
+       .long   2541028584
+       .long   3550442561
+       .long   4119746708
+       .long   3537897033
+       .long   1849311821
+       .long   2451373597
+       .long   787089873
+       .long   2805917826
+       .long   3944526121
+       .long   2780826770
+       .long   3698623643
+       .long   607779899
+       .long   1574179747
+       .long   1316868356
+       .long   3594084947
+       .long   1266686244
+       .long   3102279991
+       .long   1215559799
+       .long   3148359494
+       .long   2633736712
+       .long   2893202598
+       .long   2533372489
+       .long   1909592686
+       .long   2431119599
+       .long   2001751692
+       .long   972506129
+       .long   1491437901
+       .long   771777682
+       .long   3819185373
+       .long   567271902
+       .long   4003503385
+       .long   1945012259
+       .long   2982875802
+       .long   1543555365
+       .long   3343403450
+       .long   1134543805
+       .long   3712039474
+       .long   3890024518
+       .long   1670784308
+       .long   3087110731
+       .long   2391839604
+       .long   2269087610
+       .long   3129111652
+       .long   3485081741
+       .long   3341568617
+       .long   1879254167
+       .long   488711913
+       .long   243207925
+       .long   1963256009
+       .long   2675196186
+       .long   2388169939
+       .long   3758508334
+       .long   977423826
+       .long   486415851
+       .long   3926512018
+       .long   1055425077
+       .long   481372583
+       .long   3222049373
+       .long   1954847653
+       .long   972831702
+       .long   3558056740
+       .long   2110850155
+       .long   962745166
+       .long   2149131451
+       .long   3909695307
+       .long   1945663404
+       .long   2821146184
+       .long   4221700311
+       .long   1925490332
+       .long   3295607
+       .long   3524423319
+       .long   3891326808
+       .long   1347325072
+       .long   4148433327
+       .long   3850980665
+       .long   6591214
+       .long   2753879342
+       .long   3487686321
+       .long   2694650145
+       .long   4001899359
+       .long   3406994035
+       .long   13182429
+       .long   1212791388
+       .long   2680405347
+       .long   1094332995
+       .long   3708831422
+       .long   2519020775
+       .long   26364858
+       .long   2425582776
+       .long   1065843399
+       .long   2188665991
+       .long   3122695549
+       .long   743074255
+       .long   52729717
+       .long   556198256
+       .long   2131686798
+       .long   82364686
+       .long   1950423802
+       .long   1486148511
+       .long   105459434
+       .long   1112396512
+       .long   4263373596
+       .long   164729372
+       .long   3900847605
+       .long   2972297022
+       .long   210918868
+       .long   2224793024
+       .long   4231779897
+       .long   329458745
+       .long   3506727914
+       .long   1649626749
+       .long   421837736
+       .long   154618752
+       .long   4168592498
+       .long   658917491
+       .long   2718488532
+       .long   3299253499
+       .long   843675472
+       .long   309237504
+       .long   4042217701
+       .long   1317834983
+       .long   1142009769
+       .long   2303539703
+       .long   1687350944
+       .long   618475008
+       .long   3789468107
+       .long   2635669967
+       .long   2284019538
+       .long   312112110
+       .long   3374701889
+       .long   1236950016
+       .long   3283968918
+       .long   976372639
+       .long   273071781
+       .long   624224221
+       .long   2454436482
+       .long   2473900033
+       .long   2272970540
+       .long   1952745279
+       .long   546143563
+       .long   1248448442
+       .long   613905668
+       .long   652832771
+       .long   250973784
+       .long   3905490559
+       .long   1092287127
+       .long   2496896884
+       .long   1227811337
+       .long   1305665542
+       .long   501947569
+       .long   3516013822
+       .long   2184574254
+       .long   698826472
+       .long   2455622675
+       .long   2611331084
+       .long   1003895138
+       .long   2737060348
+       .long   74181213
+       .long   1397652945
+       .long   616278055
+       .long   927694873
+       .long   2007790276
+       .long   1179153400
+       .long   148362426
+       .long   2795305890
+       .long   1232556110
+       .long   1855389746
+       .long   4015580553
+       .long   2358306800
+       .long   296724853
+       .long   1295644484
+       .long   2465112221
+       .long   3710779492
+       .long   3736193810
+       .long   421646305
+       .long   593449707
+       .long   2591288968
+       .long   635257146
+       .long   3126591689
+       .long   3177420325
+       .long   843292611
+       .long   1186899415
+       .long   887610640
+       .long   1270514292
+       .long   1958216082
+       .long   2059873354
+       .long   1686585223
+       .long   2373798830
+       .long   1775221280
+       .long   2541028584
+       .long   3916432164
+       .long   4119746708
+       .long   3373170446
+       .long   452630365
+       .long   3550442561
+       .long   787089873
+       .long   3537897033
+       .long   3944526121
+       .long   2451373597
+       .long   905260731
+       .long   2805917826
+       .long   1574179747
+       .long   2780826770
+       .long   3594084947
+       .long   607779899
+       .long   1810521462
+       .long   1316868356
+       .long   3148359494
+       .long   1266686244
+       .long   2893202598
+       .long   1215559799
+       .long   3621042925
+       .long   2633736712
+       .long   2001751692
+       .long   2533372489
+       .long   1491437901
+       .long   2431119599
+       .long   2947118554
+       .long   972506129
+       .long   4003503385
+       .long   771777682
+       .long   2982875802
+       .long   567271902
+       .long   1599269812
+       .long   1945012259
+       .long   3712039474
+       .long   1543555365
+       .long   1670784308
+       .long   1134543805
+       .long   3198539624
+       .long   3890024518
+       .long   3129111652
+       .long   3087110731
+       .long   3341568617
+       .long   2269087610
+       .long   2102111953
+       .long   3485081741
+       .long   1963256009
+       .long   1879254167
+       .long   2388169939
+       .long   243207925
+       .long   4204223906
+       .long   2675196186
+       .long   3926512018
+       .long   3758508334
+       .long   481372583
+       .long   486415851
+       .long   4113480516
+       .long   1055425077
+       .long   3558056740
+       .long   3222049373
+       .long   962745166
+       .long   972831702
+       .long   3931993737
+       .long   2110850155
+       .long   2821146184
+       .long   2149131451
+       .long   1925490332
+       .long   1945663404
+       .long   3569020178
+       .long   4221700311
+       .long   1347325072
+       .long   3295607
+       .long   3850980665
+       .long   3891326808
+       .long   2843073060
+       .long   4148433327
+       .long   2694650145
+       .long   6591214
+       .long   3406994035
+       .long   3487686321
+       .long   1391178824
+       .long   4001899359
+       .long   1094332995
+       .long   13182429
+       .long   2519020775
+       .long   2680405347
+       .long   2782357648
+       .long   3708831422
+       .long   2188665991
+       .long   26364858
+       .long   743074255
+       .long   1065843399
+       .long   1269748001
+       .long   3122695549
+       .long   82364686
+       .long   52729717
+       .long   1486148511
+       .long   2131686798
+       .long   2539496002
+       .long   1950423802
+       .long   164729372
+       .long   105459434
+       .long   2972297022
+       .long   4263373596
+       .long   784024708
+       .long   3900847605
+       .long   329458745
+       .long   210918868
+       .long   1649626749
+       .long   4231779897
+       .long   1568049417
+       .long   3506727914
+       .long   658917491
+       .long   421837736
+       .long   3299253499
+       .long   4168592498
+       .long   3136098835
+       .long   2718488532
+       .long   1317834983
+       .long   843675472
+       .long   2303539703
+       .long   4042217701
+       .long   1977230375
+       .long   1142009769
+       .long   2635669967
+       .long   1687350944
+       .long   312112110
+       .long   3789468107
+       .long   3954460750
+       .long   2284019538
+       .long   976372639
+       .long   3374701889
+       .long   624224221
+       .long   3283968918
+       .long   3613954205
+       .long   273071781
+       .long   1952745279
+       .long   2454436482
+       .long   1248448442
+       .long   2272970540
+       .long   2932941114
+       .long   546143563
+       .long   3905490559
+       .long   613905668
+       .long   2496896884
+       .long   250973784
+       .long   1570914932
+       .long   1092287127
+       .long   3516013822
+       .long   1227811337
+       .long   698826472
+       .long   501947569
+       .long   3141829865
+       .long   2184574254
+       .long   2737060348
+       .long   2455622675
+       .long   1397652945
+       .long   1003895138
+       .long   1988692435
+       .long   74181213
+       .long   1179153400
+       .long   616278055
+       .long   2795305890
+       .long   2007790276
+       .long   3977384870
+       .long   148362426
+       .long   2358306800
+       .long   1232556110
+       .long   1295644484
+       .long   4015580553
+       .long   3659802444
+       .long   296724853
+       .long   421646305
+       .long   2465112221
+       .long   2591288968
+       .long   3736193810
+       .long   3024637593
+       .long   593449707
+       .long   843292611
+       .long   635257146
+       .long   887610640
+       .long   3177420325
+       .long   1754307891
+       .long   1186899415
+       .long   1686585223
+       .long   1270514292
+       .long   1775221280
+       .long   2059873354
+       .long   3508615783
+       .long   2373798830
+       .long   3373170446
+       .long   2541028584
+       .long   3550442561
+       .long   4119746708
+       .long   2722264270
+       .long   452630365
+       .long   2451373597
+       .long   787089873
+       .long   2805917826
+       .long   3944526121
+       .long   1149561244
+       .long   905260731
+       .long   607779899
+       .long   1574179747
+       .long   1316868356
+       .long   3594084947
+       .long   2299122488
+       .long   1810521462
+       .long   1215559799
+       .long   3148359494
+       .long   2633736712
+       .long   2893202598
+       .long   303277681
+       .long   3621042925
+       .long   2431119599
+       .long   2001751692
+       .long   972506129
+       .long   1491437901
+       .long   606555363
+       .long   2947118554
+       .long   567271902
+       .long   4003503385
+       .long   1945012259
+       .long   2982875802
+       .long   1213110727
+       .long   1599269812
+       .long   1134543805
+       .long   3712039474
+       .long   3890024518
+       .long   1670784308
+       .long   2426221454
+       .long   3198539624
+       .long   2269087610
+       .long   3129111652
+       .long   3485081741
+       .long   3341568617
+       .long   557475612
+       .long   2102111953
+       .long   243207925
+       .long   1963256009
+       .long   2675196186
+       .long   2388169939
+       .long   1114951224
+       .long   4204223906
+       .long   486415851
+       .long   3926512018
+       .long   1055425077
+       .long   481372583
+       .long   2229902448
+       .long   4113480516
+       .long   972831702
+       .long   3558056740
+       .long   2110850155
+       .long   962745166
+       .long   164837600
+       .long   3931993737
+       .long   1945663404
+       .long   2821146184
+       .long   4221700311
+       .long   1925490332
+       .long   329675200
+       .long   3569020178
+       .long   3891326808
+       .long   1347325072
+       .long   4148433327
+       .long   3850980665
+       .long   659350401
+       .long   2843073060
+       .long   3487686321
+       .long   2694650145
+       .long   4001899359
+       .long   3406994035
+       .long   1318700802
+       .long   1391178824
+       .long   2680405347
+       .long   1094332995
+       .long   3708831422
+       .long   2519020775
+       .long   2637401604
+       .long   2782357648
+       .long   1065843399
+       .long   2188665991
+       .long   3122695549
+       .long   743074255
+       .long   979835913
+       .long   1269748001
+       .long   2131686798
+       .long   82364686
+       .long   1950423802
+       .long   1486148511
+       .long   1959671827
+       .long   2539496002
+       .long   4263373596
+       .long   164729372
+       .long   3900847605
+       .long   2972297022
+       .long   3919343654
+       .long   784024708
+       .long   4231779897
+       .long   329458745
+       .long   3506727914
+       .long   1649626749
+       .long   3543720013
+       .long   1568049417
+       .long   4168592498
+       .long   658917491
+       .long   2718488532
+       .long   3299253499
+       .long   2792472730
+       .long   3136098835
+       .long   4042217701
+       .long   1317834983
+       .long   1142009769
+       .long   2303539703
+       .long   1289978165
+       .long   1977230375
+       .long   3789468107
+       .long   2635669967
+       .long   2284019538
+       .long   312112110
+       .long   2579956331
+       .long   3954460750
+       .long   3283968918
+       .long   976372639
+       .long   273071781
+       .long   624224221
+       .long   864945366
+       .long   3613954205
+       .long   2272970540
+       .long   1952745279
+       .long   546143563
+       .long   1248448442
+       .long   1729890733
+       .long   2932941114
+       .long   250973784
+       .long   3905490559
+       .long   1092287127
+       .long   2496896884
+       .long   3459781466
+       .long   1570914932
+       .long   501947569
+       .long   3516013822
+       .long   2184574254
+       .long   698826472
+       .long   2624595636
+       .long   3141829865
+       .long   1003895138
+       .long   2737060348
+       .long   74181213
+       .long   1397652945
+       .long   954223976
+       .long   1988692435
+       .long   2007790276
+       .long   1179153400
+       .long   148362426
+       .long   2795305890
+       .long   1908447953
+       .long   3977384870
+       .long   4015580553
+       .long   2358306800
+       .long   296724853
+       .long   1295644484
+       .long   3816895906
+       .long   3659802444
+       .long   3736193810
+       .long   421646305
+       .long   593449707
+       .long   2591288968
+       .long   3338824517
+       .long   3024637593
+       .long   3177420325
+       .long   843292611
+       .long   1186899415
+       .long   887610640
+       .long   2382681739
+       .long   1754307891
+       .long   2059873354
+       .long   1686585223
+       .long   2373798830
+       .long   1775221280
+       .long   470396183
+       .long   3508615783
+       .long   4119746708
+       .long   3373170446
+       .long   452630365
+       .long   3550442561
+       .long   940792367
+       .long   2722264270
+       .long   3944526121
+       .long   2451373597
+       .long   905260731
+       .long   2805917826
+       .long   1881584735
+       .long   1149561244
+       .long   3594084947
+       .long   607779899
+       .long   1810521462
+       .long   1316868356
+       .long   3763169470
+       .long   2299122488
+       .long   2893202598
+       .long   1215559799
+       .long   3621042925
+       .long   2633736712
+       .long   3231371645
+       .long   303277681
+       .long   1491437901
+       .long   2431119599
+       .long   2947118554
+       .long   972506129
+       .long   2167775995
+       .long   606555363
+       .long   2982875802
+       .long   567271902
+       .long   1599269812
+       .long   1945012259
+       .long   40584695
+       .long   1213110727
+       .long   1670784308
+       .long   1134543805
+       .long   3198539624
+       .long   3890024518
+       .long   81169391
+       .long   2426221454
+       .long   3341568617
+       .long   2269087610
+       .long   2102111953
+       .long   3485081741
+       .long   162338783
+       .long   557475612
+       .long   2388169939
+       .long   243207925
+       .long   4204223906
+       .long   2675196186
+       .long   324677567
+       .long   1114951224
+       .long   481372583
+       .long   486415851
+       .long   4113480516
+       .long   1055425077
+       .long   649355134
+       .long   2229902448
+       .long   962745166
+       .long   972831702
+       .long   3931993737
+       .long   2110850155
+       .long   1298710268
+       .long   164837600
+       .long   1925490332
+       .long   1945663404
+       .long   3569020178
+       .long   4221700311
+       .long   2597420537
+       .long   329675200
+       .long   3850980665
+       .long   3891326808
+       .long   2843073060
+       .long   4148433327
+       .long   899873778
+       .long   659350401
+       .long   3406994035
+       .long   3487686321
+       .long   1391178824
+       .long   4001899359
+       .long   1799747556
+       .long   1318700802
+       .long   2519020775
+       .long   2680405347
+       .long   2782357648
+       .long   3708831422
+       .long   3599495112
+       .long   2637401604
+       .long   743074255
+       .long   1065843399
+       .long   1269748001
+       .long   3122695549
+       .long   2904022928
+       .long   979835913
+       .long   1486148511
+       .long   2131686798
+       .long   2539496002
+       .long   1950423802
+       .long   1513078560
+       .long   1959671827
+       .long   2972297022
+       .long   4263373596
+       .long   784024708
+       .long   3900847605
+       .long   3026157121
+       .long   3919343654
+       .long   1649626749
+       .long   4231779897
+       .long   1568049417
+       .long   3506727914
+       .long   1757346946
+       .long   3543720013
+       .long   3299253499
+       .long   4168592498
+       .long   3136098835
+       .long   2718488532
+       .long   3514693892
+       .long   2792472730
+       .long   2303539703
+       .long   4042217701
+       .long   1977230375
+       .long   1142009769
+       .long   2734420489
+       .long   1289978165
+       .long   312112110
+       .long   3789468107
+       .long   3954460750
+       .long   2284019538
+       .long   1173873683
+       .long   2579956331
+       .long   624224221
+       .long   3283968918
+       .long   3613954205
+       .long   273071781
+       .long   2347747367
+       .long   864945366
+       .long   1248448442
+       .long   2272970540
+       .long   2932941114
+       .long   546143563
+       .long   400527438
+       .long   1729890733
+       .long   2496896884
+       .long   250973784
+       .long   1570914932
+       .long   1092287127
+       .long   801054876
+       .long   3459781466
+       .long   698826472
+       .long   501947569
+       .long   3141829865
+       .long   2184574254
+       .long   1602109753
+       .long   2624595636
+       .long   1397652945
+       .long   1003895138
+       .long   1988692435
+       .long   74181213
+       .long   3204219507
+       .long   954223976
+       .long   2795305890
+       .long   2007790276
+       .long   3977384870
+       .long   148362426
+       .long   2113471718
+       .long   1908447953
+       .long   1295644484
+       .long   4015580553
+       .long   3659802444
+       .long   296724853
+       .long   4226943436
+       .long   3816895906
+       .long   2591288968
+       .long   3736193810
+       .long   3024637593
+       .long   593449707
+       .long   4158919577
+       .long   3338824517
+       .long   887610640
+       .long   3177420325
+       .long   1754307891
+       .long   1186899415
+       .long   4022871858
+       .long   2382681739
+       .long   1775221280
+       .long   2059873354
+       .long   3508615783
+       .long   2373798830
+       .long   3750776420
+       .long   470396183
+       .long   3550442561
+       .long   4119746708
+       .long   2722264270
+       .long   452630365
+       .long   3206585544
+       .long   940792367
+       .long   2805917826
+       .long   3944526121
+       .long   1149561244
+       .long   905260731
+       .long   2118203793
+       .long   1881584735
+       .long   1316868356
+       .long   3594084947
+       .long   2299122488
+       .long   1810521462
+       .long   4236407587
+       .long   3763169470
+       .long   2633736712
+       .long   2893202598
+       .long   303277681
+       .long   3621042925
+       .long   4177847879
+       .long   3231371645
+       .long   972506129
+       .long   1491437901
+       .long   606555363
+       .long   2947118554
+       .long   4060728462
+       .long   2167775995
+       .long   1945012259
+       .long   2982875802
+       .long   1213110727
+       .long   1599269812
+       .long   3826489629
+       .long   40584695
+       .long   3890024518
+       .long   1670784308
+       .long   2426221454
+       .long   3198539624
+       .long   3358011962
+       .long   81169391
+       .long   3485081741
+       .long   3341568617
+       .long   557475612
+       .long   2102111953
+       .long   2421056629
+       .long   162338783
+       .long   2675196186
+       .long   2388169939
+       .long   1114951224
+       .long   4204223906
+       .long   547145963
+       .long   324677567
+       .long   1055425077
+       .long   481372583
+       .long   2229902448
+       .long   4113480516
+       .long   1094291926
+       .long   649355134
+       .long   2110850155
+       .long   962745166
+       .long   164837600
+       .long   3931993737
+       .long   2188583852
+       .long   1298710268
+       .long   4221700311
+       .long   1925490332
+       .long   329675200
+       .long   3569020178
+       .long   82200408
+       .long   2597420537
+       .long   4148433327
+       .long   3850980665
+       .long   659350401
+       .long   2843073060
+       .long   164400817
+       .long   899873778
+       .long   4001899359
+       .long   3406994035
+       .long   1318700802
+       .long   1391178824
+       .long   328801635
+       .long   1799747556
+       .long   3708831422
+       .long   2519020775
+       .long   2637401604
+       .long   2782357648
+       .long   657603271
+       .long   3599495112
+       .long   3122695549
+       .long   743074255
+       .long   979835913
+       .long   1269748001
+       .long   1315206542
+       .long   2904022928
+       .long   1950423802
+       .long   1486148511
+       .long   1959671827
+       .long   2539496002
+       .long   2630413084
+       .long   1513078560
+       .long   3900847605
+       .long   2972297022
+       .long   3919343654
+       .long   784024708
+       .long   965858873
+       .long   3026157121
+       .long   3506727914
+       .long   1649626749
+       .long   3543720013
+       .long   1568049417
+       .long   1931717747
+       .long   1757346946
+       .long   2718488532
+       .long   3299253499
+       .long   2792472730
+       .long   3136098835
+       .long   3863435494
+       .long   3514693892
+       .long   1142009769
+       .long   2303539703
+       .long   1289978165
+       .long   1977230375
+       .long   3431903692
+       .long   2734420489
+       .long   2284019538
+       .long   312112110
+       .long   2579956331
+       .long   3954460750
+       .long   2568840088
+       .long   1173873683
+       .long   273071781
+       .long   624224221
+       .long   864945366
+       .long   3613954205
+       .long   842712880
+       .long   2347747367
+       .long   546143563
+       .long   1248448442
+       .long   1729890733
+       .long   2932941114
+       .long   1685425760
+       .long   400527438
+       .long   1092287127
+       .long   2496896884
+       .long   3459781466
+       .long   1570914932
+       .long   3370851521
+       .long   801054876
+       .long   2184574254
+       .long   698826472
+       .long   2624595636
+       .long   3141829865
+       .long   2446735747
+       .long   1602109753
+       .long   74181213
+       .long   1397652945
+       .long   954223976
+       .long   1988692435
+       .long   598504198
+       .long   3204219507
+       .long   148362426
+       .long   2795305890
+       .long   1908447953
+       .long   3977384870
+       .long   1197008397
+       .long   2113471718
+       .long   296724853
+       .long   1295644484
+       .long   3816895906
+       .long   3659802444
+       .long   2394016794
+       .long   4226943436
+       .long   593449707
+       .long   2591288968
+       .long   3338824517
+       .long   3024637593
+       .long   493066293
+       .long   4158919577
+       .long   1186899415
+       .long   887610640
+       .long   2382681739
+       .long   1754307891
+       .long   986132586
+       .long   4022871858
+       .long   2373798830
+       .long   1775221280
+       .long   470396183
+       .long   3508615783
+       .long   1972265172
+       .long   3750776420
+       .long   452630365
+       .long   3550442561
+       .long   940792367
+       .long   2722264270
+       .long   3944530345
+       .long   3206585544
+       .long   905260731
+       .long   2805917826
+       .long   1881584735
+       .long   1149561244
+       .long   3594093395
+       .long   2118203793
+       .long   1810521462
+       .long   1316868356
+       .long   3763169470
+       .long   2299122488
+       .long   2893219494
+       .long   4236407587
+       .long   3621042925
+       .long   2633736712
+       .long   3231371645
+       .long   303277681
+       .long   1491471692
+       .long   4177847879
+       .long   2947118554
+       .long   972506129
+       .long   2167775995
+       .long   606555363
+       .long   2982943385
+       .long   4060728462
+       .long   1599269812
+       .long   1945012259
+       .long   40584695
+       .long   1213110727
+       .long   1670919475
+       .long   3826489629
+       .long   3198539624
+       .long   3890024518
+       .long   81169391
+       .long   2426221454
+       .long   3341838951
+       .long   3358011962
+       .long   2102111953
+       .long   3485081741
+       .long   162338783
+       .long   557475612
+       .long   2388710606
+       .long   2421056629
+       .long   4204223906
+       .long   2675196186
+       .long   324677567
+       .long   1114951224
+       .long   482453916
+       .long   547145963
+       .long   4113480516
+       .long   1055425077
+       .long   649355134
+       .long   2229902448
+       .long   964907833
+       .long   1094291926
+       .long   3931993737
+       .long   2110850155
+       .long   1298710268
+       .long   164837600
+       .long   1929815667
+       .long   2188583852
+       .long   3569020178
+       .long   4221700311
+       .long   2597420537
+       .long   329675200
+       .long   3859631335
+       .long   82200408
+       .long   2843073060
+       .long   4148433327
+       .long   899873778
+       .long   659350401
+       .long   3424295375
+       .long   164400817
+       .long   1391178824
+       .long   4001899359
+       .long   1799747556
+       .long   1318700802
+       .long   2553623455
+       .long   328801635
+       .long   2782357648
+       .long   3708831422
+       .long   3599495112
+       .long   2637401604
+       .long   812279614
+       .long   657603271
+       .long   1269748001
+       .long   3122695549
+       .long   2904022928
+       .long   979835913
+       .long   1624559229
+       .long   1315206542
+       .long   2539496002
+       .long   1950423802
+       .long   1513078560
+       .long   1959671827
+       .long   3249118458
+       .long   2630413084
+       .long   784024708
+       .long   3900847605
+       .long   3026157121
+       .long   3919343654
+       .long   2203269620
+       .long   965858873
+       .long   1568049417
+       .long   3506727914
+       .long   1757346946
+       .long   3543720013
+       .long   111571945
+       .long   1931717747
+       .long   3136098835
+       .long   2718488532
+       .long   3514693892
+       .long   2792472730
+       .long   223143890
+       .long   3863435494
+       .long   1977230375
+       .long   1142009769
+       .long   2734420489
+       .long   1289978165
+       .long   446287780
+       .long   3431903692
+       .long   3954460750
+       .long   2284019538
+       .long   1173873683
+       .long   2579956331
+       .long   892575561
+       .long   2568840088
+       .long   3613954205
+       .long   273071781
+       .long   2347747367
+       .long   864945366
+       .long   1785151123
+       .long   842712880
+       .long   2932941114
+       .long   546143563
+       .long   400527438
+       .long   1729890733
+       .long   3570302247
+       .long   1685425760
+       .long   1570914932
+       .long   1092287127
+       .long   801054876
+       .long   3459781466
+       .long   2845637198
+       .long   3370851521
+       .long   3141829865
+       .long   2184574254
+       .long   1602109753
+       .long   2624595636
+       .long   1396307100
+       .long   2446735747
+       .long   1988692435
+       .long   74181213
+       .long   3204219507
+       .long   954223976
+       .long   2792614201
+       .long   598504198
+       .long   3977384870
+       .long   148362426
+       .long   2113471718
+       .long   1908447953
+       .long   1290261106
+       .long   1197008397
+       .long   3659802444
+       .long   296724853
+       .long   4226943436
+       .long   3816895906
+       .long   2580522212
+       .long   2394016794
+       .long   3024637593
+       .long   593449707
+       .long   4158919577
+       .long   3338824517
+       .long   866077128
+       .long   493066293
+       .long   1754307891
+       .long   1186899415
+       .long   4022871858
+       .long   2382681739
+       .long   1732154256
+       .long   986132586
+       .long   3508615783
+       .long   2373798830
+       .long   3750776420
+       .long   470396183
+       .long   3464308513
+       .long   1972265172
+       .long   2722264270
+       .long   452630365
+       .long   3206585544
+       .long   940792367
+       .long   2633649730
+       .long   3944530345
+       .long   1149561244
+       .long   905260731
+       .long   2118203793
+       .long   1881584735
+       .long   972332164
+       .long   3594093395
+       .long   2299122488
+       .long   1810521462
+       .long   4236407587
+       .long   3763169470
+       .long   1944664328
+       .long   2893219494
+       .long   303277681
+       .long   3621042925
+       .long   4177847879
+       .long   3231371645
+       .long   3889328657
+       .long   1491471692
+       .long   606555363
+       .long   2947118554
+       .long   4060728462
+       .long   2167775995
+       .long   3483690018
+       .long   2982943385
+       .long   1213110727
+       .long   1599269812
+       .long   3826489629
+       .long   40584695
+       .long   2672412741
+       .long   1670919475
+       .long   2426221454
+       .long   3198539624
+       .long   3358011962
+       .long   81169391
+       .long   1049858187
+       .long   3341838951
+       .long   557475612
+       .long   2102111953
+       .long   2421056629
+       .long   162338783
+       .long   2099716375
+       .long   2388710606
+       .long   1114951224
+       .long   4204223906
+       .long   547145963
+       .long   324677567
+       .long   4199432751
+       .long   482453916
+       .long   2229902448
+       .long   4113480516
+       .long   1094291926
+       .long   649355134
+       .long   4103898207
+       .long   964907833
+       .long   164837600
+       .long   3931993737
+       .long   2188583852
+       .long   1298710268
+       .long   3912829119
+       .long   1929815667
+       .long   329675200
+       .long   3569020178
+       .long   82200408
+       .long   2597420537
+       .long   3530690942
+       .long   3859631335
+       .long   659350401
+       .long   2843073060
+       .long   164400817
+       .long   899873778
+       .long   2766414588
+       .long   3424295375
+       .long   1318700802
+       .long   1391178824
+       .long   328801635
+       .long   1799747556
+       .long   1237861880
+       .long   2553623455
+       .long   2637401604
+       .long   2782357648
+       .long   657603271
+       .long   3599495112
+       .long   2475723761
+       .long   812279614
+       .long   979835913
+       .long   1269748001
+       .long   1315206542
+       .long   2904022928
+       .long   656480226
+       .long   1624559229
+       .long   1959671827
+       .long   2539496002
+       .long   2630413084
+       .long   1513078560
+       .long   1312960453
+       .long   3249118458
+       .long   3919343654
+       .long   784024708
+       .long   965858873
+       .long   3026157121
+       .long   2625920907
+       .long   2203269620
+       .long   3543720013
+       .long   1568049417
+       .long   1931717747
+       .long   1757346946
+       .long   956874519
+       .long   111571945
+       .long   2792472730
+       .long   3136098835
+       .long   3863435494
+       .long   3514693892
+       .long   1913749038
+       .long   223143890
+       .long   1289978165
+       .long   1977230375
+       .long   3431903692
+       .long   2734420489
+       .long   3827498077
+       .long   446287780
+       .long   2579956331
+       .long   3954460750
+       .long   2568840088
+       .long   1173873683
+       .long   3360028859
+       .long   892575561
+       .long   864945366
+       .long   3613954205
+       .long   842712880
+       .long   2347747367
+       .long   2425090423
+       .long   1785151123
+       .long   1729890733
+       .long   2932941114
+       .long   1685425760
+       .long   400527438
+       .long   555213551
+       .long   3570302247
+       .long   3459781466
+       .long   1570914932
+       .long   3370851521
+       .long   801054876
+       .long   1110427102
+       .long   2845637198
+       .long   2624595636
+       .long   3141829865
+       .long   2446735747
+       .long   1602109753
+       .long   2220854205
+       .long   1396307100
+       .long   954223976
+       .long   1988692435
+       .long   598504198
+       .long   3204219507
+       .long   146741115
+       .long   2792614201
+       .long   1908447953
+       .long   3977384870
+       .long   1197008397
+       .long   2113471718
+       .long   293482231
+       .long   1290261106
+       .long   3816895906
+       .long   3659802444
+       .long   2394016794
+       .long   4226943436
+       .long   586964463
+       .long   2580522212
+       .long   3338824517
+       .long   3024637593
+       .long   493066293
+       .long   4158919577
+       .long   1173928927
+       .long   866077128
+       .long   2382681739
+       .long   1754307891
+       .long   986132586
+       .long   4022871858
+       .long   2347857855
+       .long   1732154256
+       .long   470396183
+       .long   3508615783
+       .long   1972265172
+       .long   3750776420
+       .long   400748414
+       .long   3464308513
+       .long   940792367
+       .long   2722264270
+       .long   3944530345
+       .long   3206585544
+       .long   801496828
+       .long   2633649730
+       .long   1881584735
+       .long   1149561244
+       .long   3594093395
+       .long   2118203793
+       .long   1602993657
+       .long   972332164
+       .long   3763169470
+       .long   2299122488
+       .long   2893219494
+       .long   4236407587
+       .long   3205987314
+       .long   1944664328
+       .long   3231371645
+       .long   303277681
+       .long   1491471692
+       .long   4177847879
+       .long   2117007332
+       .long   3889328657
+       .long   2167775995
+       .long   606555363
+       .long   2982943385
+       .long   4060728462
+       .long   4234014665
+       .long   3483690018
+       .long   40584695
+       .long   1213110727
+       .long   1670919475
+       .long   3826489629
+       .long   4173062034
+       .long   2672412741
+       .long   81169391
+       .long   2426221454
+       .long   3341838951
+       .long   3358011962
+       .long   4051156773
+       .long   1049858187
+       .long   162338783
+       .long   557475612
+       .long   2388710606
+       .long   2421056629
+       .long   3807346250
+       .long   2099716375
+       .long   324677567
+       .long   1114951224
+       .long   482453916
+       .long   547145963
+       .long   3319725204
+       .long   4199432751
+       .long   649355134
+       .long   2229902448
+       .long   964907833
+       .long   1094291926
+       .long   2344483112
+       .long   4103898207
+       .long   1298710268
+       .long   164837600
+       .long   1929815667
+       .long   2188583852
+       .long   393998928
+       .long   3912829119
+       .long   2597420537
+       .long   329675200
+       .long   3859631335
+       .long   82200408
+       .long   787997856
+       .long   3530690942
+       .long   899873778
+       .long   659350401
+       .long   3424295375
+       .long   164400817
+       .long   1575995713
+       .long   2766414588
+       .long   1799747556
+       .long   1318700802
+       .long   2553623455
+       .long   328801635
+       .long   3151991427
+       .long   1237861880
+       .long   3599495112
+       .long   2637401604
+       .long   812279614
+       .long   657603271
+       .long   2009015559
+       .long   2475723761
+       .long   2904022928
+       .long   979835913
+       .long   1624559229
+       .long   1315206542
+       .long   4018031118
+       .long   656480226
+       .long   1513078560
+       .long   1959671827
+       .long   3249118458
+       .long   2630413084
+       .long   3741094941
+       .long   1312960453
+       .long   3026157121
+       .long   3919343654
+       .long   2203269620
+       .long   965858873
+       .long   3187222587
+       .long   2625920907
+       .long   1757346946
+       .long   3543720013
+       .long   111571945
+       .long   1931717747
+       .long   2079477878
+       .long   956874519
+       .long   3514693892
+       .long   2792472730
+       .long   223143890
+       .long   3863435494
+       .long   4158955756
+       .long   1913749038
+       .long   2734420489
+       .long   1289978165
+       .long   446287780
+       .long   3431903692
+       .long   4022944216
+       .long   3827498077
+       .long   1173873683
+       .long   2579956331
+       .long   892575561
+       .long   2568840088
+       .long   3750921137
+       .long   3360028859
+       .long   2347747367
+       .long   864945366
+       .long   1785151123
+       .long   842712880
+       .long   3206874979
+       .long   2425090423
+       .long   400527438
+       .long   1729890733
+       .long   3570302247
+       .long   1685425760
+       .long   2118782663
+       .long   555213551
+       .long   801054876
+       .long   3459781466
+       .long   2845637198
+       .long   3370851521
+       .long   4237565327
+       .long   1110427102
+       .long   1602109753
+       .long   2624595636
+       .long   1396307100
+       .long   2446735747
+       .long   4180163359
+       .long   2220854205
+       .long   3204219507
+       .long   954223976
+       .long   2792614201
+       .long   598504198
+       .long   4065359423
+       .long   146741115
+       .long   2113471718
+       .long   1908447953
+       .long   1290261106
+       .long   1197008397
+       .long   3835751551
+       .long   293482231
+       .long   4226943436
+       .long   3816895906
+       .long   2580522212
+       .long   2394016794
+       .long   3376535807
+       .long   586964463
+       .long   4158919577
+       .long   3338824517
+       .long   866077128
+       .long   493066293
+       .long   2458104319
+       .long   1173928927
+       .long   4022871858
+       .long   2382681739
+       .long   1732154256
+       .long   986132586
+       .long   621241343
+       .long   2347857855
+       .long   3750776420
+       .long   470396183
+       .long   3464308513
+       .long   1972265172
+       .long   1242482686
+       .long   400748414
+       .long   3206585544
+       .long   940792367
+       .long   2633649730
+       .long   3944530345
+       .long   2484965372
+       .long   801496828
+       .long   2118203793
+       .long   1881584735
+       .long   972332164
+       .long   3594093395
+       .long   674963448
+       .long   1602993657
+       .long   4236407587
+       .long   3763169470
+       .long   1944664328
+       .long   2893219494
+       .long   1349926897
+       .long   3205987314
+       .long   4177847879
+       .long   3231371645
+       .long   3889328657
+       .long   1491471692
+       .long   2699853794
+       .long   2117007332
+       .long   4060728462
+       .long   2167775995
+       .long   3483690018
+       .long   2982943385
+       .long   1104740292
+       .long   4234014665
+       .long   3826489629
+       .long   40584695
+       .long   2672412741
+       .long   1670919475
+       .long   2209480585
+       .long   4173062034
+       .long   3358011962
+       .long   81169391
+       .long   1049858187
+       .long   3341838951
+       .long   123993874
+       .long   4051156773
+       .long   2421056629
+       .long   162338783
+       .long   2099716375
+       .long   2388710606
+       .long   247987749
+       .long   3807346250
+       .long   547145963
+       .long   324677567
+       .long   4199432751
+       .long   482453916
+       .long   495975499
+       .long   3319725204
+       .long   1094291926
+       .long   649355134
+       .long   4103898207
+       .long   964907833
+       .long   991950999
+       .long   2344483112
+       .long   2188583852
+       .long   1298710268
+       .long   3912829119
+       .long   1929815667
+       .long   1983901999
+       .long   393998928
+       .long   82200408
+       .long   2597420537
+       .long   3530690942
+       .long   3859631335
+       .long   3967803999
+       .long   787997856
+       .long   164400817
+       .long   899873778
+       .long   2766414588
+       .long   3424295375
+       .long   3640640703
+       .long   1575995713
+       .long   328801635
+       .long   1799747556
+       .long   1237861880
+       .long   2553623455
+       .long   2986314111
+       .long   3151991427
+       .long   657603271
+       .long   3599495112
+       .long   2475723761
+       .long   812279614
+       .long   1677660927
+       .long   2009015559
+       .long   1315206542
+       .long   2904022928
+       .long   656480226
+       .long   1624559229
+       .long   3355321855
+       .long   4018031118
+       .long   2630413084
+       .long   1513078560
+       .long   1312960453
+       .long   3249118458
+       .long   2415676415
+       .long   3741094941
+       .long   965858873
+       .long   3026157121
+       .long   2625920907
+       .long   2203269620
+       .long   536385535
+       .long   3187222587
+       .long   1931717747
+       .long   1757346946
+       .long   956874519
+       .long   111571945
+       .long   1072771071
+       .long   2079477878
+       .long   3863435494
+       .long   3514693892
+       .long   1913749038
+       .long   223143890
+       .long   2145542143
+       .long   4158955756
+       .long   3431903692
+       .long   2734420489
+       .long   3827498077
+       .long   446287780
+       .long   4291084286
+       .long   4022944216
+       .long   2568840088
+       .long   1173873683
+       .long   3360028859
+       .long   892575561
+       .long   4287201277
+       .long   3750921137
+       .long   842712880
+       .long   2347747367
+       .long   2425090423
+       .long   1785151123
+       .long   4279435259
+       .long   3206874979
+       .long   1685425760
+       .long   400527438
+       .long   555213551
+       .long   3570302247
+       .long   4263903223
+       .long   2118782663
+       .long   3370851521
+       .long   801054876
+       .long   1110427102
+       .long   2845637198
+       .long   4232839151
+       .long   4237565327
+       .long   2446735747
+       .long   1602109753
+       .long   2220854205
+       .long   1396307100
+       .long   4170711006
+       .long   4180163359
+       .long   598504198
+       .long   3204219507
+       .long   146741115
+       .long   2792614201
+       .long   4046454716
+       .long   4065359423
+       .long   1197008397
+       .long   2113471718
+       .long   293482231
+       .long   1290261106
+       .long   3797942136
+       .long   3835751551
+       .long   2394016794
+       .long   4226943436
+       .long   586964463
+       .long   2580522212
+       .long   3300916976
+       .long   3376535807
+       .long   493066293
+       .long   4158919577
+       .long   1173928927
+       .long   866077128
+       .long   2306866656
+       .long   2458104319
+       .long   986132586
+       .long   4022871858
+       .long   2347857855
+       .long   1732154256
+       .long   318766016
+       .long   621241343
+       .long   1972265172
+       .long   3750776420
+       .long   400748414
+       .long   3464308513
+       .long   637532033
+       .long   1242482686
+       .long   3944530345
+       .long   3206585544
+       .long   801496828
+       .long   2633649730
+       .long   1275064066
+       .long   2484965372
+       .long   3594093395
+       .long   2118203793
+       .long   1602993657
+       .long   972332164
+       .long   2550128133
+       .long   674963448
+       .long   2893219494
+       .long   4236407587
+       .long   3205987314
+       .long   1944664328
+       .long   805288971
+       .long   1349926897
+       .long   1491471692
+       .long   4177847879
+       .long   2117007332
+       .long   3889328657
+       .long   1610577942
+       .long   2699853794
+       .long   2982943385
+       .long   4060728462
+       .long   4234014665
+       .long   3483690018
+       .long   3221155884
+       .long   1104740292
+       .long   1670919475
+       .long   3826489629
+       .long   4173062034
+       .long   2672412741
+       .long   2147344473
+       .long   2209480585
+       .long   3341838951
+       .long   3358011962
+       .long   4051156773
+       .long   1049858187
+       .long   4294688947
+       .long   123993874
+       .long   2388710606
+       .long   2421056629
+       .long   3807346250
+       .long   2099716375
+       .long   4294410598
+       .long   247987749
+       .long   482453916
+       .long   547145963
+       .long   3319725204
+       .long   4199432751
+       .long   4293853900
+       .long   495975499
+       .long   964907833
+       .long   1094291926
+       .long   2344483112
+       .long   4103898207
+       .long   4292740504
+       .long   991950999
+       .long   1929815667
+       .long   2188583852
+       .long   393998928
+       .long   3912829119
+       .long   4290513712
+       .long   1983901999
+       .long   3859631335
+       .long   82200408
+       .long   787997856
+       .long   3530690942
+       .long   4286060128
+       .long   3967803999
+       .long   3424295375
+       .long   164400817
+       .long   1575995713
+       .long   2766414588
+       .long   4277152960
+       .long   3640640703
+       .long   2553623455
+       .long   328801635
+       .long   3151991427
+       .long   1237861880
+       .long   4259338624
+       .long   2986314111
+       .long   812279614
+       .long   657603271
+       .long   2009015559
+       .long   2475723761
+       .long   4223709953
+       .long   1677660927
+       .long   1624559229
+       .long   1315206542
+       .long   4018031118
+       .long   656480226
+       .long   4152452611
+       .long   3355321855
+       .long   3249118458
+       .long   2630413084
+       .long   3741094941
+       .long   1312960453
+       .long   4009937927
+       .long   2415676415
+       .long   2203269620
+       .long   965858873
+       .long   3187222587
+       .long   2625920907
+       .long   3724908559
+       .long   536385535
+       .long   111571945
+       .long   1931717747
+       .long   2079477878
+       .long   956874519
+       .long   3154849823
+       .long   1072771071
+       .long   223143890
+       .long   3863435494
+       .long   4158955756
+       .long   1913749038
+       .long   2014732351
+       .long   2145542143
+       .long   446287780
+       .long   3431903692
+       .long   4022944216
+       .long   3827498077
+       .long   4029464703
+       .long   4291084286
+       .long   892575561
+       .long   2568840088
+       .long   3750921137
+       .long   3360028859
+       .long   3763962110
+       .long   4287201277
+       .long   1785151123
+       .long   842712880
+       .long   3206874979
+       .long   2425090423
+       .long   3232956925
+       .long   4279435259
+       .long   3570302247
+       .long   1685425760
+       .long   2118782663
+       .long   555213551
+       .long   2170946555
+       .long   4263903223
+       .long   2845637198
+       .long   3370851521
+       .long   4237565327
+       .long   1110427102
+       .long   46925815
+       .long   4232839151
+       .long   1396307100
+       .long   2446735747
+       .long   4180163359
+       .long   2220854205
+       .long   93851631
+       .long   4170711006
+       .long   2792614201
+       .long   598504198
+       .long   4065359423
+       .long   146741115
+       .long   187703262
+       .long   4046454716
+       .long   1290261106
+       .long   1197008397
+       .long   3835751551
+       .long   293482231
+       .long   375406524
+       .long   3797942136
+       .long   2580522212
+       .long   2394016794
+       .long   3376535807
+       .long   586964463
+       .long   750813049
+       .long   3300916976
+       .long   866077128
+       .long   493066293
+       .long   2458104319
+       .long   1173928927
+       .long   1501626098
+       .long   2306866656
+       .long   1732154256
+       .long   986132586
+       .long   621241343
+       .long   2347857855
+       .long   3003252197
+       .long   318766016
+       .long   3464308513
+       .long   1972265172
+       .long   1242482686
+       .long   400748414
+       .long   1711537099
+       .long   637532033
+       .long   2633649730
+       .long   3944530345
+       .long   2484965372
+       .long   801496828
+       .long   3423074199
+       .long   1275064066
+       .long   972332164
+       .long   3594093395
+       .long   674963448
+       .long   1602993657
+       .long   2551181103
+       .long   2550128133
+       .long   1944664328
+       .long   2893219494
+       .long   1349926897
+       .long   3205987314
+       .long   807394910
+       .long   805288971
+       .long   3889328657
+       .long   1491471692
+       .long   2699853794
+       .long   2117007332
+       .long   1614789820
+       .long   1610577942
+       .long   3483690018
+       .long   2982943385
+       .long   1104740292
+       .long   4234014665
+       .long   3229579640
+       .long   3221155884
+       .long   2672412741
+       .long   1670919475
+       .long   2209480585
+       .long   4173062034
+       .long   2164191985
+       .long   2147344473
+       .long   1049858187
+       .long   3341838951
+       .long   123993874
+       .long   4051156773
+       .long   33416674
+       .long   4294688947
+       .long   2099716375
+       .long   2388710606
+       .long   247987749
+       .long   3807346250
+       .long   66833348
+       .long   4294410598
+       .long   4199432751
+       .long   482453916
+       .long   495975499
+       .long   3319725204
+       .long   133666696
+       .long   4293853900
+       .long   4103898207
+       .long   964907833
+       .long   991950999
+       .long   2344483112
+       .long   267333393
+       .long   4292740504
+       .long   3912829119
+       .long   1929815667
+       .long   1983901999
+       .long   393998928
+       .long   534666787
+       .long   4290513712
+       .long   3530690942
+       .long   3859631335
+       .long   3967803999
+       .long   787997856
+       .long   1069333574
+       .long   4286060128
+       .long   2766414588
+       .long   3424295375
+       .long   3640640703
+       .long   1575995713
+       .long   2138667148
+       .long   4277152960
+       .long   1237861880
+       .long   2553623455
+       .long   2986314111
+       .long   3151991427
+       .long   4277334296
+       .long   4259338624
+       .long   2475723761
+       .long   812279614
+       .long   1677660927
+       .long   2009015559
+       .long   4259701297
+       .long   4223709953
+       .long   656480226
+       .long   1624559229
+       .long   3355321855
+       .long   4018031118
+       .long   4224435298
+       .long   4152452611
+       .long   1312960453
+       .long   3249118458
+       .long   2415676415
+       .long   3741094941
+       .long   4153903301
+       .long   4009937927
+       .long   2625920907
+       .long   2203269620
+       .long   536385535
+       .long   3187222587
+       .long   4012839307
+       .long   3724908559
+       .long   956874519
+       .long   111571945
+       .long   1072771071
+       .long   2079477878
+       .long   3730711318
+       .long   3154849823
+       .long   1913749038
+       .long   223143890
+       .long   2145542143
+       .long   4158955756
+       .long   3166455341
+       .long   2014732351
+       .long   3827498077
+       .long   446287780
+       .long   4291084286
+       .long   4022944216
+       .long   2037943386
+       .long   4029464703
+       .long   3360028859
+       .long   892575561
+       .long   4287201277
+       .long   3750921137
+       .long   4075886773
+       .long   3763962110
+       .long   2425090423
+       .long   1785151123
+       .long   4279435259
+       .long   3206874979
+       .long   3856806251
+       .long   3232956925
+       .long   555213551
+       .long   3570302247
+       .long   4263903223
+       .long   2118782663
+       .long   3418645206
+       .long   2170946555
+       .long   1110427102
+       .long   2845637198
+       .long   4232839151
+       .long   4237565327
+       .long   2542323117
+       .long   46925815
+       .long   2220854205
+       .long   1396307100
+       .long   4170711006
+       .long   4180163359
+       .long   789678938
+       .long   93851631
+       .long   146741115
+       .long   2792614201
+       .long   4046454716
+       .long   4065359423
+       .long   1579357876
+       .long   187703262
+       .long   293482231
+       .long   1290261106
+       .long   3797942136
+       .long   3835751551
+       .long   3158715752
+       .long   375406524
+       .long   586964463
+       .long   2580522212
+       .long   3300916976
+       .long   3376535807
+       .long   2022464208
+       .long   750813049
+       .long   1173928927
+       .long   866077128
+       .long   2306866656
+       .long   2458104319
+       .long   4044928416
+       .long   1501626098
+       .long   2347857855
+       .long   1732154256
+       .long   318766016
+       .long   621241343
+       .long   3794889537
+       .long   3003252197
+       .long   400748414
+       .long   3464308513
+       .long   637532033
+       .long   1242482686
+       .long   3294811778
+       .long   1711537099
+       .long   801496828
+       .long   2633649730
+       .long   1275064066
+       .long   2484965372
+       .long   2294656261
+       .long   3423074199
+       .long   1602993657
+       .long   972332164
+       .long   2550128133
+       .long   674963448
+       .long   294345226
+       .long   2551181103
+       .long   3205987314
+       .long   1944664328
+       .long   805288971
+       .long   1349926897
+       .long   588690452
+       .long   807394910
+       .long   2117007332
+       .long   3889328657
+       .long   1610577942
+       .long   2699853794
+       .long   1177380905
+       .long   1614789820
+       .long   4234014665
+       .long   3483690018
+       .long   3221155884
+       .long   1104740292
+       .long   2354761811
+       .long   3229579640
+       .long   4173062034
+       .long   2672412741
+       .long   2147344473
+       .long   2209480585
+       .long   414556326
+       .long   2164191985
+       .long   4051156773
+       .long   1049858187
+       .long   4294688947
+       .long   123993874
+       .long   829112653
+       .long   33416674
+       .long   3807346250
+       .long   2099716375
+       .long   4294410598
+       .long   247987749
+       .long   1658225307
+       .long   66833348
+       .long   3319725204
+       .long   4199432751
+       .long   4293853900
+       .long   495975499
+       .long   3316450614
+       .long   133666696
+       .long   2344483112
+       .long   4103898207
+       .long   4292740504
+       .long   991950999
+       .long   2337933933
+       .long   267333393
+       .long   393998928
+       .long   3912829119
+       .long   4290513712
+       .long   1983901999
+       .long   380900570
+       .long   534666787
+       .long   787997856
+       .long   3530690942
+       .long   4286060128
+       .long   3967803999
+       .long   761801140
+       .long   1069333574
+       .long   1575995713
+       .long   2766414588
+       .long   4277152960
+       .long   3640640703
+       .long   1523602280
+       .long   2138667148
+       .long   3151991427
+       .long   1237861880
+       .long   4259338624
+       .long   2986314111
+       .long   3047204561
+       .long   4277334296
+       .long   2009015559
+       .long   2475723761
+       .long   4223709953
+       .long   1677660927
+       .long   1799441827
+       .long   4259701297
+       .long   4018031118
+       .long   656480226
+       .long   4152452611
+       .long   3355321855
+       .long   3598883655
+       .long   4224435298
+       .long   3741094941
+       .long   1312960453
+       .long   4009937927
+       .long   2415676415
+       .long   2902800015
+       .long   4153903301
+       .long   3187222587
+       .long   2625920907
+       .long   3724908559
+       .long   536385535
+       .long   1510632735
+       .long   4012839307
+       .long   2079477878
+       .long   956874519
+       .long   3154849823
+       .long   1072771071
+       .long   3021265470
+       .long   3730711318
+       .long   4158955756
+       .long   1913749038
+       .long   2014732351
+       .long   2145542143
+       .long   1747563645
+       .long   3166455341
+       .long   4022944216
+       .long   3827498077
+       .long   4029464703
+       .long   4291084286
+       .long   3495127291
+       .long   2037943386
+       .long   3750921137
+       .long   3360028859
+       .long   3763962110
+       .long   4287201277
+       .long   2695287286
+       .long   4075886773
+       .long   3206874979
+       .long   2425090423
+       .long   3232956925
+       .long   4279435259
+       .long   1095607277
+       .long   3856806251
+       .long   2118782663
+       .long   555213551
+       .long   2170946555
+       .long   4263903223
+       .long   2191214555
+       .long   3418645206
+       .long   4237565327
+       .long   1110427102
+       .long   46925815
+       .long   4232839151
+       .long   87461814
+       .long   2542323117
+       .long   4180163359
+       .long   2220854205
+       .long   93851631
+       .long   4170711006
+       .long   174923629
+       .long   789678938
+       .long   4065359423
+       .long   146741115
+       .long   187703262
+       .long   4046454716
+       .long   349847258
+       .long   1579357876
+       .long   3835751551
+       .long   293482231
+       .long   375406524
+       .long   3797942136
+       .long   699694516
+       .long   3158715752
+       .long   3376535807
+       .long   586964463
+       .long   750813049
+       .long   3300916976
+       .long   1399389033
+       .long   2022464208
+       .long   2458104319
+       .long   1173928927
+       .long   1501626098
+       .long   2306866656
+       .long   2798778067
+       .long   4044928416
+       .long   621241343
+       .long   2347857855
+       .long   3003252197
+       .long   318766016
+       .long   1302588838
+       .long   3794889537
+       .long   1242482686
+       .long   400748414
+       .long   1711537099
+       .long   637532033
+       .long   2605177677
+       .long   3294811778
+       .long   2484965372
+       .long   801496828
+       .long   3423074199
+       .long   1275064066
+       .long   915388059
+       .long   2294656261
+       .long   674963448
+       .long   1602993657
+       .long   2551181103
+       .long   2550128133
+       .long   1830776118
+       .long   294345226
+       .long   1349926897
+       .long   3205987314
+       .long   807394910
+       .long   805288971
+       .long   3661552236
+       .long   588690452
+       .long   2699853794
+       .long   2117007332
+       .long   1614789820
+       .long   1610577942
+       .long   3028137177
+       .long   1177380905
+       .long   1104740292
+       .long   4234014665
+       .long   3229579640
+       .long   3221155884
+       .long   1761307059
+       .long   2354761811
+       .long   2209480585
+       .long   4173062034
+       .long   2164191985
+       .long   2147344473
+       .long   3522614119
+       .long   414556326
+       .long   123993874
+       .long   4051156773
+       .long   33416674
+       .long   4294688947
+       .long   2750260943
+       .long   829112653
+       .long   247987749
+       .long   3807346250
+       .long   66833348
+       .long   4294410598
+       .long   1205554591
+       .long   1658225307
+       .long   495975499
+       .long   3319725204
+       .long   133666696
+       .long   4293853900
+       .long   2411109183
+       .long   3316450614
+       .long   991950999
+       .long   2344483112
+       .long   267333393
+       .long   4292740504
+       .long   527251070
+       .long   2337933933
+       .long   1983901999
+       .long   393998928
+       .long   534666787
+       .long   4290513712
+       .long   1054502141
+       .long   380900570
+       .long   3967803999
+       .long   787997856
+       .long   1069333574
+       .long   4286060128
+       .long   2109004283
+       .long   761801140
+       .long   3640640703
+       .long   1575995713
+       .long   2138667148
+       .long   4277152960
+       .long   4218008566
+       .long   1523602280
+       .long   2986314111
+       .long   3151991427
+       .long   4277334296
+       .long   4259338624
+       .long   4141049836
+       .long   3047204561
+       .long   1677660927
+       .long   2009015559
+       .long   4259701297
+       .long   4223709953
+       .long   3987132377
+       .long   1799441827
+       .long   3355321855
+       .long   4018031118
+       .long   4224435298
+       .long   4152452611
+       .long   3679297459
+       .long   3598883655
+       .long   2415676415
+       .long   3741094941
+       .long   4153903301
+       .long   4009937927
+       .long   3063627623
+       .long   2902800015
+       .long   536385535
+       .long   3187222587
+       .long   4012839307
+       .long   3724908559
+       .long   1832287951
+       .long   1510632735
+       .long   1072771071
+       .long   2079477878
+       .long   3730711318
+       .long   3154849823
+       .long   3664575902
+       .long   3021265470
+       .long   2145542143
+       .long   4158955756
+       .long   3166455341
+       .long   2014732351
+       .long   3034184508
+       .long   1747563645
+       .long   4291084286
+       .long   4022944216
+       .long   2037943386
+       .long   4029464703
+       .long   1773401721
+       .long   3495127291
+       .long   4287201277
+       .long   3750921137
+       .long   4075886773
+       .long   3763962110
+       .long   3546803442
+       .long   2695287286
+       .long   4279435259
+       .long   3206874979
+       .long   3856806251
+       .long   3232956925
+       .long   2798639588
+       .long   1095607277
+       .long   4263903223
+       .long   2118782663
+       .long   3418645206
+       .long   2170946555
+       .long   1302311881
+       .long   2191214555
+       .long   4232839151
+       .long   4237565327
+       .long   2542323117
+       .long   46925815
+       .long   2604623763
+       .long   87461814
+       .long   4170711006
+       .long   4180163359
+       .long   789678938
+       .long   93851631
+       .long   914280231
+       .long   174923629
+       .long   4046454716
+       .long   4065359423
+       .long   1579357876
+       .long   187703262
+       .long   1828560463
+       .long   349847258
+       .long   3797942136
+       .long   3835751551
+       .long   3158715752
+       .long   375406524
+       .long   3657120927
+       .long   699694516
+       .long   3300916976
+       .long   3376535807
+       .long   2022464208
+       .long   750813049
+       .long   3019274558
+       .long   1399389033
+       .long   2306866656
+       .long   2458104319
+       .long   4044928416
+       .long   1501626098
+       .long   1743581820
+       .long   2798778067
+       .long   318766016
+       .long   621241343
+       .long   3794889537
+       .long   3003252197
+       .long   3487163641
+       .long   1302588838
+       .long   637532033
+       .long   1242482686
+       .long   3294811778
+       .long   1711537099
+       .long   2679359986
+       .long   2605177677
+       .long   1275064066
+       .long   2484965372
+       .long   2294656261
+       .long   3423074199
+       .long   1063752677
+       .long   915388059
+       .long   2550128133
+       .long   674963448
+       .long   294345226
+       .long   2551181103
+       .long   2127505355
+       .long   1830776118
+       .long   805288971
+       .long   1349926897
+       .long   588690452
+       .long   807394910
+       .long   4255010710
+       .long   3661552236
+       .long   1610577942
+       .long   2699853794
+       .long   1177380905
+       .long   1614789820
+       .long   4215054124
+       .long   3028137177
+       .long   3221155884
+       .long   1104740292
+       .long   2354761811
+       .long   3229579640
+       .long   4135140952
+       .long   1761307059
+       .long   2147344473
+       .long   2209480585
+       .long   414556326
+       .long   2164191985
+       .long   3975314608
+       .long   3522614119
+       .long   4294688947
+       .long   123993874
+       .long   829112653
+       .long   33416674
+       .long   3655661921
+       .long   2750260943
+       .long   4294410598
+       .long   247987749
+       .long   1658225307
+       .long   66833348
+       .long   3016356546
+       .long   1205554591
+       .long   4293853900
+       .long   495975499
+       .long   3316450614
+       .long   133666696
+       .long   1737745796
+       .long   2411109183
+       .long   4292740504
+       .long   991950999
+       .long   2337933933
+       .long   267333393
+       .long   3475491593
+       .long   527251070
+       .long   4290513712
+       .long   1983901999
+       .long   380900570
+       .long   534666787
+       .long   2656015891
+       .long   1054502141
+       .long   4286060128
+       .long   3967803999
+       .long   761801140
+       .long   1069333574
+       .long   1017064486
+       .long   2109004283
+       .long   4277152960
+       .long   3640640703
+       .long   1523602280
+       .long   2138667148
+       .long   2034128973
+       .long   4218008566
+       .long   4259338624
+       .long   2986314111
+       .long   3047204561
+       .long   4277334296
+       .long   4068257947
+       .long   4141049836
+       .long   4223709953
+       .long   1677660927
+       .long   1799441827
+       .long   4259701297
+       .long   3841548598
+       .long   3987132377
+       .long   4152452611
+       .long   3355321855
+       .long   3598883655
+       .long   4224435298
+       .long   3388129901
+       .long   3679297459
+       .long   4009937927
+       .long   2415676415
+       .long   2902800015
+       .long   4153903301
+       .long   2481292507
+       .long   3063627623
+       .long   3724908559
+       .long   536385535
+       .long   1510632735
+       .long   4012839307
+       .long   667617719
+       .long   1832287951
+       .long   3154849823
+       .long   1072771071
+       .long   3021265470
+       .long   3730711318
+       .long   1335235438
+       .long   3664575902
+       .long   2014732351
+       .long   2145542143
+       .long   1747563645
+       .long   3166455341
+       .long   2670470877
+       .long   3034184508
+       .long   4029464703
+       .long   4291084286
+       .long   3495127291
+       .long   2037943386
+       .long   1045974458
+       .long   1773401721
+       .long   3763962110
+       .long   4287201277
+       .long   2695287286
+       .long   4075886773
+       .long   2091948916
+       .long   3546803442
+       .long   3232956925
+       .long   4279435259
+       .long   1095607277
+       .long   3856806251
+       .long   4183897833
+       .long   2798639588
+       .long   2170946555
+       .long   4263903223
+       .long   2191214555
+       .long   3418645206
+       .long   4072828371
+       .long   1302311881
+       .long   46925815
+       .long   4232839151
+       .long   87461814
+       .long   2542323117
+       .long   3850689447
+       .long   2604623763
+       .long   93851631
+       .long   4170711006
+       .long   174923629
+       .long   789678938
+       .long   3406411599
+       .long   914280231
+       .long   187703262
+       .long   4046454716
+       .long   349847258
+       .long   1579357876
+       .long   2517855902
+       .long   1828560463
+       .long   375406524
+       .long   3797942136
+       .long   699694516
+       .long   3158715752
+       .long   740744509
+       .long   3657120927
+       .long   750813049
+       .long   3300916976
+       .long   1399389033
+       .long   2022464208
+       .long   1481489018
+       .long   3019274558
+       .long   1501626098
+       .long   2306866656
+       .long   2798778067
+       .long   4044928416
+       .long   2962978036
+       .long   1743581820
+       .long   3003252197
+       .long   318766016
+       .long   1302588838
+       .long   3794889537
+       .long   1630988776
+       .long   3487163641
+       .long   1711537099
+       .long   637532033
+       .long   2605177677
+       .long   3294811778
+       .long   3261977553
+       .long   2679359986
+       .long   3423074199
+       .long   1275064066
+       .long   915388059
+       .long   2294656261
+       .long   2228987811
+       .long   1063752677
+       .long   2551181103
+       .long   2550128133
+       .long   1830776118
+       .long   294345226
+       .long   163008326
+       .long   2127505355
+       .long   807394910
+       .long   805288971
+       .long   3661552236
+       .long   588690452
+       .long   326016652
+       .long   4255010710
+       .long   1614789820
+       .long   1610577942
+       .long   3028137177
+       .long   1177380905
+       .long   652033304
+       .long   4215054124
+       .long   3229579640
+       .long   3221155884
+       .long   1761307059
+       .long   2354761811
+       .long   1304066609
+       .long   4135140952
+       .long   2164191985
+       .long   2147344473
+       .long   3522614119
+       .long   414556326
+       .long   2608133219
+       .long   3975314608
+       .long   33416674
+       .long   4294688947
+       .long   2750260943
+       .long   829112653
+       .long   921299143
+       .long   3655661921
+       .long   66833348
+       .long   4294410598
+       .long   1205554591
+       .long   1658225307
+       .long   1842598287
+       .long   3016356546
+       .long   133666696
+       .long   4293853900
+       .long   2411109183
+       .long   3316450614
+       .long   3685196575
+       .long   1737745796
+       .long   267333393
+       .long   4292740504
+       .long   527251070
+       .long   2337933933
+       .long   3075425855
+       .long   3475491593
+       .long   534666787
+       .long   4290513712
+       .long   1054502141
+       .long   380900570
+       .long   1855884414
+       .long   2656015891
+       .long   1069333574
+       .long   4286060128
+       .long   2109004283
+       .long   761801140
+       .long   3711768829
+       .long   1017064486
+       .long   2138667148
+       .long   4277152960
+       .long   4218008566
+       .long   1523602280
+       .long   3128570363
+       .long   2034128973
+       .long   4277334296
+       .long   4259338624
+       .long   4141049836
+       .long   3047204561
+       .long   1962173430
+       .long   4068257947
+       .long   4259701297
+       .long   4223709953
+       .long   3987132377
+       .long   1799441827
+       .long   3924346860
+       .long   3841548598
+       .long   4224435298
+       .long   4152452611
+       .long   3679297459
+       .long   3598883655
+       .long   3553726425
+       .long   3388129901
+       .long   4153903301
+       .long   4009937927
+       .long   3063627623
+       .long   2902800015
+       .long   2812485555
+       .long   2481292507
+       .long   4012839307
+       .long   3724908559
+       .long   1832287951
+       .long   1510632735
+       .long   1330003814
+       .long   667617719
+       .long   3730711318
+       .long   3154849823
+       .long   3664575902
+       .long   3021265470
+       .long   2660007629
+       .long   1335235438
+       .long   3166455341
+       .long   2014732351
+       .long   3034184508
+       .long   1747563645
+       .long   1025047962
+       .long   2670470877
+       .long   2037943386
+       .long   4029464703
+       .long   1773401721
+       .long   3495127291
+       .long   2050095924
+       .long   1045974458
+       .long   4075886773
+       .long   3763962110
+       .long   3546803442
+       .long   2695287286
+       .long   4100191849
+       .long   2091948916
+       .long   3856806251
+       .long   3232956925
+       .long   2798639588
+       .long   1095607277
+       .long   3905416403
+       .long   4183897833
+       .long   3418645206
+       .long   2170946555
+       .long   1302311881
+       .long   2191214555
+       .long   3515865511
+       .long   4072828371
+       .long   2542323117
+       .long   46925815
+       .long   2604623763
+       .long   87461814
+       .long   2736763727
+       .long   3850689447
+       .long   789678938
+       .long   93851631
+       .long   914280231
+       .long   174923629
+       .long   1178560158
+       .long   3406411599
+       .long   1579357876
+       .long   187703262
+       .long   1828560463
+       .long   349847258
+       .long   2357120316
+       .long   2517855902
+       .long   3158715752
+       .long   375406524
+       .long   3657120927
+       .long   699694516
+       .long   419273337
+       .long   740744509
+       .long   2022464208
+       .long   750813049
+       .long   3019274558
+       .long   1399389033
+       .long   838546674
+       .long   1481489018
+       .long   4044928416
+       .long   1501626098
+       .long   1743581820
+       .long   2798778067
+       .long   1677093349
+       .long   2962978036
+       .long   3794889537
+       .long   3003252197
+       .long   3487163641
+       .long   1302588838
+       .long   3354186699
+       .long   1630988776
+       .long   3294811778
+       .long   1711537099
+       .long   2679359986
+       .long   2605177677
+       .long   2413406103
+       .long   3261977553
+       .long   2294656261
+       .long   3423074199
+       .long   1063752677
+       .long   915388059
+       .long   531844911
+       .long   2228987811
+       .long   294345226
+       .long   2551181103
+       .long   2127505355
+       .long   1830776118
+       .long   1063689823
+       .long   163008326
+       .long   588690452
+       .long   807394910
+       .long   4255010710
+       .long   3661552236
+       .long   2127379647
+       .long   326016652
+       .long   1177380905
+       .long   1614789820
+       .long   4215054124
+       .long   3028137177
+       .long   4254759295
+       .long   652033304
+       .long   2354761811
+       .long   3229579640
+       .long   4135140952
+       .long   1761307059
+       .long   4214551295
+       .long   1304066609
+       .long   414556326
+       .long   2164191985
+       .long   3975314608
+       .long   3522614119
+       .long   4134135294
+       .long   2608133219
+       .long   829112653
+       .long   33416674
+       .long   3655661921
+       .long   2750260943
+       .long   3973303293
+       .long   921299143
+       .long   1658225307
+       .long   66833348
+       .long   3016356546
+       .long   1205554591
+       .long   3651639290
+       .long   1842598287
+       .long   3316450614
+       .long   133666696
+       .long   1737745796
+       .long   2411109183
+       .long   3008311285
+       .long   3685196575
+       .long   2337933933
+       .long   267333393
+       .long   3475491593
+       .long   527251070
+       .long   1721655274
+       .long   3075425855
+       .long   380900570
+       .long   534666787
+       .long   2656015891
+       .long   1054502141
+       .long   3443310548
+       .long   1855884414
+       .long   761801140
+       .long   1069333574
+       .long   1017064486
+       .long   2109004283
+       .long   2591653800
+       .long   3711768829
+       .long   1523602280
+       .long   2138667148
+       .long   2034128973
+       .long   4218008566
+       .long   888340305
+       .long   3128570363
+       .long   3047204561
+       .long   4277334296
+       .long   4068257947
+       .long   4141049836
+       .long   1776680610
+       .long   1962173430
+       .long   1799441827
+       .long   4259701297
+       .long   3841548598
+       .long   3987132377
+       .long   3553361221
+       .long   3924346860
+       .long   3598883655
+       .long   4224435298
+       .long   3388129901
+       .long   3679297459
+       .long   2811755147
+       .long   3553726425
+       .long   2902800015
+       .long   4153903301
+       .long   2481292507
+       .long   3063627623
+       .long   1328542998
+       .long   2812485555
+       .long   1510632735
+       .long   4012839307
+       .long   667617719
+       .long   1832287951
+       .long   2657085997
+       .long   1330003814
+       .long   3021265470
+       .long   3730711318
+       .long   1335235438
+       .long   3664575902
+       .long   1019204698
+       .long   2660007629
+       .long   1747563645
+       .long   3166455341
+       .long   2670470877
+       .long   3034184508
+       .long   2038409397
+       .long   1025047962
+       .long   3495127291
+       .long   2037943386
+       .long   1045974458
+       .long   1773401721
+       .long   4076818795
+       .long   2050095924
+       .long   2695287286
+       .long   4075886773
+       .long   2091948916
+       .long   3546803442
+       .long   3858670295
+       .long   4100191849
+       .long   1095607277
+       .long   3856806251
+       .long   4183897833
+       .long   2798639588
+       .long   3422373294
+       .long   3905416403
+       .long   2191214555
+       .long   3418645206
+       .long   4072828371
+       .long   1302311881
+       .long   2549779293
+       .long   3515865511
+       .long   87461814
+       .long   2542323117
+       .long   3850689447
+       .long   2604623763
+       .long   804591290
+       .long   2736763727
+       .long   174923629
+       .long   789678938
+       .long   3406411599
+       .long   914280231
+       .long   1609182581
+       .long   1178560158
+       .long   349847258
+       .long   1579357876
+       .long   2517855902
+       .long   1828560463
+       .long   3218365162
+       .long   2357120316
+       .long   699694516
+       .long   3158715752
+       .long   740744509
+       .long   3657120927
+       .long   2141763028
+       .long   419273337
+       .long   1399389033
+       .long   2022464208
+       .long   1481489018
+       .long   3019274558
+       .long   4283526057
+       .long   838546674
+       .long   2798778067
+       .long   4044928416
+       .long   2962978036
+       .long   1743581820
+       .long   4272084818
+       .long   1677093349
+       .long   1302588838
+       .long   3794889537
+       .long   1630988776
+       .long   3487163641
+       .long   4249202340
+       .long   3354186699
+       .long   2605177677
+       .long   3294811778
+       .long   3261977553
+       .long   2679359986
+       .long   4203437385
+       .long   2413406103
+       .long   915388059
+       .long   2294656261
+       .long   2228987811
+       .long   1063752677
+       .long   4111907475
+       .long   531844911
+       .long   1830776118
+       .long   294345226
+       .long   163008326
+       .long   2127505355
+       .long   3928847655
+       .long   1063689823
+       .long   3661552236
+       .long   588690452
+       .long   326016652
+       .long   4255010710
+       .long   3562728015
+       .long   2127379647
+       .long   3028137177
+       .long   1177380905
+       .long   652033304
+       .long   4215054124
+       .long   2830488734
+       .long   4254759295
+       .long   1761307059
+       .long   2354761811
+       .long   1304066609
+       .long   4135140952
+       .long   1366010173
+       .long   4214551295
+       .long   3522614119
+       .long   414556326
+       .long   2608133219
+       .long   3975314608
+       .long   2732020347
+       .long   4134135294
+       .long   2750260943
+       .long   829112653
+       .long   921299143
+       .long   3655661921
+       .long   1169073399
+       .long   3973303293
+       .long   1205554591
+       .long   1658225307
+       .long   1842598287
+       .long   3016356546
+       .long   2338146798
+       .long   3651639290
+       .long   2411109183
+       .long   3316450614
+       .long   3685196575
+       .long   1737745796
+       .long   381326301
+       .long   3008311285
+       .long   527251070
+       .long   2337933933
+       .long   3075425855
+       .long   3475491593
+       .long   762652602
+       .long   1721655274
+       .long   1054502141
+       .long   380900570
+       .long   1855884414
+       .long   2656015891
+       .long   1525305205
+       .long   3443310548
+       .long   2109004283
+       .long   761801140
+       .long   3711768829
+       .long   1017064486
+       .long   3050610411
+       .long   2591653800
+       .long   4218008566
+       .long   1523602280
+       .long   3128570363
+       .long   2034128973
+       .long   1806253526
+       .long   888340305
+       .long   4141049836
+       .long   3047204561
+       .long   1962173430
+       .long   4068257947
+       .long   3612507052
+       .long   1776680610
+       .long   3987132377
+       .long   1799441827
+       .long   3924346860
+       .long   3841548598
+       .long   2930046808
+       .long   3553361221
+       .long   3679297459
+       .long   3598883655
+       .long   3553726425
+       .long   3388129901
+       .long   1565126321
+       .long   2811755147
+       .long   3063627623
+       .long   2902800015
+       .long   2812485555
+       .long   2481292507
+       .long   3130252643
+       .long   1328542998
+       .long   1832287951
+       .long   1510632735
+       .long   1330003814
+       .long   667617719
+       .long   1965537991
+       .long   2657085997
+       .long   3664575902
+       .long   3021265470
+       .long   2660007629
+       .long   1335235438
+       .long   3931075983
+       .long   1019204698
+       .long   3034184508
+       .long   1747563645
+       .long   1025047962
+       .long   2670470877
+       .long   3567184671
+       .long   2038409397
+       .long   1773401721
+       .long   3495127291
+       .long   2050095924
+       .long   1045974458
+       .long   2839402047
+       .long   4076818795
+       .long   3546803442
+       .long   2695287286
+       .long   4100191849
+       .long   2091948916
+       .long   1383836798
+       .long   3858670295
+       .long   2798639588
+       .long   1095607277
+       .long   3905416403
+       .long   4183897833
+       .long   2767673597
+       .long   3422373294
+       .long   1302311881
+       .long   2191214555
+       .long   3515865511
+       .long   4072828371
+       .long   1240379898
+       .long   2549779293
+       .long   2604623763
+       .long   87461814
+       .long   2736763727
+       .long   3850689447
+       .long   2480759797
+       .long   804591290
+       .long   914280231
+       .long   174923629
+       .long   1178560158
+       .long   3406411599
+       .long   666552299
+       .long   1609182581
+       .long   1828560463
+       .long   349847258
+       .long   2357120316
+       .long   2517855902
+       .long   1333104599
+       .long   3218365162
+       .long   3657120927
+       .long   699694516
+       .long   419273337
+       .long   740744509
+       .long   2666209199
+       .long   2141763028
+       .long   3019274558
+       .long   1399389033
+       .long   838546674
+       .long   1481489018
+       .long   1037451103
+       .long   4283526057
+       .long   1743581820
+       .long   2798778067
+       .long   1677093349
+       .long   2962978036
+       .long   2074902206
+       .long   4272084818
+       .long   3487163641
+       .long   1302588838
+       .long   3354186699
+       .long   1630988776
+       .long   4149804412
+       .long   4249202340
+       .long   2679359986
+       .long   2605177677
+       .long   2413406103
+       .long   3261977553
+       .long   4004641529
+       .long   4203437385
+       .long   1063752677
+       .long   915388059
+       .long   531844911
+       .long   2228987811
+       .long   3714315762
+       .long   4111907475
+       .long   2127505355
+       .long   1830776118
+       .long   1063689823
+       .long   163008326
+       .long   3133664229
+       .long   3928847655
+       .long   4255010710
+       .long   3661552236
+       .long   2127379647
+       .long   326016652
+       .long   1972361163
+       .long   3562728015
+       .long   4215054124
+       .long   3028137177
+       .long   4254759295
+       .long   652033304
+       .long   3944722327
+       .long   2830488734
+       .long   4135140952
+       .long   1761307059
+       .long   4214551295
+       .long   1304066609
+       .long   3594477359
+       .long   1366010173
+       .long   3975314608
+       .long   3522614119
+       .long   4134135294
+       .long   2608133219
+       .long   2893987423
+       .long   2732020347
+       .long   3655661921
+       .long   2750260943
+       .long   3973303293
+       .long   921299143
+       .long   1493007550
+       .long   1169073399
+       .long   3016356546
+       .long   1205554591
+       .long   3651639290
+       .long   1842598287
+       .long   2986015100
+       .long   2338146798
+       .long   1737745796
+       .long   2411109183
+       .long   3008311285
+       .long   3685196575
+       .long   1677062904
+       .long   381326301
+       .long   3475491593
+       .long   527251070
+       .long   1721655274
+       .long   3075425855
+       .long   3354125809
+       .long   762652602
+       .long   2656015891
+       .long   1054502141
+       .long   3443310548
+       .long   1855884414
+       .long   2413284322
+       .long   1525305205
+       .long   1017064486
+       .long   2109004283
+       .long   2591653800
+       .long   3711768829
+       .long   531601349
+       .long   3050610411
+       .long   2034128973
+       .long   4218008566
+       .long   888340305
+       .long   3128570363
+       .long   1063202699
+       .long   1806253526
+       .long   4068257947
+       .long   4141049836
+       .long   1776680610
+       .long   1962173430
+       .long   2126405399
+       .long   3612507052
+       .long   3841548598
+       .long   3987132377
+       .long   3553361221
+       .long   3924346860
+       .long   4252810799
+       .long   2930046808
+       .long   3388129901
+       .long   3679297459
+       .long   2811755147
+       .long   3553726425
+       .long   4210654302
+       .long   1565126321
+       .long   2481292507
+       .long   3063627623
+       .long   1328542998
+       .long   2812485555
+       .long   4126341309
+       .long   3130252643
+       .long   667617719
+       .long   1832287951
+       .long   2657085997
+       .long   1330003814
+       .long   3957715323
+       .long   1965537991
+       .long   1335235438
+       .long   3664575902
+       .long   1019204698
+       .long   2660007629
+       .long   3620463350
+       .long   3931075983
+       .long   2670470877
+       .long   3034184508
+       .long   2038409397
+       .long   1025047962
+       .long   2945959404
+       .long   3567184671
+       .long   1045974458
+       .long   1773401721
+       .long   4076818795
+       .long   2050095924
+       .long   1596951513
+       .long   2839402047
+       .long   2091948916
+       .long   3546803442
+       .long   3858670295
+       .long   4100191849
+       .long   3193903027
+       .long   1383836798
+       .long   4183897833
+       .long   2798639588
+       .long   3422373294
+       .long   3905416403
+       .long   2092838759
+       .long   2767673597
+       .long   4072828371
+       .long   1302311881
+       .long   2549779293
+       .long   3515865511
+       .long   4185677519
+       .long   1240379898
+       .long   3850689447
+       .long   2604623763
+       .long   804591290
+       .long   2736763727
+       .long   4076387742
+       .long   2480759797
+       .long   3406411599
+       .long   914280231
+       .long   1609182581
+       .long   1178560158
+       .long   3857808189
+       .long   666552299
+       .long   2517855902
+       .long   1828560463
+       .long   3218365162
+       .long   2357120316
+       .long   3420649082
+       .long   1333104599
+       .long   740744509
+       .long   3657120927
+       .long   2141763028
+       .long   419273337
+       .long   2546330868
+       .long   2666209199
+       .long   1481489018
+       .long   3019274558
+       .long   4283526057
+       .long   838546674
+       .long   797694440
+       .long   1037451103
+       .long   2962978036
+       .long   1743581820
+       .long   4272084818
+       .long   1677093349
+       .long   1595388880
+       .long   2074902206
+       .long   1630988776
+       .long   3487163641
+       .long   4249202340
+       .long   3354186699
+       .long   3190777760
+       .long   4149804412
+       .long   3261977553
+       .long   2679359986
+       .long   4203437385
+       .long   2413406103
+       .long   2086588225
+       .long   4004641529
+       .long   2228987811
+       .long   1063752677
+       .long   4111907475
+       .long   531844911
+       .long   4173176451
+       .long   3714315762
+       .long   163008326
+       .long   2127505355
+       .long   3928847655
+       .long   1063689823
+       .long   4051385607
+       .long   3133664229
+       .long   326016652
+       .long   4255010710
+       .long   3562728015
+       .long   2127379647
+       .long   3807803918
+       .long   1972361163
+       .long   652033304
+       .long   4215054124
+       .long   2830488734
+       .long   4254759295
+       .long   3320640540
+       .long   3944722327
+       .long   1304066609
+       .long   4135140952
+       .long   1366010173
+       .long   4214551295
+       .long   2346313785
+       .long   3594477359
+       .long   2608133219
+       .long   3975314608
+       .long   2732020347
+       .long   4134135294
+       .long   397660275
+       .long   2893987423
+       .long   921299143
+       .long   3655661921
+       .long   1169073399
+       .long   3973303293
+       .long   795320551
+       .long   1493007550
+       .long   1842598287
+       .long   3016356546
+       .long   2338146798
+       .long   3651639290
+       .long   1590641102
+       .long   2986015100
+       .long   3685196575
+       .long   1737745796
+       .long   381326301
+       .long   3008311285
+       .long   3181282204
+       .long   1677062904
+       .long   3075425855
+       .long   3475491593
+       .long   762652602
+       .long   1721655274
+       .long   2067597113
+       .long   3354125809
+       .long   1855884414
+       .long   2656015891
+       .long   1525305205
+       .long   3443310548
+       .long   4135194227
+       .long   2413284322
+       .long   3711768829
+       .long   1017064486
+       .long   3050610411
+       .long   2591653800
+       .long   3975421159
+       .long   531601349
+       .long   3128570363
+       .long   2034128973
+       .long   1806253526
+       .long   888340305
+       .long   3655875023
+       .long   1063202699
+       .long   1962173430
+       .long   4068257947
+       .long   3612507052
+       .long   1776680610
+       .long   3016782751
+       .long   2126405399
+       .long   3924346860
+       .long   3841548598
+       .long   2930046808
+       .long   3553361221
+       .long   1738598206
+       .long   4252810799
+       .long   3553726425
+       .long   3388129901
+       .long   1565126321
+       .long   2811755147
+       .long   3477196413
+       .long   4210654302
+       .long   2812485555
+       .long   2481292507
+       .long   3130252643
+       .long   1328542998
+       .long   2659425531
+       .long   4126341309
+       .long   1330003814
+       .long   667617719
+       .long   1965537991
+       .long   2657085997
+       .long   1023883767
+       .long   3957715323
+       .long   2660007629
+       .long   1335235438
+       .long   3931075983
+       .long   1019204698
+       .long   2047767535
+       .long   3620463350
+       .long   1025047962
+       .long   2670470877
+       .long   3567184671
+       .long   2038409397
+       .long   4095535070
+       .long   2945959404
+       .long   2050095924
+       .long   1045974458
+       .long   2839402047
+       .long   4076818795
+       .long   3896102844
+       .long   1596951513
+       .long   4100191849
+       .long   2091948916
+       .long   1383836798
+       .long   3858670295
+       .long   3497238392
+       .long   3193903027
+       .long   3905416403
+       .long   4183897833
+       .long   2767673597
+       .long   3422373294
+       .long   2699509489
+       .long   2092838759
+       .long   3515865511
+       .long   4072828371
+       .long   1240379898
+       .long   2549779293
+       .long   1104051682
+       .long   4185677519
+       .long   2736763727
+       .long   3850689447
+       .long   2480759797
+       .long   804591290
+       .long   2208103365
+       .long   4076387742
+       .long   1178560158
+       .long   3406411599
+       .long   666552299
+       .long   1609182581
+       .long   121239434
+       .long   3857808189
+       .long   2357120316
+       .long   2517855902
+       .long   1333104599
+       .long   3218365162
+       .long   242478868
+       .long   3420649082
+       .long   419273337
+       .long   740744509
+       .long   2666209199
+       .long   2141763028
+       .long   484957737
+       .long   2546330868
+       .long   838546674
+       .long   1481489018
+       .long   1037451103
+       .long   4283526057
+       .long   969915474
+       .long   797694440
+       .long   1677093349
+       .long   2962978036
+       .long   2074902206
+       .long   4272084818
+       .long   1939830949
+       .long   1595388880
+       .long   3354186699
+       .long   1630988776
+       .long   4149804412
+       .long   4249202340
+       .long   3879661898
+       .long   3190777760
+       .long   2413406103
+       .long   3261977553
+       .long   4004641529
+       .long   4203437385
+       .long   3464356500
+       .long   2086588225
+       .long   531844911
+       .long   2228987811
+       .long   3714315762
+       .long   4111907475
+       .long   2633745705
+       .long   4173176451
+       .long   1063689823
+       .long   163008326
+       .long   3133664229
+       .long   3928847655
+       .long   972524114
+       .long   4051385607
+       .long   2127379647
+       .long   326016652
+       .long   1972361163
+       .long   3562728015
+       .long   1945048229
+       .long   3807803918
+       .long   4254759295
+       .long   652033304
+       .long   3944722327
+       .long   2830488734
+       .long   3890096458
+       .long   3320640540
+       .long   4214551295
+       .long   1304066609
+       .long   3594477359
+       .long   1366010173
+       .long   3485225620
+       .long   2346313785
+       .long   4134135294
+       .long   2608133219
+       .long   2893987423
+       .long   2732020347
+       .long   2675483945
+       .long   397660275
+       .long   3973303293
+       .long   921299143
+       .long   1493007550
+       .long   1169073399
+       .long   1056000594
+       .long   795320551
+       .long   3651639290
+       .long   1842598287
+       .long   2986015100
+       .long   2338146798
+       .long   2112001188
+       .long   1590641102
+       .long   3008311285
+       .long   3685196575
+       .long   1677062904
+       .long   381326301
+       .long   4224002377
+       .long   3181282204
+       .long   1721655274
+       .long   3075425855
+       .long   3354125809
+       .long   762652602
+       .long   4153037458
+       .long   2067597113
+       .long   3443310548
+       .long   1855884414
+       .long   2413284322
+       .long   1525305205
+       .long   4011107621
+       .long   4135194227
+       .long   2591653800
+       .long   3711768829
+       .long   531601349
+       .long   3050610411
+       .long   3727247947
+       .long   3975421159
+       .long   888340305
+       .long   3128570363
+       .long   1063202699
+       .long   1806253526
+       .long   3159528599
+       .long   3655875023
+       .long   1776680610
+       .long   1962173430
+       .long   2126405399
+       .long   3612507052
+       .long   2024089902
+       .long   3016782751
+       .long   3553361221
+       .long   3924346860
+       .long   4252810799
+       .long   2930046808
+       .long   4048179805
+       .long   1738598206
+       .long   2811755147
+       .long   3553726425
+       .long   4210654302
+       .long   1565126321
+       .long   3801392314
+       .long   3477196413
+       .long   1328542998
+       .long   2812485555
+       .long   4126341309
+       .long   3130252643
+       .long   3307817333
+       .long   2659425531
+       .long   2657085997
+       .long   1330003814
+       .long   3957715323
+       .long   1965537991
+       .long   2320667370
+       .long   1023883767
+       .long   1019204698
+       .long   2660007629
+       .long   3620463350
+       .long   3931075983
+       .long   346367444
+       .long   2047767535
+       .long   2038409397
+       .long   1025047962
+       .long   2945959404
+       .long   3567184671
+       .long   692734889
+       .long   4095535070
+       .long   4076818795
+       .long   2050095924
+       .long   1596951513
+       .long   2839402047
+       .long   1385469779
+       .long   3896102844
+       .long   3858670295
+       .long   4100191849
+       .long   3193903027
+       .long   1383836798
+       .long   2770939558
+       .long   3497238392
+       .long   3422373294
+       .long   3905416403
+       .long   2092838759
+       .long   2767673597
+       .long   1246911821
+       .long   2699509489
+       .long   2549779293
+       .long   3515865511
+       .long   4185677519
+       .long   1240379898
+       .long   2493823642
+       .long   1104051682
+       .long   804591290
+       .long   2736763727
+       .long   4076387742
+       .long   2480759797
+       .long   692679989
+       .long   2208103365
+       .long   1609182581
+       .long   1178560158
+       .long   3857808189
+       .long   666552299
+       .long   1385359979
+       .long   121239434
+       .long   3218365162
+       .long   2357120316
+       .long   3420649082
+       .long   1333104599
+       .long   2770719959
+       .long   242478868
+       .long   2141763028
+       .long   419273337
+       .long   2546330868
+       .long   2666209199
+       .long   1246472623
+       .long   484957737
+       .long   4283526057
+       .long   838546674
+       .long   797694440
+       .long   1037451103
+       .long   2492945247
+       .long   969915474
+       .long   4272084818
+       .long   1677093349
+       .long   1595388880
+       .long   2074902206
+       .long   690923199
+       .long   1939830949
+       .long   4249202340
+       .long   3354186699
+       .long   3190777760
+       .long   4149804412
+       .long   1381846399
+       .long   3879661898
+       .long   4203437385
+       .long   2413406103
+       .long   2086588225
+       .long   4004641529
+       .long   2763692798
+       .long   3464356500
+       .long   4111907475
+       .long   531844911
+       .long   4173176451
+       .long   3714315762
+       .long   1232418301
+       .long   2633745705
+       .long   3928847655
+       .long   1063689823
+       .long   4051385607
+       .long   3133664229
+       .long   2464836603
+       .long   972524114
+       .long   3562728015
+       .long   2127379647
+       .long   3807803918
+       .long   1972361163
+       .long   634705910
+       .long   1945048229
+       .long   2830488734
+       .long   4254759295
+       .long   3320640540
+       .long   3944722327
+       .long   1269411821
+       .long   3890096458
+       .long   1366010173
+       .long   4214551295
+       .long   2346313785
+       .long   3594477359
+       .long   2538823642
+       .long   3485225620
+       .long   2732020347
+       .long   4134135294
+       .long   397660275
+       .long   2893987423
+       .long   782679989
+       .long   2675483945
+       .long   1169073399
+       .long   3973303293
+       .long   795320551
+       .long   1493007550
+       .long   1565359979
+       .long   1056000594
+       .long   2338146798
+       .long   3651639290
+       .long   1590641102
+       .long   2986015100
+       .long   3130719959
+       .long   2112001188
+       .long   381326301
+       .long   3008311285
+       .long   3181282204
+       .long   1677062904
+       .long   1966472623
+       .long   4224002377
+       .long   762652602
+       .long   1721655274
+       .long   2067597113
+       .long   3354125809
+       .long   3932945247
+       .long   4153037458
+       .long   1525305205
+       .long   3443310548
+       .long   4135194227
+       .long   2413284322
+       .long   3570923199
+       .long   4011107621
+       .long   3050610411
+       .long   2591653800
+       .long   3975421159
+       .long   531601349
+       .long   2846879102
+       .long   3727247947
+       .long   1806253526
+       .long   888340305
+       .long   3655875023
+       .long   1063202699
+       .long   1398790909
+       .long   3159528599
+       .long   3612507052
+       .long   1776680610
+       .long   3016782751
+       .long   2126405399
+       .long   2797581819
+       .long   2024089902
+       .long   2930046808
+       .long   3553361221
+       .long   1738598206
+       .long   4252810799
+       .long   1300196342
+       .long   4048179805
+       .long   1565126321
+       .long   2811755147
+       .long   3477196413
+       .long   4210654302
+       .long   2600392684
+       .long   3801392314
+       .long   3130252643
+       .long   1328542998
+       .long   2659425531
+       .long   4126341309
+       .long   905818072
+       .long   3307817333
+       .long   1965537991
+       .long   2657085997
+       .long   1023883767
+       .long   3957715323
+       .long   1811636145
+       .long   2320667370
+       .long   3931075983
+       .long   1019204698
+       .long   2047767535
+       .long   3620463350
+       .long   3623272290
+       .long   346367444
+       .long   3567184671
+       .long   2038409397
+       .long   4095535070
+       .long   2945959404
+       .long   2951577284
+       .long   692734889
+       .long   2839402047
+       .long   4076818795
+       .long   3896102844
+       .long   1596951513
+       .long   1608187272
+       .long   1385469779
+       .long   1383836798
+       .long   3858670295
+       .long   3497238392
+       .long   3193903027
+       .long   3216374545
+       .long   2770939558
+       .long   2767673597
+       .long   3422373294
+       .long   2699509489
+       .long   2092838759
+       .long   2137781795
+       .long   1246911821
+       .long   1240379898
+       .long   2549779293
+       .long   1104051682
+       .long   4185677519
+       .long   4275563591
+       .long   2493823642
+       .long   2480759797
+       .long   804591290
+       .long   2208103365
+       .long   4076387742
+       .long   4256159887
+       .long   692679989
+       .long   666552299
+       .long   1609182581
+       .long   121239434
+       .long   3857808189
+       .long   4217352479
+       .long   1385359979
+       .long   1333104599
+       .long   3218365162
+       .long   242478868
+       .long   3420649082
+       .long   4139737663
+       .long   2770719959
+       .long   2666209199
+       .long   2141763028
+       .long   484957737
+       .long   2546330868
+       .long   3984508030
+       .long   1246472623
+       .long   1037451103
+       .long   4283526057
+       .long   969915474
+       .long   797694440
+       .long   3674048764
+       .long   2492945247
+       .long   2074902206
+       .long   4272084818
+       .long   1939830949
+       .long   1595388880
+       .long   3053130232
+       .long   690923199
+       .long   4149804412
+       .long   4249202340
+       .long   3879661898
+       .long   3190777760
+       .long   1811293169
+       .long   1381846399
+       .long   4004641529
+       .long   4203437385
+       .long   3464356500
+       .long   2086588225
+       .long   3622586339
+       .long   2763692798
+       .long   3714315762
+       .long   4111907475
+       .long   2633745705
+       .long   4173176451
+       .long   2950205382
+       .long   1232418301
+       .long   3133664229
+       .long   3928847655
+       .long   972524114
+       .long   4051385607
+       .long   1605443469
+       .long   2464836603
+       .long   1972361163
+       .long   3562728015
+       .long   1945048229
+       .long   3807803918
+       .long   3210886938
+       .long   634705910
+       .long   3944722327
+       .long   2830488734
+       .long   3890096458
+       .long   3320640540
+       .long   2126806581
+       .long   1269411821
+       .long   3594477359
+       .long   1366010173
+       .long   3485225620
+       .long   2346313785
+       .long   4253613162
+       .long   2538823642
+       .long   2893987423
+       .long   2732020347
+       .long   2675483945
+       .long   397660275
+       .long   4212259029
+       .long   782679989
+       .long   1493007550
+       .long   1169073399
+       .long   1056000594
+       .long   795320551
+       .long   4129550763
+       .long   1565359979
+       .long   2986015100
+       .long   2338146798
+       .long   2112001188
+       .long   1590641102
+       .long   3964134231
+       .long   3130719959
+       .long   1677062904
+       .long   381326301
+       .long   4224002377
+       .long   3181282204
+       .long   3633301166
+       .long   1966472623
+       .long   3354125809
+       .long   762652602
+       .long   4153037458
+       .long   2067597113
+       .long   2971635037
+       .long   3932945247
+       .long   2413284322
+       .long   1525305205
+       .long   4011107621
+       .long   4135194227
+       .long   1648302778
+       .long   3570923199
+       .long   531601349
+       .long   3050610411
+       .long   3727247947
+       .long   3975421159
+       .long   3296605556
+       .long   2846879102
+       .long   1063202699
+       .long   1806253526
+       .long   3159528599
+       .long   3655875023
+       .long   2298243816
+       .long   1398790909
+       .long   2126405399
+       .long   3612507052
+       .long   2024089902
+       .long   3016782751
+       .long   301520336
+       .long   2797581819
+       .long   4252810799
+       .long   2930046808
+       .long   4048179805
+       .long   1738598206
+       .long   603040673
+       .long   1300196342
+       .long   4210654302
+       .long   1565126321
+       .long   3801392314
+       .long   3477196413
+       .long   1206081346
+       .long   2600392684
+       .long   4126341309
+       .long   3130252643
+       .long   3307817333
+       .long   2659425531
+       .long   2412162692
+       .long   905818072
+       .long   3957715323
+       .long   1965537991
+       .long   2320667370
+       .long   1023883767
+       .long   529358088
+       .long   1811636145
+       .long   3620463350
+       .long   3931075983
+       .long   346367444
+       .long   2047767535
+       .long   1058716176
+       .long   3623272290
+       .long   2945959404
+       .long   3567184671
+       .long   692734889
+       .long   4095535070
+       .long   2117432353
+       .long   2951577284
+       .long   1596951513
+       .long   2839402047
+       .long   1385469779
+       .long   3896102844
+       .long   4234864706
+       .long   1608187272
+       .long   3193903027
+       .long   1383836798
+       .long   2770939558
+       .long   3497238392
+       .long   4174762117
+       .long   3216374545
+       .long   2092838759
+       .long   2767673597
+       .long   1246911821
+       .long   2699509489
+       .long   4054556938
+       .long   2137781795
+       .long   4185677519
+       .long   1240379898
+       .long   2493823642
+       .long   1104051682
+       .long   3814146581
+       .long   4275563591
+       .long   4076387742
+       .long   2480759797
+       .long   692679989
+       .long   2208103365
+       .long   3333325867
+       .long   4256159887
+       .long   3857808189
+       .long   666552299
+       .long   1385359979
+       .long   121239434
+       .long   2371684438
+       .long   4217352479
+       .long   3420649082
+       .long   1333104599
+       .long   2770719959
+       .long   242478868
+       .long   448401580
+       .long   4139737663
+       .long   2546330868
+       .long   2666209199
+       .long   1246472623
+       .long   484957737
+       .long   896803160
+       .long   3984508030
+       .type   __svml_dsin_reduction_data_internal,@object
+       .size   __svml_dsin_reduction_data_internal,49152
+       .space 512, 0x00        
+       .align 8
+.L_2il0floatpacket.26:
+       .long   0xffffffff,0xffffffff
+       .type   .L_2il0floatpacket.26,@object
+       .size   .L_2il0floatpacket.26,8
+       .align 8
+.L_2il0floatpacket.27:
+       .long   0x00000000,0x7ff00000
+       .type   .L_2il0floatpacket.27,@object
+       .size   .L_2il0floatpacket.27,8
+       .align 8
+.L_2il0floatpacket.28:
+       .long   0xffffffff,0x000fffff
+       .type   .L_2il0floatpacket.28,@object
+       .size   .L_2il0floatpacket.28,8
+       .align 8
+.L_2il0floatpacket.29:
+       .long   0x00000000,0x00100000
+       .type   .L_2il0floatpacket.29,@object
+       .size   .L_2il0floatpacket.29,8
+       .align 8
+.L_2il0floatpacket.30:
+       .long   0xffffffff,0x00000000
+       .type   .L_2il0floatpacket.30,@object
+       .size   .L_2il0floatpacket.30,8
+       .align 8
+.L_2il0floatpacket.31:
+       .long   0x00000000,0x80000000
+       .type   .L_2il0floatpacket.31,@object
+       .size   .L_2il0floatpacket.31,8
+       .align 8
+.L_2il0floatpacket.32:
+       .long   0x00000000,0x3ff00000
+       .type   .L_2il0floatpacket.32,@object
+       .size   .L_2il0floatpacket.32,8
+       .align 8
+.L_2il0floatpacket.33:
+       .long   0x00000000,0x42a80000
+       .type   .L_2il0floatpacket.33,@object
+       .size   .L_2il0floatpacket.33,8
+       .align 8
+.L_2il0floatpacket.34:
+       .long   0x000001ff,0x00000000
+       .type   .L_2il0floatpacket.34,@object
+       .size   .L_2il0floatpacket.34,8
+       .align 8
+.L_2il0floatpacket.35:
+       .long   0x00000000,0x39700000
+       .type   .L_2il0floatpacket.35,@object
+       .size   .L_2il0floatpacket.35,8
+       .align 8
+.L_2il0floatpacket.36:
+       .long   0x00ffffff,0x00000000
+       .type   .L_2il0floatpacket.36,@object
+       .size   .L_2il0floatpacket.36,8
+       .align 8
+.L_2il0floatpacket.37:
+       .long   0x00000000,0x3cb00000
+       .type   .L_2il0floatpacket.37,@object
+       .size   .L_2il0floatpacket.37,8
+       .align 8
+.L_2il0floatpacket.38:
+       .long   0x00000fff,0x00000000
+       .type   .L_2il0floatpacket.38,@object
+       .size   .L_2il0floatpacket.38,8
+       .align 8
+.L_2il0floatpacket.39:
+       .long   0x54442d18,0x401921fb
+       .type   .L_2il0floatpacket.39,@object
+       .size   .L_2il0floatpacket.39,8
+       .align 8
+.L_2il0floatpacket.40:
+       .long   0x33145c07,0x3cb1a626
+       .type   .L_2il0floatpacket.40,@object
+       .size   .L_2il0floatpacket.40,8
+       .align 8
+.L_2il0floatpacket.41:
+       .long   0xffffffff,0x7fffffff
+       .type   .L_2il0floatpacket.41,@object
+       .size   .L_2il0floatpacket.41,8
+       .align 8
+.L_2il0floatpacket.42:
+       .long   0x00000000,0x3eb00000
+       .type   .L_2il0floatpacket.42,@object
+       .size   .L_2il0floatpacket.42,8
+       .align 8
+__dsin_la_CoutTab:
+       .long   0
+       .long   0
+       .long   0
+       .long   2146435072
+       .type   __dsin_la_CoutTab,@object
+       .size   __dsin_la_CoutTab,16
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_sin_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_sin_s_la.s
new file mode 100644 (file)
index 0000000..33ffbfa
--- /dev/null
@@ -0,0 +1,2751 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *  1) Range reduction to [-Pi/2; +Pi/2] interval
+ *     a) Grab sign from source argument and save it.
+ *     b) Remove sign using AND operation
+ *     c) Getting octant Y by 1/Pi multiplication
+ *     d) Add "Right Shifter" value
+ *     e) Treat obtained value as integer for destination sign setting.
+ *        Shift first bit of this value to the last (sign) position
+ *     f) Change destination sign if source sign is negative
+ *        using XOR operation.
+ *     g) Subtract "Right Shifter" value
+ *     h) Subtract Y*PI from X argument, where PI divided to 4 parts:
+ *        X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4;
+ *  2) Polynomial (minimax for sin within [-Pi/2; +Pi/2] interval)
+ *     a) Calculate X^2 = X * X
+ *     b) Calculate polynomial:
+ *        R = X + X * X^2 * (A3 + x^2 * (A5 + ......
+ *  3) Destination sign setting
+ *     a) Set shifted destination sign using XOR operation:
+ *        R = XOR( R, S );
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_sinf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_sinf16
+
+__svml_sinf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        xorl      %edx, %edx
+        vmovups   4096+__svml_ssin_data_internal(%rip), %zmm7
+        vmovups   5248+__svml_ssin_data_internal(%rip), %zmm2
+        vmovups   5312+__svml_ssin_data_internal(%rip), %zmm3
+        vmovups   4800+__svml_ssin_data_internal(%rip), %zmm6
+        vmovups   4864+__svml_ssin_data_internal(%rip), %zmm4
+        vmovups   4928+__svml_ssin_data_internal(%rip), %zmm5
+        vmovups   5184+__svml_ssin_data_internal(%rip), %zmm10
+        vmovups   5120+__svml_ssin_data_internal(%rip), %zmm14
+        vmovups   5056+__svml_ssin_data_internal(%rip), %zmm12
+        vmovups   4992+__svml_ssin_data_internal(%rip), %zmm13
+        vmovaps   %zmm0, %zmm11
+
+/* b) Remove sign using AND operation */
+        vandps    %zmm7, %zmm11, %zmm1
+
+/*
+ * f) Change destination sign if source sign is negative
+ * using XOR operation.
+ */
+        vandnps   %zmm11, %zmm7, %zmm0
+
+/*
+ * c) Getting octant Y by 1/Pi multiplication
+ * d) Add "Right Shifter" value
+ */
+        vfmadd213ps {rn-sae}, %zmm3, %zmm1, %zmm2
+
+/* g) Subtract "Right Shifter" value */
+        vsubps    {rn-sae}, %zmm3, %zmm2, %zmm8
+
+/*
+ * e) Treat obtained value as integer for destination sign setting.
+ * Shift first bit of this value to the last (sign) position
+ */
+        vpslld    $31, %zmm2, %zmm9
+
+/* Check for large and special values */
+        vmovups   4160+__svml_ssin_data_internal(%rip), %zmm2
+
+/*
+ * h) Subtract Y*PI from X argument, where PI divided to 4 parts:
+ * X = X - Y*PI1 - Y*PI2 - Y*PI3;
+ */
+        vfnmadd213ps {rn-sae}, %zmm1, %zmm8, %zmm6
+        vcmpps    $18, {sae}, %zmm2, %zmm1, %k1
+        vfnmadd231ps {rn-sae}, %zmm8, %zmm4, %zmm6
+        vfnmadd213ps {rn-sae}, %zmm6, %zmm5, %zmm8
+
+/*
+ * 2) Polynomial (minimax for sin within [-Pi/2; +Pi/2] interval)
+ * a) Calculate X^2 = X * X
+ * b) Calculate polynomial:
+ * R = X + X * X^2 * (A3 + x^2 * (A5 + ......
+ */
+        vmulps    {rn-sae}, %zmm8, %zmm8, %zmm15
+        vxorps    %zmm9, %zmm8, %zmm8
+        vfmadd231ps {rn-sae}, %zmm15, %zmm10, %zmm14
+        vpternlogd $255, %zmm10, %zmm10, %zmm10
+        vfmadd213ps {rn-sae}, %zmm12, %zmm15, %zmm14
+        vfmadd213ps {rn-sae}, %zmm13, %zmm15, %zmm14
+        vmulps    {rn-sae}, %zmm15, %zmm14, %zmm9
+        vfmadd213ps {rn-sae}, %zmm8, %zmm8, %zmm9
+
+/*
+ * 3) Destination sign setting
+ * a) Set shifted destination sign using XOR operation:
+ * R = XOR( R, S );
+ */
+        vxorps    %zmm0, %zmm9, %zmm0
+        vpandnd   %zmm1, %zmm1, %zmm10{%k1}
+        vptestmd  %zmm10, %zmm10, %k0
+        kortestw  %k0, %k0
+        jne       .LBL_1_12
+
+.LBL_1_2:
+
+        testl     %edx, %edx
+        jne       .LBL_1_4
+
+.LBL_1_3:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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_4:
+
+        vmovups   %zmm11, 64(%rsp)
+        vmovups   %zmm0, 128(%rsp)
+        je        .LBL_1_3
+
+
+        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_8:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_11
+
+.LBL_1_9:
+
+        incl      %r12d
+        cmpl      $16, %r12d
+        jl        .LBL_1_8
+
+
+        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_3
+       .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_11:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+
+        call      __svml_ssin_cout_rare_internal
+        jmp       .LBL_1_9
+       .cfi_restore 4
+       .cfi_restore 5
+       .cfi_restore 12
+       .cfi_restore 13
+       .cfi_restore 122
+       .cfi_restore 123
+       .cfi_restore 124
+       .cfi_restore 125
+
+.LBL_1_12:
+
+        vmovups   4224+__svml_ssin_data_internal(%rip), %zmm8
+
+/*
+ * Get the (2^a / 2pi) mod 1 values from the table.
+ * Because VLANG doesn't have I-type gather, we need a trivial cast
+ */
+        lea       __svml_ssin_reduction_data_internal(%rip), %rax
+        vmovups   %zmm0, (%rsp)
+        vandps    %zmm1, %zmm8, %zmm6
+        vpternlogd $255, %zmm1, %zmm1, %zmm1
+        vcmpps    $4, {sae}, %zmm8, %zmm6, %k1
+
+/* ..................... Table look-up ........................ */
+        lea       __svml_ssin_data_internal(%rip), %rcx
+        vpandd    .L_2il0floatpacket.21(%rip), %zmm11, %zmm12
+        vpandnd   %zmm6, %zmm6, %zmm1{%k1}
+        vpsrld    $23, %zmm12, %zmm13
+        vptestmd  %zmm1, %zmm1, %k0
+
+/*
+ * Break the P_xxx and m into 16-bit chunks ready for
+ * the long multiplication via 16x16->32 multiplications
+ */
+        vmovups   .L_2il0floatpacket.24(%rip), %zmm6
+        vpslld    $1, %zmm13, %zmm4
+        kxnorw    %k0, %k0, %k3
+        kxnorw    %k0, %k0, %k1
+        kxnorw    %k0, %k0, %k2
+        kmovw     %k0, %edx
+        vpaddd    %zmm13, %zmm4, %zmm9
+        vpslld    $2, %zmm9, %zmm5
+        vpxord    %zmm3, %zmm3, %zmm3
+        vpxord    %zmm14, %zmm14, %zmm14
+        vpxord    %zmm8, %zmm8, %zmm8
+        vgatherdps 4(%rax,%zmm5), %zmm3{%k3}
+        vgatherdps 8(%rax,%zmm5), %zmm14{%k1}
+        vgatherdps (%rax,%zmm5), %zmm8{%k2}
+        vpsrld    $16, %zmm3, %zmm15
+        vpsrld    $16, %zmm14, %zmm13
+        vpsrld    $16, %zmm8, %zmm7
+        kxnorw    %k0, %k0, %k1
+
+/*
+ * Also get the significand as an integer
+ * NB: adding in the integer bit is wrong for denorms!
+ * To make this work for denorms we should do something slightly different
+ */
+        vpandd    .L_2il0floatpacket.22(%rip), %zmm11, %zmm2
+        vpaddd    .L_2il0floatpacket.23(%rip), %zmm2, %zmm1
+        vpsrld    $16, %zmm1, %zmm9
+        vpandd    %zmm6, %zmm8, %zmm0
+        vpandd    %zmm6, %zmm3, %zmm12
+        vpandd    %zmm6, %zmm14, %zmm5
+        vpandd    %zmm6, %zmm1, %zmm14
+
+/* Now do the big multiplication and carry propagation */
+        vpmulld   %zmm0, %zmm9, %zmm4
+        vpmulld   %zmm15, %zmm9, %zmm3
+        vpmulld   %zmm12, %zmm9, %zmm2
+        vpmulld   %zmm13, %zmm9, %zmm1
+        vpmulld   %zmm5, %zmm9, %zmm8
+        vpmulld   %zmm15, %zmm14, %zmm9
+        vpmulld   %zmm13, %zmm14, %zmm15
+        vpmulld   %zmm7, %zmm14, %zmm7
+        vpmulld   %zmm0, %zmm14, %zmm5
+        vpmulld   %zmm12, %zmm14, %zmm0
+        vpsrld    $16, %zmm15, %zmm14
+        vpsrld    $16, %zmm9, %zmm15
+        vpsrld    $16, %zmm0, %zmm13
+        vpsrld    $16, %zmm5, %zmm12
+        vpaddd    %zmm15, %zmm3, %zmm3
+        vpaddd    %zmm14, %zmm1, %zmm1
+        vpaddd    %zmm13, %zmm2, %zmm14
+        vpaddd    %zmm12, %zmm4, %zmm2
+        vpandd    %zmm6, %zmm5, %zmm4
+        vpaddd    %zmm3, %zmm4, %zmm3
+        vpsrld    $16, %zmm8, %zmm4
+        vpandd    %zmm6, %zmm0, %zmm0
+        vpaddd    %zmm1, %zmm0, %zmm13
+        vpandd    %zmm6, %zmm7, %zmm7
+        vpaddd    %zmm2, %zmm7, %zmm0
+        vpaddd    %zmm13, %zmm4, %zmm7
+        vpandd    %zmm6, %zmm9, %zmm12
+        vpsrld    $16, %zmm7, %zmm9
+        vpaddd    %zmm14, %zmm12, %zmm5
+        vpaddd    %zmm5, %zmm9, %zmm1
+        vpsrld    $16, %zmm1, %zmm2
+        vpslld    $16, %zmm1, %zmm13
+        vpaddd    %zmm3, %zmm2, %zmm15
+        vpsrld    $16, %zmm15, %zmm8
+        vpaddd    %zmm0, %zmm8, %zmm14
+
+/* Assemble reduced argument from the pieces */
+        vpandd    %zmm6, %zmm7, %zmm12
+        vpandd    %zmm6, %zmm15, %zmm4
+        vpslld    $16, %zmm14, %zmm6
+        vpaddd    %zmm12, %zmm13, %zmm13
+        vpaddd    %zmm4, %zmm6, %zmm9
+
+/*
+ * Now round at the 2^-8 bit position for reduction mod pi/2^7
+ * instead of the original 2pi (but still with the same 2pi scaling).
+ * Use a shifter of 2^15 + 2^14.
+ * The N we get is our final version; it has an offset of
+ * 2^8 because of the implicit integer bit, and anyway for negative
+ * starting value it's a 2s complement thing. But we need to mask
+ * off the exponent part anyway so it's fine.
+ */
+        vmovups   .L_2il0floatpacket.27(%rip), %zmm6
+        vpsrld    $9, %zmm9, %zmm2
+        vpandd    .L_2il0floatpacket.30(%rip), %zmm13, %zmm15
+        vpslld    $5, %zmm15, %zmm1
+        vpsrld    $18, %zmm13, %zmm13
+
+/*
+ * We want to incorporate the original sign now too.
+ * Do it here for convenience in getting the right N value,
+ * though we could wait right to the end if we were prepared
+ * to modify the sign of N later too.
+ * So get the appropriate sign mask now (or sooner).
+ */
+        vpandd    .L_2il0floatpacket.25(%rip), %zmm11, %zmm5
+
+/*
+ * Create floating-point high part, implicitly adding integer bit 1
+ * Incorporate overall sign at this stage too.
+ */
+        vpxord    .L_2il0floatpacket.26(%rip), %zmm5, %zmm8
+        vpord     %zmm8, %zmm2, %zmm3
+        vaddps    {rn-sae}, %zmm3, %zmm6, %zmm7
+        vsubps    {rn-sae}, %zmm6, %zmm7, %zmm0
+        vsubps    {rn-sae}, %zmm0, %zmm3, %zmm14
+        vandps    .L_2il0floatpacket.35(%rip), %zmm11, %zmm3
+        vpternlogd $255, %zmm0, %zmm0, %zmm0
+
+/*
+ * Create floating-point low and medium parts, respectively
+ * lo_17, ... lo_0, 0, ..., 0
+ * hi_8, ... hi_0, lo_31, ..., lo_18
+ * then subtract off the implicitly added integer bits,
+ * 2^-46 and 2^-23, respectively.
+ * Put the original sign into all of them at this stage.
+ */
+        vpxord    .L_2il0floatpacket.29(%rip), %zmm5, %zmm8
+        vpord     %zmm8, %zmm1, %zmm2
+        vpandd    .L_2il0floatpacket.32(%rip), %zmm9, %zmm9
+        vsubps    {rn-sae}, %zmm8, %zmm2, %zmm15
+        vpxord    .L_2il0floatpacket.31(%rip), %zmm5, %zmm2
+        vpslld    $14, %zmm9, %zmm5
+        vpord     %zmm13, %zmm5, %zmm5
+        vpord     %zmm2, %zmm5, %zmm9
+        vsubps    {rn-sae}, %zmm2, %zmm9, %zmm8
+
+/*
+ * Now multiply those numbers all by 2 pi, reasonably accurately.
+ * (RHi + RLo) * (pi_lead + pi_trail) ~=
+ * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead)
+ */
+        vmovups   .L_2il0floatpacket.33(%rip), %zmm9
+        vmovups   .L_2il0floatpacket.34(%rip), %zmm2
+
+/* Now add them up into 2 reasonably aligned pieces */
+        vaddps    {rn-sae}, %zmm8, %zmm14, %zmm6
+        vsubps    {rn-sae}, %zmm6, %zmm14, %zmm14
+        vmovaps   %zmm9, %zmm5
+        vaddps    {rn-sae}, %zmm14, %zmm8, %zmm13
+
+/*
+ * If the magnitude of the input is <= 2^-20, then
+ * just pass through the input, since no reduction will be needed and
+ * the main path will only work accurately if the reduced argument is
+ * about >= 2^-40 (which it is for all large pi multiples)
+ */
+        vmovups   .L_2il0floatpacket.36(%rip), %zmm8
+        vaddps    {rn-sae}, %zmm15, %zmm13, %zmm14
+        vpternlogd $255, %zmm15, %zmm15, %zmm15
+        vcmpps    $26, {sae}, %zmm8, %zmm3, %k2
+        vcmpps    $22, {sae}, %zmm8, %zmm3, %k3
+
+/* Grab our final N value as an integer, appropriately masked mod 2^8 */
+        vpandd    .L_2il0floatpacket.28(%rip), %zmm7, %zmm4
+        vmulps    {rn-sae}, %zmm9, %zmm6, %zmm7
+        vfmsub213ps {rn-sae}, %zmm7, %zmm6, %zmm5
+        vfmadd213ps {rn-sae}, %zmm5, %zmm2, %zmm6
+        vfmadd213ps {rn-sae}, %zmm6, %zmm9, %zmm14
+        vpslld    $4, %zmm4, %zmm9
+        vpandnd   %zmm3, %zmm3, %zmm15{%k2}
+        vpandnd   %zmm3, %zmm3, %zmm0{%k3}
+        kxnorw    %k0, %k0, %k2
+        kxnorw    %k0, %k0, %k3
+        vandps    %zmm7, %zmm15, %zmm12
+        vandps    %zmm11, %zmm0, %zmm1
+        vandps    %zmm14, %zmm15, %zmm2
+        vorps     %zmm12, %zmm1, %zmm13
+
+/* ............... Polynomial approximation ................... */
+        vmovups   4352+__svml_ssin_data_internal(%rip), %zmm12
+
+/*
+ * The output is _VRES_R (high) + _VRES_E (low), and the integer part is _VRES_IND
+ * Set sRp2 = _VRES_R^2 and then resume the original code.
+ */
+        vmulps    {rn-sae}, %zmm13, %zmm13, %zmm3
+
+/* ................. Reconstruction: res_hi ................... */
+        vmovaps   %zmm13, %zmm8
+        vmovaps   %zmm13, %zmm4
+        vpxord    %zmm5, %zmm5, %zmm5
+        vpxord    %zmm7, %zmm7, %zmm7
+        vgatherdps 4(%rcx,%zmm9), %zmm5{%k2}
+        vgatherdps 12(%rcx,%zmm9), %zmm7{%k3}
+        vfmadd213ps {rn-sae}, %zmm5, %zmm7, %zmm8
+        vsubps    {rn-sae}, %zmm8, %zmm5, %zmm1
+        vfmadd231ps {rn-sae}, %zmm13, %zmm7, %zmm1
+        vpxord    %zmm0, %zmm0, %zmm0
+        vgatherdps (%rcx,%zmm9), %zmm0{%k1}
+
+/* ................. Reconstruction: res_lo=corr+polS+polC+res_lo0 ................... */
+        kxnorw    %k0, %k0, %k1
+        vfmadd132ps {rn-sae}, %zmm0, %zmm8, %zmm4
+        vsubps    {rn-sae}, %zmm4, %zmm8, %zmm6
+        vfmadd231ps {rn-sae}, %zmm0, %zmm13, %zmm6
+        vaddps    {rn-sae}, %zmm1, %zmm6, %zmm8
+        vaddps    {rn-sae}, %zmm7, %zmm0, %zmm1
+        vmovups   4288+__svml_ssin_data_internal(%rip), %zmm6
+        vmovups   4480+__svml_ssin_data_internal(%rip), %zmm0
+        vmovups   4416+__svml_ssin_data_internal(%rip), %zmm7
+        vfmadd231ps {rn-sae}, %zmm3, %zmm12, %zmm6
+        vfmadd231ps {rn-sae}, %zmm3, %zmm0, %zmm7
+        vmulps    {rn-sae}, %zmm3, %zmm6, %zmm14
+        vmulps    {rn-sae}, %zmm3, %zmm7, %zmm0
+        vmulps    {rn-sae}, %zmm13, %zmm14, %zmm6
+        vfnmadd213ps {rn-sae}, %zmm1, %zmm5, %zmm13
+        vfmadd213ps {rn-sae}, %zmm8, %zmm13, %zmm6
+        vpxord    %zmm3, %zmm3, %zmm3
+        vgatherdps 8(%rcx,%zmm9), %zmm3{%k1}
+        vfmadd213ps {rn-sae}, %zmm3, %zmm13, %zmm2
+        vfmadd213ps {rn-sae}, %zmm2, %zmm5, %zmm0
+        vaddps    {rn-sae}, %zmm6, %zmm0, %zmm2
+
+/* .................. Final reconstruction ................... */
+        vaddps    {rn-sae}, %zmm2, %zmm4, %zmm4
+
+/*
+ * ----------------------------------------------------------
+ * End of large arguments path
+ * ----------------------------------------------------------
+ * Merge results from main and large paths:
+ */
+        vpandnd   (%rsp), %zmm10, %zmm0
+        vpandd    %zmm10, %zmm4, %zmm10
+        vpord     %zmm10, %zmm0, %zmm0
+        jmp       .LBL_1_2
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sinf16,@function
+       .size   __svml_sinf16,.-__svml_sinf16
+..LN__svml_sinf16.0:
+
+.L_2__routine_start___svml_ssin_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_ssin_cout_rare_internal:
+
+
+       .cfi_startproc
+..L63:
+
+        movl      (%rdi), %edx
+        movzwl    2(%rdi), %eax
+        movl      %edx, -8(%rsp)
+        andl      $32640, %eax
+        shrl      $24, %edx
+        andl      $127, %edx
+        movss     (%rdi), %xmm1
+        cmpl      $32640, %eax
+        jne       .LBL_2_6
+
+
+        movb      %dl, -5(%rsp)
+        cmpl      $2139095040, -8(%rsp)
+        jne       .LBL_2_4
+
+
+        movss     __ssin_la__vmlsSinHATab(%rip), %xmm0
+        movl      $1, %eax
+        mulss     %xmm0, %xmm1
+        movss     %xmm1, (%rsi)
+        ret
+
+.LBL_2_4:
+
+        mulss     (%rdi), %xmm1
+        xorl      %eax, %eax
+        movss     %xmm1, (%rsi)
+
+
+        ret
+
+.LBL_2_6:
+
+        xorl      %eax, %eax
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_ssin_cout_rare_internal,@function
+       .size   __svml_ssin_cout_rare_internal,.-__svml_ssin_cout_rare_internal
+..LN__svml_ssin_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+.L_2il0floatpacket.21:
+       .long   0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000
+       .type   .L_2il0floatpacket.21,@object
+       .size   .L_2il0floatpacket.21,64
+       .align 64
+.L_2il0floatpacket.22:
+       .long   0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff
+       .type   .L_2il0floatpacket.22,@object
+       .size   .L_2il0floatpacket.22,64
+       .align 64
+.L_2il0floatpacket.23:
+       .long   0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000
+       .type   .L_2il0floatpacket.23,@object
+       .size   .L_2il0floatpacket.23,64
+       .align 64
+.L_2il0floatpacket.24:
+       .long   0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff
+       .type   .L_2il0floatpacket.24,@object
+       .size   .L_2il0floatpacket.24,64
+       .align 64
+.L_2il0floatpacket.25:
+       .long   0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000
+       .type   .L_2il0floatpacket.25,@object
+       .size   .L_2il0floatpacket.25,64
+       .align 64
+.L_2il0floatpacket.26:
+       .long   0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000
+       .type   .L_2il0floatpacket.26,@object
+       .size   .L_2il0floatpacket.26,64
+       .align 64
+.L_2il0floatpacket.27:
+       .long   0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000
+       .type   .L_2il0floatpacket.27,@object
+       .size   .L_2il0floatpacket.27,64
+       .align 64
+.L_2il0floatpacket.28:
+       .long   0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff
+       .type   .L_2il0floatpacket.28,@object
+       .size   .L_2il0floatpacket.28,64
+       .align 64
+.L_2il0floatpacket.29:
+       .long   0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000
+       .type   .L_2il0floatpacket.29,@object
+       .size   .L_2il0floatpacket.29,64
+       .align 64
+.L_2il0floatpacket.30:
+       .long   0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff
+       .type   .L_2il0floatpacket.30,@object
+       .size   .L_2il0floatpacket.30,64
+       .align 64
+.L_2il0floatpacket.31:
+       .long   0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000
+       .type   .L_2il0floatpacket.31,@object
+       .size   .L_2il0floatpacket.31,64
+       .align 64
+.L_2il0floatpacket.32:
+       .long   0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff
+       .type   .L_2il0floatpacket.32,@object
+       .size   .L_2il0floatpacket.32,64
+       .align 64
+.L_2il0floatpacket.33:
+       .long   0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb
+       .type   .L_2il0floatpacket.33,@object
+       .size   .L_2il0floatpacket.33,64
+       .align 64
+.L_2il0floatpacket.34:
+       .long   0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e
+       .type   .L_2il0floatpacket.34,@object
+       .size   .L_2il0floatpacket.34,64
+       .align 64
+.L_2il0floatpacket.35:
+       .long   0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff
+       .type   .L_2il0floatpacket.35,@object
+       .size   .L_2il0floatpacket.35,64
+       .align 64
+.L_2il0floatpacket.36:
+       .long   0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000
+       .type   .L_2il0floatpacket.36,@object
+       .size   .L_2il0floatpacket.36,64
+       .align 64
+__svml_ssin_data_internal:
+       .long   0
+       .long   0
+       .long   0
+       .long   1065353216
+       .long   3114133471
+       .long   1019808432
+       .long   2953169304
+       .long   1065353216
+       .long   3130909128
+       .long   1028193072
+       .long   2968461951
+       .long   1065353216
+       .long   3140588184
+       .long   1033283845
+       .long   2975014497
+       .long   1065353216
+       .long   3147680113
+       .long   1036565814
+       .long   2960495349
+       .long   1065353216
+       .long   3153489468
+       .long   1039839859
+       .long   2970970319
+       .long   1065353216
+       .long   3157349634
+       .long   1041645699
+       .long   837346836
+       .long   1065353216
+       .long   3161536011
+       .long   1043271842
+       .long   823224313
+       .long   1065353216
+       .long   3164432432
+       .long   1044891074
+       .long   2967836285
+       .long   1065353216
+       .long   3167161428
+       .long   1046502419
+       .long   833086710
+       .long   1065353216
+       .long   3170205956
+       .long   1048104908
+       .long   2971391005
+       .long   1065353216
+       .long   3172229004
+       .long   1049136787
+       .long   824999326
+       .long   1065353216
+       .long   3174063957
+       .long   1049927729
+       .long   846027248
+       .long   1065353216
+       .long   3176053642
+       .long   1050712805
+       .long   2990442912
+       .long   1065353216
+       .long   3178196862
+       .long   1051491540
+       .long   2988789250
+       .long   1065353216
+       .long   3179887378
+       .long   1052263466
+       .long   2993707942
+       .long   1065353216
+       .long   3181110540
+       .long   1053028117
+       .long   836097324
+       .long   1065353216
+       .long   3182408396
+       .long   1053785034
+       .long   829045603
+       .long   1065353216
+       .long   3183780163
+       .long   1054533760
+       .long   840832460
+       .long   1065353216
+       .long   3185225016
+       .long   1055273845
+       .long   2983839604
+       .long   1065353216
+       .long   3186742084
+       .long   1056004842
+       .long   2986287417
+       .long   1065353216
+       .long   3188000746
+       .long   1056726311
+       .long   2978016425
+       .long   1065353216
+       .long   3188830103
+       .long   1057201213
+       .long   2992349186
+       .long   1065353216
+       .long   3189694133
+       .long   1057551771
+       .long   2998815566
+       .long   1065353216
+       .long   3190592315
+       .long   1057896922
+       .long   2991207143
+       .long   1065353216
+       .long   3191524108
+       .long   1058236458
+       .long   852349230
+       .long   1065353216
+       .long   3192488951
+       .long   1058570176
+       .long   2982650867
+       .long   1065353216
+       .long   3193486263
+       .long   1058897873
+       .long   848430348
+       .long   1065353216
+       .long   3194515443
+       .long   1059219353
+       .long   841032635
+       .long   1065353216
+       .long   3195575871
+       .long   1059534422
+       .long   2986574659
+       .long   1065353216
+       .long   3196363278
+       .long   1059842890
+       .long   2998350134
+       .long   1065353216
+       .long   3196923773
+       .long   1060144571
+       .long   2997759282
+       .long   1065353216
+       .long   3197498906
+       .long   1060439283
+       .long   844097402
+       .long   1065353216
+       .long   1044518635
+       .long   1060726850
+       .long   2994798599
+       .long   1056964608
+       .long   1043311911
+       .long   1061007097
+       .long   832220140
+       .long   1056964608
+       .long   1042078039
+       .long   1061279856
+       .long   851442039
+       .long   1056964608
+       .long   1040817765
+       .long   1061544963
+       .long   850481524
+       .long   1056964608
+       .long   1038876298
+       .long   1061802258
+       .long   848897600
+       .long   1056964608
+       .long   1036254719
+       .long   1062051586
+       .long   847147240
+       .long   1056964608
+       .long   1033584979
+       .long   1062292797
+       .long   806113028
+       .long   1056964608
+       .long   1029938589
+       .long   1062525745
+       .long   848357914
+       .long   1056964608
+       .long   1024416170
+       .long   1062750291
+       .long   2994560960
+       .long   1056964608
+       .long   1013387058
+       .long   1062966298
+       .long   841166280
+       .long   1056964608
+       .long   3152590408
+       .long   1063173637
+       .long   851900755
+       .long   1056964608
+       .long   3169472868
+       .long   1063372184
+       .long   3001545765
+       .long   1056964608
+       .long   3176031322
+       .long   1063561817
+       .long   823789818
+       .long   1056964608
+       .long   3180617215
+       .long   1063742424
+       .long   2998678409
+       .long   1056964608
+       .long   3183612120
+       .long   1063913895
+       .long   3001754476
+       .long   1056964608
+       .long   3186639787
+       .long   1064076126
+       .long   854796500
+       .long   1056964608
+       .long   3188684717
+       .long   1064229022
+       .long   2995991516
+       .long   1056964608
+       .long   1035072335
+       .long   1064372488
+       .long   840880349
+       .long   1048576000
+       .long   1031957395
+       .long   1064506439
+       .long   851742225
+       .long   1048576000
+       .long   1025835404
+       .long   1064630795
+       .long   2996018466
+       .long   1048576000
+       .long   1015605553
+       .long   1064745479
+       .long   846006572
+       .long   1048576000
+       .long   3152414341
+       .long   1064850424
+       .long   2987244005
+       .long   1048576000
+       .long   3170705253
+       .long   1064945565
+       .long   851856985
+       .long   1048576000
+       .long   3177244920
+       .long   1065030846
+       .long   855602635
+       .long   1048576000
+       .long   1027359369
+       .long   1065106216
+       .long   2989610635
+       .long   1040187392
+       .long   1018299420
+       .long   1065171628
+       .long   2969000681
+       .long   1040187392
+       .long   3140071849
+       .long   1065227044
+       .long   3002197507
+       .long   1040187392
+       .long   3168602920
+       .long   1065272429
+       .long   838093129
+       .long   1040187392
+       .long   1010124837
+       .long   1065307757
+       .long   852498564
+       .long   1031798784
+       .long   3160150850
+       .long   1065333007
+       .long   836655967
+       .long   1031798784
+       .long   3151746369
+       .long   1065348163
+       .long   814009613
+       .long   1023410176
+       .long   0
+       .long   1065353216
+       .long   0
+       .long   0
+       .long   1004262721
+       .long   1065348163
+       .long   814009613
+       .long   3170893824
+       .long   1012667202
+       .long   1065333007
+       .long   836655967
+       .long   3179282432
+       .long   3157608485
+       .long   1065307757
+       .long   852498564
+       .long   3179282432
+       .long   1021119272
+       .long   1065272429
+       .long   838093129
+       .long   3187671040
+       .long   992588201
+       .long   1065227044
+       .long   3002197507
+       .long   3187671040
+       .long   3165783068
+       .long   1065171628
+       .long   2969000681
+       .long   3187671040
+       .long   3174843017
+       .long   1065106216
+       .long   2989610635
+       .long   3187671040
+       .long   1029761272
+       .long   1065030846
+       .long   855602635
+       .long   3196059648
+       .long   1023221605
+       .long   1064945565
+       .long   851856985
+       .long   3196059648
+       .long   1004930693
+       .long   1064850424
+       .long   2987244005
+       .long   3196059648
+       .long   3163089201
+       .long   1064745479
+       .long   846006572
+       .long   3196059648
+       .long   3173319052
+       .long   1064630795
+       .long   2996018466
+       .long   3196059648
+       .long   3179441043
+       .long   1064506439
+       .long   851742225
+       .long   3196059648
+       .long   3182555983
+       .long   1064372488
+       .long   840880349
+       .long   3196059648
+       .long   1041201069
+       .long   1064229022
+       .long   2995991516
+       .long   3204448256
+       .long   1039156139
+       .long   1064076126
+       .long   854796500
+       .long   3204448256
+       .long   1036128472
+       .long   1063913895
+       .long   3001754476
+       .long   3204448256
+       .long   1033133567
+       .long   1063742424
+       .long   2998678409
+       .long   3204448256
+       .long   1028547674
+       .long   1063561817
+       .long   823789818
+       .long   3204448256
+       .long   1021989220
+       .long   1063372184
+       .long   3001545765
+       .long   3204448256
+       .long   1005106760
+       .long   1063173637
+       .long   851900755
+       .long   3204448256
+       .long   3160870706
+       .long   1062966298
+       .long   841166280
+       .long   3204448256
+       .long   3171899818
+       .long   1062750291
+       .long   2994560960
+       .long   3204448256
+       .long   3177422237
+       .long   1062525745
+       .long   848357914
+       .long   3204448256
+       .long   3181068627
+       .long   1062292797
+       .long   806113028
+       .long   3204448256
+       .long   3183738367
+       .long   1062051586
+       .long   847147240
+       .long   3204448256
+       .long   3186359946
+       .long   1061802258
+       .long   848897600
+       .long   3204448256
+       .long   3188301413
+       .long   1061544963
+       .long   850481524
+       .long   3204448256
+       .long   3189561687
+       .long   1061279856
+       .long   851442039
+       .long   3204448256
+       .long   3190795559
+       .long   1061007097
+       .long   832220140
+       .long   3204448256
+       .long   3192002283
+       .long   1060726850
+       .long   2994798599
+       .long   3204448256
+       .long   1050015258
+       .long   1060439283
+       .long   844097402
+       .long   3212836864
+       .long   1049440125
+       .long   1060144571
+       .long   2997759282
+       .long   3212836864
+       .long   1048879630
+       .long   1059842890
+       .long   2998350134
+       .long   3212836864
+       .long   1048092223
+       .long   1059534422
+       .long   2986574659
+       .long   3212836864
+       .long   1047031795
+       .long   1059219353
+       .long   841032635
+       .long   3212836864
+       .long   1046002615
+       .long   1058897873
+       .long   848430348
+       .long   3212836864
+       .long   1045005303
+       .long   1058570176
+       .long   2982650867
+       .long   3212836864
+       .long   1044040460
+       .long   1058236458
+       .long   852349230
+       .long   3212836864
+       .long   1043108667
+       .long   1057896922
+       .long   2991207143
+       .long   3212836864
+       .long   1042210485
+       .long   1057551771
+       .long   2998815566
+       .long   3212836864
+       .long   1041346455
+       .long   1057201213
+       .long   2992349186
+       .long   3212836864
+       .long   1040517098
+       .long   1056726311
+       .long   2978016425
+       .long   3212836864
+       .long   1039258436
+       .long   1056004842
+       .long   2986287417
+       .long   3212836864
+       .long   1037741368
+       .long   1055273845
+       .long   2983839604
+       .long   3212836864
+       .long   1036296515
+       .long   1054533760
+       .long   840832460
+       .long   3212836864
+       .long   1034924748
+       .long   1053785034
+       .long   829045603
+       .long   3212836864
+       .long   1033626892
+       .long   1053028117
+       .long   836097324
+       .long   3212836864
+       .long   1032403730
+       .long   1052263466
+       .long   2993707942
+       .long   3212836864
+       .long   1030713214
+       .long   1051491540
+       .long   2988789250
+       .long   3212836864
+       .long   1028569994
+       .long   1050712805
+       .long   2990442912
+       .long   3212836864
+       .long   1026580309
+       .long   1049927729
+       .long   846027248
+       .long   3212836864
+       .long   1024745356
+       .long   1049136787
+       .long   824999326
+       .long   3212836864
+       .long   1022722308
+       .long   1048104908
+       .long   2971391005
+       .long   3212836864
+       .long   1019677780
+       .long   1046502419
+       .long   833086710
+       .long   3212836864
+       .long   1016948784
+       .long   1044891074
+       .long   2967836285
+       .long   3212836864
+       .long   1014052363
+       .long   1043271842
+       .long   823224313
+       .long   3212836864
+       .long   1009865986
+       .long   1041645699
+       .long   837346836
+       .long   3212836864
+       .long   1006005820
+       .long   1039839859
+       .long   2970970319
+       .long   3212836864
+       .long   1000196465
+       .long   1036565814
+       .long   2960495349
+       .long   3212836864
+       .long   993104536
+       .long   1033283845
+       .long   2975014497
+       .long   3212836864
+       .long   983425480
+       .long   1028193072
+       .long   2968461951
+       .long   3212836864
+       .long   966649823
+       .long   1019808432
+       .long   2953169304
+       .long   3212836864
+       .long   0
+       .long   0
+       .long   0
+       .long   3212836864
+       .long   966649823
+       .long   3167292080
+       .long   805685656
+       .long   3212836864
+       .long   983425480
+       .long   3175676720
+       .long   820978303
+       .long   3212836864
+       .long   993104536
+       .long   3180767493
+       .long   827530849
+       .long   3212836864
+       .long   1000196465
+       .long   3184049462
+       .long   813011701
+       .long   3212836864
+       .long   1006005820
+       .long   3187323507
+       .long   823486671
+       .long   3212836864
+       .long   1009865986
+       .long   3189129347
+       .long   2984830484
+       .long   3212836864
+       .long   1014052363
+       .long   3190755490
+       .long   2970707961
+       .long   3212836864
+       .long   1016948784
+       .long   3192374722
+       .long   820352637
+       .long   3212836864
+       .long   1019677780
+       .long   3193986067
+       .long   2980570358
+       .long   3212836864
+       .long   1022722308
+       .long   3195588556
+       .long   823907357
+       .long   3212836864
+       .long   1024745356
+       .long   3196620435
+       .long   2972482974
+       .long   3212836864
+       .long   1026580309
+       .long   3197411377
+       .long   2993510896
+       .long   3212836864
+       .long   1028569994
+       .long   3198196453
+       .long   842959264
+       .long   3212836864
+       .long   1030713214
+       .long   3198975188
+       .long   841305602
+       .long   3212836864
+       .long   1032403730
+       .long   3199747114
+       .long   846224294
+       .long   3212836864
+       .long   1033626892
+       .long   3200511765
+       .long   2983580972
+       .long   3212836864
+       .long   1034924748
+       .long   3201268682
+       .long   2976529251
+       .long   3212836864
+       .long   1036296515
+       .long   3202017408
+       .long   2988316108
+       .long   3212836864
+       .long   1037741368
+       .long   3202757493
+       .long   836355956
+       .long   3212836864
+       .long   1039258436
+       .long   3203488490
+       .long   838803769
+       .long   3212836864
+       .long   1040517098
+       .long   3204209959
+       .long   830532777
+       .long   3212836864
+       .long   1041346455
+       .long   3204684861
+       .long   844865538
+       .long   3212836864
+       .long   1042210485
+       .long   3205035419
+       .long   851331918
+       .long   3212836864
+       .long   1043108667
+       .long   3205380570
+       .long   843723495
+       .long   3212836864
+       .long   1044040460
+       .long   3205720106
+       .long   2999832878
+       .long   3212836864
+       .long   1045005303
+       .long   3206053824
+       .long   835167219
+       .long   3212836864
+       .long   1046002615
+       .long   3206381521
+       .long   2995913996
+       .long   3212836864
+       .long   1047031795
+       .long   3206703001
+       .long   2988516283
+       .long   3212836864
+       .long   1048092223
+       .long   3207018070
+       .long   839091011
+       .long   3212836864
+       .long   1048879630
+       .long   3207326538
+       .long   850866486
+       .long   3212836864
+       .long   1049440125
+       .long   3207628219
+       .long   850275634
+       .long   3212836864
+       .long   1050015258
+       .long   3207922931
+       .long   2991581050
+       .long   3212836864
+       .long   3192002283
+       .long   3208210498
+       .long   847314951
+       .long   3204448256
+       .long   3190795559
+       .long   3208490745
+       .long   2979703788
+       .long   3204448256
+       .long   3189561687
+       .long   3208763504
+       .long   2998925687
+       .long   3204448256
+       .long   3188301413
+       .long   3209028611
+       .long   2997965172
+       .long   3204448256
+       .long   3186359946
+       .long   3209285906
+       .long   2996381248
+       .long   3204448256
+       .long   3183738367
+       .long   3209535234
+       .long   2994630888
+       .long   3204448256
+       .long   3181068627
+       .long   3209776445
+       .long   2953596676
+       .long   3204448256
+       .long   3177422237
+       .long   3210009393
+       .long   2995841562
+       .long   3204448256
+       .long   3171899818
+       .long   3210233939
+       .long   847077312
+       .long   3204448256
+       .long   3160870706
+       .long   3210449946
+       .long   2988649928
+       .long   3204448256
+       .long   1005106760
+       .long   3210657285
+       .long   2999384403
+       .long   3204448256
+       .long   1021989220
+       .long   3210855832
+       .long   854062117
+       .long   3204448256
+       .long   1028547674
+       .long   3211045465
+       .long   2971273466
+       .long   3204448256
+       .long   1033133567
+       .long   3211226072
+       .long   851194761
+       .long   3204448256
+       .long   1036128472
+       .long   3211397543
+       .long   854270828
+       .long   3204448256
+       .long   1039156139
+       .long   3211559774
+       .long   3002280148
+       .long   3204448256
+       .long   1041201069
+       .long   3211712670
+       .long   848507868
+       .long   3204448256
+       .long   3182555983
+       .long   3211856136
+       .long   2988363997
+       .long   3196059648
+       .long   3179441043
+       .long   3211990087
+       .long   2999225873
+       .long   3196059648
+       .long   3173319052
+       .long   3212114443
+       .long   848534818
+       .long   3196059648
+       .long   3163089201
+       .long   3212229127
+       .long   2993490220
+       .long   3196059648
+       .long   1004930693
+       .long   3212334072
+       .long   839760357
+       .long   3196059648
+       .long   1023221605
+       .long   3212429213
+       .long   2999340633
+       .long   3196059648
+       .long   1029761272
+       .long   3212514494
+       .long   3003086283
+       .long   3196059648
+       .long   3174843017
+       .long   3212589864
+       .long   842126987
+       .long   3187671040
+       .long   3165783068
+       .long   3212655276
+       .long   821517033
+       .long   3187671040
+       .long   992588201
+       .long   3212710692
+       .long   854713859
+       .long   3187671040
+       .long   1021119272
+       .long   3212756077
+       .long   2985576777
+       .long   3187671040
+       .long   3157608485
+       .long   3212791405
+       .long   2999982212
+       .long   3179282432
+       .long   1012667202
+       .long   3212816655
+       .long   2984139615
+       .long   3179282432
+       .long   1004262721
+       .long   3212831811
+       .long   2961493261
+       .long   3170893824
+       .long   0
+       .long   3212836864
+       .long   0
+       .long   0
+       .long   3151746369
+       .long   3212831811
+       .long   2961493261
+       .long   1023410176
+       .long   3160150850
+       .long   3212816655
+       .long   2984139615
+       .long   1031798784
+       .long   1010124837
+       .long   3212791405
+       .long   2999982212
+       .long   1031798784
+       .long   3168602920
+       .long   3212756077
+       .long   2985576777
+       .long   1040187392
+       .long   3140071849
+       .long   3212710692
+       .long   854713859
+       .long   1040187392
+       .long   1018299420
+       .long   3212655276
+       .long   821517033
+       .long   1040187392
+       .long   1027359369
+       .long   3212589864
+       .long   842126987
+       .long   1040187392
+       .long   3177244920
+       .long   3212514494
+       .long   3003086283
+       .long   1048576000
+       .long   3170705253
+       .long   3212429213
+       .long   2999340633
+       .long   1048576000
+       .long   3152414341
+       .long   3212334072
+       .long   839760357
+       .long   1048576000
+       .long   1015605553
+       .long   3212229127
+       .long   2993490220
+       .long   1048576000
+       .long   1025835404
+       .long   3212114443
+       .long   848534818
+       .long   1048576000
+       .long   1031957395
+       .long   3211990087
+       .long   2999225873
+       .long   1048576000
+       .long   1035072335
+       .long   3211856136
+       .long   2988363997
+       .long   1048576000
+       .long   3188684717
+       .long   3211712670
+       .long   848507868
+       .long   1056964608
+       .long   3186639787
+       .long   3211559774
+       .long   3002280148
+       .long   1056964608
+       .long   3183612120
+       .long   3211397543
+       .long   854270828
+       .long   1056964608
+       .long   3180617215
+       .long   3211226072
+       .long   851194761
+       .long   1056964608
+       .long   3176031322
+       .long   3211045465
+       .long   2971273466
+       .long   1056964608
+       .long   3169472868
+       .long   3210855832
+       .long   854062117
+       .long   1056964608
+       .long   3152590408
+       .long   3210657285
+       .long   2999384403
+       .long   1056964608
+       .long   1013387058
+       .long   3210449946
+       .long   2988649928
+       .long   1056964608
+       .long   1024416170
+       .long   3210233939
+       .long   847077312
+       .long   1056964608
+       .long   1029938589
+       .long   3210009393
+       .long   2995841562
+       .long   1056964608
+       .long   1033584979
+       .long   3209776445
+       .long   2953596676
+       .long   1056964608
+       .long   1036254719
+       .long   3209535234
+       .long   2994630888
+       .long   1056964608
+       .long   1038876298
+       .long   3209285906
+       .long   2996381248
+       .long   1056964608
+       .long   1040817765
+       .long   3209028611
+       .long   2997965172
+       .long   1056964608
+       .long   1042078039
+       .long   3208763504
+       .long   2998925687
+       .long   1056964608
+       .long   1043311911
+       .long   3208490745
+       .long   2979703788
+       .long   1056964608
+       .long   1044518635
+       .long   3208210498
+       .long   847314951
+       .long   1056964608
+       .long   3197498906
+       .long   3207922931
+       .long   2991581050
+       .long   1065353216
+       .long   3196923773
+       .long   3207628219
+       .long   850275634
+       .long   1065353216
+       .long   3196363278
+       .long   3207326538
+       .long   850866486
+       .long   1065353216
+       .long   3195575871
+       .long   3207018070
+       .long   839091011
+       .long   1065353216
+       .long   3194515443
+       .long   3206703001
+       .long   2988516283
+       .long   1065353216
+       .long   3193486263
+       .long   3206381521
+       .long   2995913996
+       .long   1065353216
+       .long   3192488951
+       .long   3206053824
+       .long   835167219
+       .long   1065353216
+       .long   3191524108
+       .long   3205720106
+       .long   2999832878
+       .long   1065353216
+       .long   3190592315
+       .long   3205380570
+       .long   843723495
+       .long   1065353216
+       .long   3189694133
+       .long   3205035419
+       .long   851331918
+       .long   1065353216
+       .long   3188830103
+       .long   3204684861
+       .long   844865538
+       .long   1065353216
+       .long   3188000746
+       .long   3204209959
+       .long   830532777
+       .long   1065353216
+       .long   3186742084
+       .long   3203488490
+       .long   838803769
+       .long   1065353216
+       .long   3185225016
+       .long   3202757493
+       .long   836355956
+       .long   1065353216
+       .long   3183780163
+       .long   3202017408
+       .long   2988316108
+       .long   1065353216
+       .long   3182408396
+       .long   3201268682
+       .long   2976529251
+       .long   1065353216
+       .long   3181110540
+       .long   3200511765
+       .long   2983580972
+       .long   1065353216
+       .long   3179887378
+       .long   3199747114
+       .long   846224294
+       .long   1065353216
+       .long   3178196862
+       .long   3198975188
+       .long   841305602
+       .long   1065353216
+       .long   3176053642
+       .long   3198196453
+       .long   842959264
+       .long   1065353216
+       .long   3174063957
+       .long   3197411377
+       .long   2993510896
+       .long   1065353216
+       .long   3172229004
+       .long   3196620435
+       .long   2972482974
+       .long   1065353216
+       .long   3170205956
+       .long   3195588556
+       .long   823907357
+       .long   1065353216
+       .long   3167161428
+       .long   3193986067
+       .long   2980570358
+       .long   1065353216
+       .long   3164432432
+       .long   3192374722
+       .long   820352637
+       .long   1065353216
+       .long   3161536011
+       .long   3190755490
+       .long   2970707961
+       .long   1065353216
+       .long   3157349634
+       .long   3189129347
+       .long   2984830484
+       .long   1065353216
+       .long   3153489468
+       .long   3187323507
+       .long   823486671
+       .long   1065353216
+       .long   3147680113
+       .long   3184049462
+       .long   813011701
+       .long   1065353216
+       .long   3140588184
+       .long   3180767493
+       .long   827530849
+       .long   1065353216
+       .long   3130909128
+       .long   3175676720
+       .long   820978303
+       .long   1065353216
+       .long   3114133471
+       .long   3167292080
+       .long   805685656
+       .long   1065353216
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   1176256512
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   3190467243
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   1007192156
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   3204448256
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1026206332
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   1078525952
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   981311488
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   874651648
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   750018842
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   1078530011
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   3015425326
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   2809605357
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   3190467238
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   1007191910
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   3109009407
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   909041400
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .long   1050868099
+       .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
+       .type   __svml_ssin_data_internal,@object
+       .size   __svml_ssin_data_internal,5376
+       .align 64
+__svml_ssin_reduction_data_internal:
+       .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   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   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   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   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   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   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   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   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   0
+       .long   0
+       .long   1
+       .long   0
+       .long   0
+       .long   2
+       .long   0
+       .long   0
+       .long   5
+       .long   0
+       .long   0
+       .long   10
+       .long   0
+       .long   0
+       .long   20
+       .long   0
+       .long   0
+       .long   40
+       .long   0
+       .long   0
+       .long   81
+       .long   0
+       .long   0
+       .long   162
+       .long   0
+       .long   0
+       .long   325
+       .long   0
+       .long   0
+       .long   651
+       .long   0
+       .long   0
+       .long   1303
+       .long   0
+       .long   0
+       .long   2607
+       .long   0
+       .long   0
+       .long   5215
+       .long   0
+       .long   0
+       .long   10430
+       .long   0
+       .long   0
+       .long   20860
+       .long   0
+       .long   0
+       .long   41721
+       .long   0
+       .long   0
+       .long   83443
+       .long   0
+       .long   0
+       .long   166886
+       .long   0
+       .long   0
+       .long   333772
+       .long   0
+       .long   0
+       .long   667544
+       .long   0
+       .long   0
+       .long   1335088
+       .long   0
+       .long   0
+       .long   2670176
+       .long   0
+       .long   0
+       .long   5340353
+       .long   0
+       .long   0
+       .long   10680707
+       .long   0
+       .long   0
+       .long   21361414
+       .long   0
+       .long   0
+       .long   42722829
+       .long   0
+       .long   0
+       .long   85445659
+       .long   0
+       .long   0
+       .long   170891318
+       .long   0
+       .long   0
+       .long   341782637
+       .long   0
+       .long   0
+       .long   683565275
+       .long   0
+       .long   0
+       .long   1367130551
+       .long   0
+       .long   0
+       .long   2734261102
+       .long   0
+       .long   1
+       .long   1173554908
+       .long   0
+       .long   2
+       .long   2347109817
+       .long   0
+       .long   5
+       .long   399252338
+       .long   0
+       .long   10
+       .long   798504676
+       .long   0
+       .long   20
+       .long   1597009353
+       .long   0
+       .long   40
+       .long   3194018707
+       .long   0
+       .long   81
+       .long   2093070119
+       .long   0
+       .long   162
+       .long   4186140238
+       .long   0
+       .long   325
+       .long   4077313180
+       .long   0
+       .long   651
+       .long   3859659065
+       .long   0
+       .long   1303
+       .long   3424350834
+       .long   0
+       .long   2607
+       .long   2553734372
+       .long   0
+       .long   5215
+       .long   812501448
+       .long   0
+       .long   10430
+       .long   1625002897
+       .long   0
+       .long   20860
+       .long   3250005794
+       .long   0
+       .long   41721
+       .long   2205044292
+       .long   0
+       .long   83443
+       .long   115121288
+       .long   0
+       .long   166886
+       .long   230242576
+       .long   0
+       .long   333772
+       .long   460485152
+       .long   0
+       .long   667544
+       .long   920970305
+       .long   0
+       .long   1335088
+       .long   1841940610
+       .long   0
+       .long   2670176
+       .long   3683881221
+       .long   0
+       .long   5340353
+       .long   3072795146
+       .long   0
+       .long   10680707
+       .long   1850622997
+       .long   0
+       .long   21361414
+       .long   3701245994
+       .long   0
+       .long   42722829
+       .long   3107524692
+       .long   0
+       .long   85445659
+       .long   1920082089
+       .long   0
+       .long   170891318
+       .long   3840164178
+       .long   0
+       .long   341782637
+       .long   3385361061
+       .long   0
+       .long   683565275
+       .long   2475754826
+       .long   0
+       .long   1367130551
+       .long   656542356
+       .long   0
+       .long   2734261102
+       .long   1313084713
+       .long   1
+       .long   1173554908
+       .long   2626169427
+       .long   2
+       .long   2347109817
+       .long   957371559
+       .long   5
+       .long   399252338
+       .long   1914743119
+       .long   10
+       .long   798504676
+       .long   3829486239
+       .long   20
+       .long   1597009353
+       .long   3364005183
+       .long   40
+       .long   3194018707
+       .long   2433043071
+       .long   81
+       .long   2093070119
+       .long   571118846
+       .long   162
+       .long   4186140238
+       .long   1142237692
+       .long   325
+       .long   4077313180
+       .long   2284475384
+       .long   651
+       .long   3859659065
+       .long   273983472
+       .long   1303
+       .long   3424350834
+       .long   547966945
+       .long   2607
+       .long   2553734372
+       .long   1095933890
+       .long   5215
+       .long   812501448
+       .long   2191867780
+       .long   10430
+       .long   1625002897
+       .long   88768265
+       .long   20860
+       .long   3250005794
+       .long   177536531
+       .long   41721
+       .long   2205044292
+       .long   355073063
+       .long   83443
+       .long   115121288
+       .long   710146126
+       .long   166886
+       .long   230242576
+       .long   1420292253
+       .long   333772
+       .long   460485152
+       .long   2840584506
+       .long   667544
+       .long   920970305
+       .long   1386201717
+       .long   1335088
+       .long   1841940610
+       .long   2772403434
+       .long   2670176
+       .long   3683881221
+       .long   1249839573
+       .long   5340353
+       .long   3072795146
+       .long   2499679147
+       .long   10680707
+       .long   1850622997
+       .long   704390999
+       .long   21361414
+       .long   3701245994
+       .long   1408781999
+       .long   42722829
+       .long   3107524692
+       .long   2817563999
+       .long   85445659
+       .long   1920082089
+       .long   1340160702
+       .long   170891318
+       .long   3840164178
+       .long   2680321405
+       .long   341782637
+       .long   3385361061
+       .long   1065675514
+       .long   683565275
+       .long   2475754826
+       .long   2131351028
+       .long   1367130551
+       .long   656542356
+       .long   4262702056
+       .long   2734261102
+       .long   1313084713
+       .long   4230436817
+       .long   1173554908
+       .long   2626169427
+       .long   4165906339
+       .long   2347109817
+       .long   957371559
+       .long   4036845383
+       .long   399252338
+       .long   1914743119
+       .long   3778723471
+       .long   798504676
+       .long   3829486239
+       .long   3262479647
+       .long   1597009353
+       .long   3364005183
+       .long   2229991998
+       .long   3194018707
+       .long   2433043071
+       .long   165016701
+       .long   2093070119
+       .long   571118846
+       .long   330033402
+       .long   4186140238
+       .long   1142237692
+       .long   660066805
+       .long   4077313180
+       .long   2284475384
+       .long   1320133610
+       .long   3859659065
+       .long   273983472
+       .long   2640267220
+       .long   3424350834
+       .long   547966945
+       .long   985567145
+       .long   2553734372
+       .long   1095933890
+       .long   1971134291
+       .long   812501448
+       .long   2191867780
+       .long   3942268582
+       .long   1625002897
+       .long   88768265
+       .long   3589569869
+       .long   3250005794
+       .long   177536531
+       .long   2884172442
+       .long   2205044292
+       .long   355073063
+       .long   1473377588
+       .long   115121288
+       .long   710146126
+       .long   2946755177
+       .long   230242576
+       .long   1420292253
+       .long   1598543059
+       .long   460485152
+       .long   2840584506
+       .long   3197086118
+       .long   920970305
+       .long   1386201717
+       .long   2099204941
+       .long   1841940610
+       .long   2772403434
+       .long   4198409883
+       .long   3683881221
+       .long   1249839573
+       .long   4101852471
+       .long   3072795146
+       .long   2499679147
+       .long   3908737646
+       .long   1850622997
+       .long   704390999
+       .long   3522507997
+       .long   3701245994
+       .long   1408781999
+       .long   2750048699
+       .long   3107524692
+       .long   2817563999
+       .long   1205130103
+       .long   1920082089
+       .long   1340160702
+       .long   2410260206
+       .long   3840164178
+       .long   2680321405
+       .long   525553116
+       .long   3385361061
+       .long   1065675514
+       .long   1051106232
+       .long   2475754826
+       .long   2131351028
+       .long   2102212464
+       .long   656542356
+       .long   4262702056
+       .long   4204424928
+       .long   1313084713
+       .long   4230436817
+       .long   4113882560
+       .long   2626169427
+       .long   4165906339
+       .long   3932797825
+       .long   957371559
+       .long   4036845383
+       .long   3570628355
+       .long   1914743119
+       .long   3778723471
+       .long   2846289414
+       .long   3829486239
+       .long   3262479647
+       .long   1397611533
+       .long   3364005183
+       .long   2229991998
+       .long   2795223067
+       .long   2433043071
+       .long   165016701
+       .long   1295478838
+       .long   571118846
+       .long   330033402
+       .long   2590957677
+       .long   1142237692
+       .long   660066805
+       .long   886948059
+       .long   2284475384
+       .long   1320133610
+       .long   1773896118
+       .long   273983472
+       .long   2640267220
+       .long   3547792237
+       .long   547966945
+       .long   985567145
+       .long   2800617179
+       .long   1095933890
+       .long   1971134291
+       .long   1306267062
+       .long   2191867780
+       .long   3942268582
+       .long   2612534124
+       .long   88768265
+       .long   3589569869
+       .long   930100952
+       .long   177536531
+       .long   2884172442
+       .long   1860201905
+       .long   355073063
+       .long   1473377588
+       .long   3720403810
+       .long   710146126
+       .long   2946755177
+       .long   3145840325
+       .long   1420292253
+       .long   1598543059
+       .long   1996713354
+       .long   2840584506
+       .long   3197086118
+       .long   3993426708
+       .long   1386201717
+       .long   2099204941
+       .long   3691886121
+       .long   2772403434
+       .long   4198409883
+       .long   3088804946
+       .long   1249839573
+       .long   4101852471
+       .long   1882642597
+       .long   2499679147
+       .long   3908737646
+       .long   3765285194
+       .long   704390999
+       .long   3522507997
+       .long   3235603093
+       .long   1408781999
+       .long   2750048699
+       .long   2176238891
+       .long   2817563999
+       .long   1205130103
+       .long   57510486
+       .long   1340160702
+       .long   2410260206
+       .long   115020972
+       .long   2680321405
+       .long   525553116
+       .long   230041945
+       .long   1065675514
+       .long   1051106232
+       .long   460083891
+       .long   2131351028
+       .long   2102212464
+       .long   920167782
+       .long   4262702056
+       .long   4204424928
+       .long   1840335564
+       .long   4230436817
+       .long   4113882560
+       .long   3680671129
+       .long   4165906339
+       .long   3932797825
+       .long   3066374962
+       .long   4036845383
+       .long   3570628355
+       .long   1837782628
+       .long   3778723471
+       .long   2846289414
+       .long   3675565257
+       .long   3262479647
+       .long   1397611533
+       .long   3056163219
+       .long   2229991998
+       .long   2795223067
+       .long   1817359143
+       .long   165016701
+       .long   1295478838
+       .long   3634718287
+       .long   330033402
+       .long   2590957677
+       .long   2974469278
+       .long   660066805
+       .long   886948059
+       .long   1653971260
+       .long   1320133610
+       .long   1773896118
+       .long   3307942520
+       .long   2640267220
+       .long   3547792237
+       .long   2320917745
+       .long   985567145
+       .long   2800617179
+       .long   346868194
+       .long   1971134291
+       .long   1306267062
+       .long   693736388
+       .long   3942268582
+       .long   2612534124
+       .long   1387472776
+       .long   3589569869
+       .long   930100952
+       .long   2774945552
+       .long   2884172442
+       .long   1860201905
+       .long   1254923809
+       .long   1473377588
+       .long   3720403810
+       .long   2509847619
+       .long   2946755177
+       .long   3145840325
+       .long   724727943
+       .long   1598543059
+       .long   1996713354
+       .long   1449455886
+       .long   3197086118
+       .long   3993426708
+       .long   2898911772
+       .long   2099204941
+       .long   3691886121
+       .long   1502856249
+       .long   4198409883
+       .long   3088804946
+       .long   3005712498
+       .long   4101852471
+       .long   1882642597
+       .long   1716457700
+       .long   3908737646
+       .long   3765285194
+       .long   3432915400
+       .long   3522507997
+       .long   3235603093
+       .long   2570863504
+       .long   2750048699
+       .long   2176238891
+       .long   846759712
+       .long   1205130103
+       .long   57510486
+       .long   1693519425
+       .long   2410260206
+       .long   115020972
+       .long   3387038850
+       .long   525553116
+       .long   230041945
+       .long   2479110404
+       .long   1051106232
+       .long   460083891
+       .long   663253512
+       .long   2102212464
+       .long   920167782
+       .long   1326507024
+       .long   4204424928
+       .long   1840335564
+       .long   2653014048
+       .long   4113882560
+       .long   3680671129
+       .long   1011060801
+       .long   3932797825
+       .long   3066374962
+       .long   2022121603
+       .long   3570628355
+       .long   1837782628
+       .long   4044243207
+       .long   2846289414
+       .long   3675565257
+       .long   3793519119
+       .long   1397611533
+       .long   3056163219
+       .long   3292070943
+       .long   2795223067
+       .long   1817359143
+       .long   2289174591
+       .long   1295478838
+       .long   3634718287
+       .long   283381887
+       .long   2590957677
+       .long   2974469278
+       .long   566763775
+       .type   __svml_ssin_reduction_data_internal,@object
+       .size   __svml_ssin_reduction_data_internal,3072
+       .align 4
+__ssin_la__vmlsSinHATab:
+       .long   0
+       .long   2139095040
+       .type   __ssin_la__vmlsSinHATab,@object
+       .size   __ssin_la__vmlsSinHATab,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_sinh_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_sinh_d_la.s
new file mode 100644 (file)
index 0000000..5b4bcbb
--- /dev/null
@@ -0,0 +1,2052 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_sinh8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_sinh8
+
+__svml_sinh8:
+
+
+       .cfi_startproc
+..L2:
+
+        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:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sinh8,@function
+       .size   __svml_sinh8,.-__svml_sinh8
+..LN__svml_sinh8.0:
+
+.L_2__routine_start___svml_dsinh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dsinh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        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     .L_2il0floatpacket.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
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dsinh_cout_rare_internal,@function
+       .size   __svml_dsinh_cout_rare_internal,.-__svml_dsinh_cout_rare_internal
+..LN__svml_dsinh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .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
+.L_2il0floatpacket.97:
+       .long   0x00000000,0x80000000,0x00000000,0x00000000
+       .type   .L_2il0floatpacket.97,@object
+       .size   .L_2il0floatpacket.97,16
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_sinh_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_sinh_s_la.s
new file mode 100644 (file)
index 0000000..f2101e5
--- /dev/null
@@ -0,0 +1,1446 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+
+       .text
+.L_2__routine_start___svml_sinhf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_sinhf16
+
+__svml_sinhf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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 .............
+ */
+        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:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_sinhf16,@function
+       .size   __svml_sinhf16,.-__svml_sinhf16
+..LN__svml_sinhf16.0:
+
+.L_2__routine_start___svml_ssinh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_ssinh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        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     .L_2il0floatpacket.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
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_ssinh_cout_rare_internal,@function
+       .size   __svml_ssinh_cout_rare_internal,.-__svml_ssinh_cout_rare_internal
+..LN__svml_ssinh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .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
+.L_2il0floatpacket.98:
+       .long   0x00000000,0x80000000,0x00000000,0x00000000
+       .type   .L_2il0floatpacket.98,@object
+       .size   .L_2il0floatpacket.98,16
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_tan_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_tan_d_la.s
new file mode 100644 (file)
index 0000000..3f5df19
--- /dev/null
@@ -0,0 +1,20219 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *     
+ *      ( optimized for throughput, with small table lookup, works when HW FMA is available )
+ *     
+ *      Implementation reduces argument x to |R|<pi/32
+ *      16-entry tables used to store high and low parts of tan(x0)
+ *      Argument x = N*pi + x0 + (R);   x0 = k*pi/16, with k in {0, 1, ..., 15}
+ *      (very large arguments reduction resolved in _vdreduction_core.i)
+ *      Compute result as (tan(x0) + tan(R))/(1-tan(x0)*tan(R))
+ *      High accuracy ( < 1 ulp ) version keeps extra precision for numerator, denominator, and during
+ *      final NR-iteration computing quotient.
+ *     
+ *     
+ */
+
+
+       .text
+.L_2__routine_start___svml_tan8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_tan8
+
+__svml_tan8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        xorl      %edx, %edx
+
+/* Large values check */
+        vmovups   28160+__svml_dtan_data_internal(%rip), %zmm1
+
+/*
+ * ----------------------------------------------------------
+ * Main path
+ * ----------------------------------------------------------
+ * start arg. reduction
+ */
+        vmovups   1152+__svml_dtan_data_internal(%rip), %zmm2
+        vmovups   64+__svml_dtan_data_internal(%rip), %zmm5
+        vmovups   128+__svml_dtan_data_internal(%rip), %zmm3
+        vmovups   192+__svml_dtan_data_internal(%rip), %zmm4
+        vmovaps   %zmm0, %zmm11
+        vandpd    1024+__svml_dtan_data_internal(%rip), %zmm11, %zmm0
+        vcmppd    $22, {sae}, %zmm1, %zmm0, %k1
+        vmovups   __svml_dtan_data_internal(%rip), %zmm1
+
+/*
+ * ----------------------------------------------------------
+ * End of main path
+ * ----------------------------------------------------------
+ */
+        kortestw  %k1, %k1
+        vfmadd213pd {rn-sae}, %zmm2, %zmm11, %zmm1
+        vsubpd    {rn-sae}, %zmm2, %zmm1, %zmm8
+        vfnmadd213pd {rn-sae}, %zmm11, %zmm8, %zmm5
+        vfnmadd231pd {rn-sae}, %zmm8, %zmm3, %zmm5
+        vfnmadd213pd {rn-sae}, %zmm5, %zmm4, %zmm8
+        jne       .LBL_1_12
+
+.LBL_1_2:
+
+        vmovups   384+__svml_dtan_data_internal(%rip), %zmm0
+        vmovups   832+__svml_dtan_data_internal(%rip), %zmm5
+        vmovups   768+__svml_dtan_data_internal(%rip), %zmm2
+        vmovups   704+__svml_dtan_data_internal(%rip), %zmm3
+        vmovups   640+__svml_dtan_data_internal(%rip), %zmm4
+        vmulpd    {rn-sae}, %zmm8, %zmm8, %zmm6
+        vpermt2pd 448+__svml_dtan_data_internal(%rip), %zmm1, %zmm0
+        vmovups   896+__svml_dtan_data_internal(%rip), %zmm1
+        vfmadd231pd {rn-sae}, %zmm6, %zmm1, %zmm5
+        vfmadd213pd {rn-sae}, %zmm2, %zmm6, %zmm5
+        vfmadd213pd {rn-sae}, %zmm3, %zmm6, %zmm5
+        vfmadd213pd {rn-sae}, %zmm4, %zmm6, %zmm5
+        vmulpd    {rn-sae}, %zmm8, %zmm5, %zmm7
+        vfmadd213pd {rn-sae}, %zmm8, %zmm6, %zmm7
+
+/*
+ * Computer Denominator:
+ * dDenominator - dDlow ~= 1-(dTh+dTl)*(dP+dPlow)
+ */
+        vmovups   960+__svml_dtan_data_internal(%rip), %zmm8
+
+/*
+ * Compute Numerator:
+ * dNumerator + dNlow ~= dTh+dTl+dP+dPlow
+ */
+        vaddpd    {rn-sae}, %zmm0, %zmm7, %zmm9
+        vfnmadd213pd {rn-sae}, %zmm8, %zmm7, %zmm0
+
+/*
+ * Now computes (dNumerator + dNlow)/(dDenominator - dDlow)
+ * Choose NR iteration instead of hardware division
+ */
+        vrcp14pd  %zmm0, %zmm10
+
+/* One NR iteration to refine dRcp */
+        vfnmadd231pd {rn-sae}, %zmm10, %zmm0, %zmm8
+        vfmadd213pd {rn-sae}, %zmm10, %zmm8, %zmm10
+        vmulpd    {rn-sae}, %zmm9, %zmm10, %zmm12
+
+/* One NR iteration to refine dQuotient */
+        vfmsub213pd {rn-sae}, %zmm9, %zmm12, %zmm0
+        vfnmadd213pd {rn-sae}, %zmm12, %zmm10, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_4
+
+.LBL_1_3:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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_4:
+
+        vmovups   %zmm11, 64(%rsp)
+        vmovups   %zmm0, 128(%rsp)
+        je        .LBL_1_3
+
+
+        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_8:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_11
+
+.LBL_1_9:
+
+        incl      %r12d
+        cmpl      $8, %r12d
+        jl        .LBL_1_8
+
+
+        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_3
+       .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_11:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+
+        call      __svml_dtan_cout_rare_internal
+        jmp       .LBL_1_9
+       .cfi_restore 4
+       .cfi_restore 5
+       .cfi_restore 12
+       .cfi_restore 13
+       .cfi_restore 122
+       .cfi_restore 123
+       .cfi_restore 124
+       .cfi_restore 125
+
+.LBL_1_12:
+
+        vmovups   1088+__svml_dtan_data_internal(%rip), %zmm14
+
+/*
+ * Get the (2^a / 2pi) mod 1 values from the table.
+ * Because VLANG doesn't have L-type gather, we need a trivial cast
+ */
+        lea       __svml_dtan_reduction_data_internal(%rip), %rax
+        vmovups   %zmm1, (%rsp)
+        vpbroadcastq .L_2il0floatpacket.18(%rip), %zmm9
+        vandpd    %zmm0, %zmm14, %zmm6
+        vmovups   %zmm8, 64(%rsp)
+        vcmppd    $4, {sae}, %zmm14, %zmm6, %k2
+        vmovaps   %zmm9, %zmm5
+        vpandq    .L_2il0floatpacket.19(%rip){1to8}, %zmm11, %zmm8
+        vpsrlq    $52, %zmm8, %zmm10
+        vpsllq    $1, %zmm10, %zmm7
+        vpaddq    %zmm10, %zmm7, %zmm4
+        vpsllq    $3, %zmm4, %zmm0
+        vpmovqd   %zmm0, %ymm3
+        vpandnq   %zmm6, %zmm6, %zmm5{%k2}
+        vcmppd    $3, {sae}, %zmm5, %zmm5, %k0
+
+/*
+ * Break the P_xxx and m into 32-bit chunks ready for
+ * the long multiplication via 32x32->64 multiplications
+ */
+        vpbroadcastq .L_2il0floatpacket.22(%rip), %zmm6
+        kxnorw    %k0, %k0, %k3
+        kxnorw    %k0, %k0, %k2
+        kmovw     %k0, %edx
+        vpxord    %zmm2, %zmm2, %zmm2
+        vgatherdpd (%rax,%ymm3), %zmm2{%k3}
+        kxnorw    %k0, %k0, %k3
+        vpsrlq    $32, %zmm2, %zmm5
+        vpxord    %zmm1, %zmm1, %zmm1
+        vpxord    %zmm8, %zmm8, %zmm8
+        vgatherdpd 8(%rax,%ymm3), %zmm1{%k2}
+        vgatherdpd 16(%rax,%ymm3), %zmm8{%k3}
+        vpsrlq    $32, %zmm1, %zmm0
+        vpsrlq    $32, %zmm8, %zmm13
+
+/*
+ * Also get the significand as an integer
+ * NB: adding in the integer bit is wrong for denorms!
+ * To make this work for denorms we should do something slightly different
+ */
+        vpandq    .L_2il0floatpacket.20(%rip){1to8}, %zmm11, %zmm15
+        vpaddq    .L_2il0floatpacket.21(%rip){1to8}, %zmm15, %zmm14
+        vpsrlq    $32, %zmm14, %zmm7
+        vpmullq   %zmm0, %zmm7, %zmm3
+        vpandq    %zmm6, %zmm2, %zmm10
+        vpandq    %zmm6, %zmm1, %zmm12
+        vpandq    %zmm6, %zmm8, %zmm15
+        vpandq    %zmm6, %zmm14, %zmm14
+
+/* Now do the big multiplication and carry propagation */
+        vpmullq   %zmm10, %zmm7, %zmm4
+        vpmullq   %zmm12, %zmm7, %zmm2
+        vpmullq   %zmm13, %zmm7, %zmm1
+        vpmullq   %zmm15, %zmm7, %zmm8
+        vpmullq   %zmm5, %zmm14, %zmm7
+        vpmullq   %zmm10, %zmm14, %zmm5
+        vpmullq   %zmm0, %zmm14, %zmm10
+        vpmullq   %zmm12, %zmm14, %zmm0
+        vpmullq   %zmm13, %zmm14, %zmm12
+        vpsrlq    $32, %zmm10, %zmm15
+        vpsrlq    $32, %zmm0, %zmm13
+        vpsrlq    $32, %zmm12, %zmm14
+        vpsrlq    $32, %zmm5, %zmm12
+        vpsrlq    $32, %zmm8, %zmm8
+        vpaddq    %zmm14, %zmm1, %zmm1
+        vpaddq    %zmm13, %zmm2, %zmm2
+        vpaddq    %zmm15, %zmm3, %zmm15
+        vpaddq    %zmm12, %zmm4, %zmm3
+        vpandq    %zmm6, %zmm0, %zmm13
+        vpaddq    %zmm1, %zmm13, %zmm4
+        vpaddq    %zmm4, %zmm8, %zmm14
+        vpsrlq    $32, %zmm14, %zmm0
+        vpandq    %zmm6, %zmm10, %zmm10
+        vpaddq    %zmm2, %zmm10, %zmm1
+        vpaddq    %zmm1, %zmm0, %zmm8
+
+/*
+ * Now round at the 2^-9 bit position for reduction mod pi/2^8
+ * instead of the original 2pi (but still with the same 2pi scaling).
+ * Use a shifter of 2^43 + 2^42.
+ * The N we get is our final version; it has an offset of
+ * 2^9 because of the implicit integer bit, and anyway for negative
+ * starting value it's a 2s complement thing. But we need to mask
+ * off the exponent part anyway so it's fine.
+ */
+        vpbroadcastq .L_2il0floatpacket.25(%rip), %zmm1
+        vpandq    %zmm6, %zmm7, %zmm7
+        vpaddq    %zmm3, %zmm7, %zmm13
+        vpsrlq    $32, %zmm8, %zmm3
+        vpandq    %zmm6, %zmm5, %zmm5
+        vpaddq    %zmm15, %zmm5, %zmm2
+        vpaddq    %zmm2, %zmm3, %zmm15
+        vpsrlq    $32, %zmm15, %zmm12
+        vpaddq    %zmm13, %zmm12, %zmm5
+
+/* Assemble reduced argument from the pieces */
+        vpandq    %zmm6, %zmm14, %zmm10
+        vpandq    %zmm6, %zmm15, %zmm7
+        vpsllq    $32, %zmm5, %zmm6
+        vpsllq    $32, %zmm8, %zmm5
+        vpaddq    %zmm7, %zmm6, %zmm4
+        vpaddq    %zmm10, %zmm5, %zmm10
+        vpsrlq    $12, %zmm4, %zmm6
+
+/*
+ * We want to incorporate the original sign now too.
+ * Do it here for convenience in getting the right N value,
+ * though we could wait right to the end if we were prepared
+ * to modify the sign of N later too.
+ * So get the appropriate sign mask now (or sooner).
+ */
+        vpandq    .L_2il0floatpacket.23(%rip){1to8}, %zmm11, %zmm0
+        vpandq    .L_2il0floatpacket.28(%rip){1to8}, %zmm10, %zmm13
+        vpsllq    $28, %zmm13, %zmm14
+
+/*
+ * Create floating-point high part, implicitly adding integer bit 1
+ * Incorporate overall sign at this stage too.
+ */
+        vpxorq    .L_2il0floatpacket.24(%rip){1to8}, %zmm0, %zmm8
+        vporq     %zmm8, %zmm6, %zmm2
+        vaddpd    {rn-sae}, %zmm2, %zmm1, %zmm12
+        vsubpd    {rn-sae}, %zmm1, %zmm12, %zmm3
+        vsubpd    {rn-sae}, %zmm3, %zmm2, %zmm7
+
+/*
+ * Create floating-point low and medium parts, respectively
+ * lo_23, ... lo_0, 0, ..., 0
+ * hi_11, ... hi_0, lo_63, ..., lo_24
+ * then subtract off the implicitly added integer bits,
+ * 2^-104 and 2^-52, respectively.
+ * Put the original sign into all of them at this stage.
+ */
+        vpxorq    .L_2il0floatpacket.27(%rip){1to8}, %zmm0, %zmm6
+        vporq     %zmm6, %zmm14, %zmm15
+        vpandq    .L_2il0floatpacket.30(%rip){1to8}, %zmm4, %zmm4
+        vsubpd    {rn-sae}, %zmm6, %zmm15, %zmm8
+
+/*
+ * If the magnitude of the input is <= 2^-20, then
+ * just pass through the input, since no reduction will be needed and
+ * the main path will only work accurately if the reduced argument is
+ * about >= 2^-70 (which it is for all large pi multiples)
+ */
+        vpbroadcastq .L_2il0floatpacket.34(%rip), %zmm14
+        vandpd    .L_2il0floatpacket.33(%rip){1to8}, %zmm11, %zmm15
+        vpsrlq    $24, %zmm10, %zmm6
+        vcmppd    $26, {sae}, %zmm14, %zmm15, %k2
+        vcmppd    $22, {sae}, %zmm14, %zmm15, %k3
+        vpxorq    .L_2il0floatpacket.29(%rip){1to8}, %zmm0, %zmm1
+        vpsllq    $40, %zmm4, %zmm0
+        vporq     %zmm6, %zmm0, %zmm0
+        vporq     %zmm1, %zmm0, %zmm4
+        vsubpd    {rn-sae}, %zmm1, %zmm4, %zmm2
+
+/* Now add them up into 2 reasonably aligned pieces */
+        vaddpd    {rn-sae}, %zmm2, %zmm7, %zmm13
+        vsubpd    {rn-sae}, %zmm13, %zmm7, %zmm7
+        vaddpd    {rn-sae}, %zmm7, %zmm2, %zmm3
+        vaddpd    {rn-sae}, %zmm8, %zmm3, %zmm0
+        vpbroadcastq .L_2il0floatpacket.32(%rip), %zmm8
+
+/* Grab our final N value as an integer, appropriately masked mod 2^9 */
+        vpandq    .L_2il0floatpacket.26(%rip){1to8}, %zmm12, %zmm5
+
+/*
+ * Now multiply those numbers all by 2 pi, reasonably accurately.
+ * (RHi + RLo) * (pi_lead + pi_trail) ~=
+ * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead)
+ */
+        vpbroadcastq .L_2il0floatpacket.31(%rip), %zmm12
+
+/* The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND */
+        vpmovqd   %zmm5, %ymm4
+        vmulpd    {rn-sae}, %zmm12, %zmm13, %zmm6
+        vmovaps   %zmm12, %zmm10
+        vfmsub213pd {rn-sae}, %zmm6, %zmm13, %zmm10
+        vfmadd213pd {rn-sae}, %zmm10, %zmm8, %zmm13
+        vpbroadcastq .L_2il0floatpacket.37(%rip), %zmm10
+        vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm0
+        vpbroadcastq .L_2il0floatpacket.36(%rip), %zmm12
+        vmovaps   %zmm9, %zmm8
+        vpandnq   %zmm15, %zmm15, %zmm8{%k2}
+        vpandnq   %zmm15, %zmm15, %zmm9{%k3}
+        vandpd    %zmm11, %zmm9, %zmm9
+        vandpd    %zmm6, %zmm8, %zmm14
+        vorpd     %zmm14, %zmm9, %zmm6
+        vandpd    %zmm0, %zmm8, %zmm9
+        vmovdqu   .L_2il0floatpacket.35(%rip), %ymm0
+        vpsrlq    $32, %zmm6, %zmm5
+        vpmovqd   %zmm5, %ymm5
+        vpsrld    $31, %ymm5, %ymm1
+        vpsubd    %ymm1, %ymm0, %ymm2
+
+/*
+ * ----------------------------------------------------------
+ * End of large arguments path
+ * ----------------------------------------------------------
+ * Merge results from main and large paths:
+ */
+        vmovups   (%rsp), %zmm1
+        vpaddd    %ymm2, %ymm4, %ymm3
+        vpsrld    $4, %ymm3, %ymm14
+        vpslld    $4, %ymm14, %ymm7
+        vpmovzxdq %ymm14, %zmm1{%k1}
+        vpsubd    %ymm7, %ymm4, %ymm8
+        vcvtdq2pd %ymm8, %zmm15
+        vmovups   64(%rsp), %zmm8
+        vfmadd231pd {rn-sae}, %zmm15, %zmm10, %zmm9
+        vaddpd    {rn-sae}, %zmm6, %zmm9, %zmm13
+        vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm15
+        vblendmpd %zmm15, %zmm8, %zmm8{%k1}
+        jmp       .LBL_1_2
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_tan8,@function
+       .size   __svml_tan8,.-__svml_tan8
+..LN__svml_tan8.0:
+
+.L_2__routine_start___svml_dtan_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dtan_cout_rare_internal:
+
+
+       .cfi_startproc
+..L65:
+
+        xorl      %eax, %eax
+        movzwl    6(%rdi), %ecx
+        movsd     (%rdi), %xmm1
+        andl      $32752, %ecx
+        movb      7(%rdi), %dl
+        andb      $127, %dl
+        movsd     %xmm1, -8(%rsp)
+        movb      %dl, -1(%rsp)
+        cmpl      $32752, %ecx
+        je        .LBL_2_3
+
+
+        ret
+
+.LBL_2_3:
+
+        cmpl      $0, -8(%rsp)
+        jne       .LBL_2_6
+
+
+        cmpl      $2146435072, -4(%rsp)
+        jne       .LBL_2_6
+
+
+        movsd     __dtan_la_Tab(%rip), %xmm0
+        movl      $1, %eax
+        mulsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+
+.LBL_2_6:
+
+        mulsd     %xmm1, %xmm1
+        movsd     %xmm1, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dtan_cout_rare_internal,@function
+       .size   __svml_dtan_cout_rare_internal,.-__svml_dtan_cout_rare_internal
+..LN__svml_dtan_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dtan_data_internal:
+       .long   1841940611
+       .long   1075076912
+       .long   1841940611
+       .long   1075076912
+       .long   1841940611
+       .long   1075076912
+       .long   1841940611
+       .long   1075076912
+       .long   1841940611
+       .long   1075076912
+       .long   1841940611
+       .long   1075076912
+       .long   1841940611
+       .long   1075076912
+       .long   1841940611
+       .long   1075076912
+       .long   1413754136
+       .long   1070146043
+       .long   1413754136
+       .long   1070146043
+       .long   1413754136
+       .long   1070146043
+       .long   1413754136
+       .long   1070146043
+       .long   1413754136
+       .long   1070146043
+       .long   1413754136
+       .long   1070146043
+       .long   1413754136
+       .long   1070146043
+       .long   1413754136
+       .long   1070146043
+       .long   856972294
+       .long   1013032486
+       .long   856972294
+       .long   1013032486
+       .long   856972294
+       .long   1013032486
+       .long   856972294
+       .long   1013032486
+       .long   856972294
+       .long   1013032486
+       .long   856972294
+       .long   1013032486
+       .long   856972294
+       .long   1013032486
+       .long   856972294
+       .long   1013032486
+       .long   688016905
+       .long   958143697
+       .long   688016905
+       .long   958143697
+       .long   688016905
+       .long   958143697
+       .long   688016905
+       .long   958143697
+       .long   688016905
+       .long   958143697
+       .long   688016905
+       .long   958143697
+       .long   688016905
+       .long   958143697
+       .long   688016905
+       .long   958143697
+       .long   855638016
+       .long   1013032486
+       .long   855638016
+       .long   1013032486
+       .long   855638016
+       .long   1013032486
+       .long   855638016
+       .long   1013032486
+       .long   855638016
+       .long   1013032486
+       .long   855638016
+       .long   1013032486
+       .long   855638016
+       .long   1013032486
+       .long   855638016
+       .long   1013032486
+       .long   3773204808
+       .long   979655686
+       .long   3773204808
+       .long   979655686
+       .long   3773204808
+       .long   979655686
+       .long   3773204808
+       .long   979655686
+       .long   3773204808
+       .long   979655686
+       .long   3773204808
+       .long   979655686
+       .long   3773204808
+       .long   979655686
+       .long   3773204808
+       .long   979655686
+       .long   0
+       .long   2147483648
+       .long   3763679576
+       .long   1070167541
+       .long   2583490354
+       .long   1071284857
+       .long   716700048
+       .long   1071997368
+       .long   0
+       .long   1072693248
+       .long   3797578849
+       .long   1073213976
+       .long   859807206
+       .long   1073958991
+       .long   3795994481
+       .long   1075059710
+       .long   4294967295
+       .long   4293918719
+       .long   3795994481
+       .long   3222543358
+       .long   859807206
+       .long   3221442639
+       .long   3797578849
+       .long   3220697624
+       .long   0
+       .long   3220176896
+       .long   716700048
+       .long   3219481016
+       .long   2583490354
+       .long   3218768505
+       .long   3763679576
+       .long   3217651189
+       .long   0
+       .long   2147483648
+       .long   1732516166
+       .long   1009710547
+       .long   2973134505
+       .long   1014008623
+       .long   561165941
+       .long   1015523525
+       .long   0
+       .long   0
+       .long   1767150223
+       .long   1016338938
+       .long   4129738197
+       .long   1017254245
+       .long   4275273486
+       .long   1015088902
+       .long   0
+       .long   4238344192
+       .long   4275273486
+       .long   3162572550
+       .long   4129738197
+       .long   3164737893
+       .long   1767150223
+       .long   3163822586
+       .long   0
+       .long   0
+       .long   561165941
+       .long   3163007173
+       .long   2973134505
+       .long   3161492271
+       .long   1732516166
+       .long   3157194195
+       .long   1431655900
+       .long   1070945621
+       .long   1431655900
+       .long   1070945621
+       .long   1431655900
+       .long   1070945621
+       .long   1431655900
+       .long   1070945621
+       .long   1431655900
+       .long   1070945621
+       .long   1431655900
+       .long   1070945621
+       .long   1431655900
+       .long   1070945621
+       .long   1431655900
+       .long   1070945621
+       .long   285935618
+       .long   1069617425
+       .long   285935618
+       .long   1069617425
+       .long   285935618
+       .long   1069617425
+       .long   285935618
+       .long   1069617425
+       .long   285935618
+       .long   1069617425
+       .long   285935618
+       .long   1069617425
+       .long   285935618
+       .long   1069617425
+       .long   285935618
+       .long   1069617425
+       .long   1218258378
+       .long   1068212666
+       .long   1218258378
+       .long   1068212666
+       .long   1218258378
+       .long   1068212666
+       .long   1218258378
+       .long   1068212666
+       .long   1218258378
+       .long   1068212666
+       .long   1218258378
+       .long   1068212666
+       .long   1218258378
+       .long   1068212666
+       .long   1218258378
+       .long   1068212666
+       .long   1716452265
+       .long   1066820779
+       .long   1716452265
+       .long   1066820779
+       .long   1716452265
+       .long   1066820779
+       .long   1716452265
+       .long   1066820779
+       .long   1716452265
+       .long   1066820779
+       .long   1716452265
+       .long   1066820779
+       .long   1716452265
+       .long   1066820779
+       .long   1716452265
+       .long   1066820779
+       .long   3351902813
+       .long   1065508044
+       .long   3351902813
+       .long   1065508044
+       .long   3351902813
+       .long   1065508044
+       .long   3351902813
+       .long   1065508044
+       .long   3351902813
+       .long   1065508044
+       .long   3351902813
+       .long   1065508044
+       .long   3351902813
+       .long   1065508044
+       .long   3351902813
+       .long   1065508044
+       .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   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .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   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   0
+       .long   1127743488
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   1413480448
+       .long   1065951739
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   442499072
+       .long   1029747809
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   771977331
+       .long   993204618
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   511
+       .long   0
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1841940611
+       .long   1079271216
+       .long   1413754136
+       .long   1073291771
+       .long   856972295
+       .long   1016178214
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1431655769
+       .long   1070945621
+       .long   0
+       .long   0
+       .long   285114973
+       .long   1069617425
+       .long   0
+       .long   0
+       .long   3223786787
+       .long   1068212718
+       .long   1570481342
+       .long   1073278903
+       .long   2595802427
+       .long   1014369127
+       .long   0
+       .long   0
+       .long   75380366
+       .long   1065951822
+       .long   2999349512
+       .long   3155830414
+       .long   0
+       .long   1072693248
+       .long   2911696896
+       .long   1059306942
+       .long   451505506
+       .long   1065952070
+       .long   3089290734
+       .long   1070946463
+       .long   3705470160
+       .long   1065403174
+       .long   2568117119
+       .long   1069618857
+       .long   643394266
+       .long   1064501452
+       .long   501385640
+       .long   1068202863
+       .long   1727208548
+       .long   1073266035
+       .long   2531251621
+       .long   3162145225
+       .long   0
+       .long   0
+       .long   612012528
+       .long   1067000646
+       .long   549540416
+       .long   3153143513
+       .long   0
+       .long   1072693248
+       .long   2064191488
+       .long   1061404484
+       .long   4042886527
+       .long   1067001638
+       .long   149923164
+       .long   1070948993
+       .long   104448276
+       .long   1066453158
+       .long   2663431480
+       .long   1069623160
+       .long   4100741303
+       .long   1065552806
+       .long   3253087105
+       .long   1068220130
+       .long   1883935754
+       .long   1073253167
+       .long   2988318241
+       .long   3163734974
+       .long   0
+       .long   0
+       .long   3919601072
+       .long   1067637674
+       .long   2391050108
+       .long   3158536696
+       .long   0
+       .long   1072693248
+       .long   1803946752
+       .long   1062615560
+       .long   2247013512
+       .long   1067639351
+       .long   3277043521
+       .long   1070953215
+       .long   578207594
+       .long   1067006653
+       .long   1619551617
+       .long   1069630354
+       .long   2647612950
+       .long   1066183733
+       .long   2691224773
+       .long   1068193529
+       .long   2040662960
+       .long   1073240299
+       .long   4270081753
+       .long   3164530442
+       .long   0
+       .long   0
+       .long   2319126882
+       .long   1068050215
+       .long   2052183488
+       .long   1006305725
+       .long   0
+       .long   1072693248
+       .long   2962101888
+       .long   1063503197
+       .long   3966050657
+       .long   1068054193
+       .long   3178024141
+       .long   1070959142
+       .long   1146831000
+       .long   1067507381
+       .long   1630003540
+       .long   1069640468
+       .long   2204487828
+       .long   1066612393
+       .long   783402153
+       .long   1068243248
+       .long   2197390165
+       .long   1073227431
+       .long   3038089327
+       .long   1016395176
+       .long   0
+       .long   0
+       .long   3930011523
+       .long   1068463253
+       .long   3574549514
+       .long   3158343440
+       .long   0
+       .long   1072693248
+       .long   930814464
+       .long   1064233867
+       .long   3218126771
+       .long   1068471034
+       .long   873740287
+       .long   1070966789
+       .long   1580060562
+       .long   1067789097
+       .long   1505280051
+       .long   1069653548
+       .long   2221338604
+       .long   1066937592
+       .long   2641117162
+       .long   1068312400
+       .long   2354117371
+       .long   1073214563
+       .long   3512651629
+       .long   1015129272
+       .long   0
+       .long   0
+       .long   3439278129
+       .long   1068687929
+       .long   1073016494
+       .long   1012431341
+       .long   0
+       .long   1072693248
+       .long   2934847296
+       .long   1064716672
+       .long   2625704508
+       .long   1068694663
+       .long   3692939630
+       .long   1070976174
+       .long   3072165553
+       .long   1068074393
+       .long   223733198
+       .long   1069669653
+       .long   1158528257
+       .long   1067269817
+       .long   3197805108
+       .long   1068357327
+       .long   2510844577
+       .long   1073201695
+       .long   498468876
+       .long   3161098111
+       .long   0
+       .long   0
+       .long   1972895212
+       .long   1068895135
+       .long   3208334872
+       .long   1010638399
+       .long   0
+       .long   1072693248
+       .long   4107853760
+       .long   1065246718
+       .long   2229347510
+       .long   1068905849
+       .long   4172638464
+       .long   1070987323
+       .long   212469442
+       .long   1068364021
+       .long   1989165656
+       .long   1069688852
+       .long   4131454312
+       .long   1067530480
+       .long   3453538591
+       .long   1068469531
+       .long   2667571783
+       .long   1073188827
+       .long   1614402419
+       .long   3163482232
+       .long   0
+       .long   0
+       .long   2354785698
+       .long   1069102779
+       .long   959196066
+       .long   1012432163
+       .long   0
+       .long   1072693248
+       .long   2828230112
+       .long   1065606626
+       .long   3693284264
+       .long   1069118808
+       .long   1996210616
+       .long   1071000265
+       .long   3053541878
+       .long   1068578846
+       .long   1133334569
+       .long   1069711236
+       .long   977677893
+       .long   1067705915
+       .long   347264115
+       .long   1068436198
+       .long   2824298989
+       .long   1073175959
+       .long   2088964722
+       .long   3164313480
+       .long   0
+       .long   0
+       .long   931121154
+       .long   1069310926
+       .long   1121692745
+       .long   3159637885
+       .long   0
+       .long   1072693248
+       .long   709357472
+       .long   1065955296
+       .long   29972165
+       .long   1069333808
+       .long   254360647
+       .long   1071015033
+       .long   3732687627
+       .long   1068729157
+       .long   3224370683
+       .long   1069736900
+       .long   202592779
+       .long   1067887231
+       .long   1420423314
+       .long   1068491719
+       .long   2981026194
+       .long   1073163091
+       .long   924239062
+       .long   1016612139
+       .long   0
+       .long   0
+       .long   982366697
+       .long   1069519640
+       .long   1160213218
+       .long   3158385836
+       .long   0
+       .long   1072693248
+       .long   404678272
+       .long   1066346403
+       .long   1419607756
+       .long   1069549319
+       .long   1800406832
+       .long   1071031665
+       .long   3144361055
+       .long   1068882825
+       .long   1744148040
+       .long   1069765960
+       .long   3211597674
+       .long   1068075289
+       .long   404952187
+       .long   1068609434
+       .long   3137753400
+       .long   1073150223
+       .long   3579918397
+       .long   1015563197
+       .long   0
+       .long   0
+       .long   2242453104
+       .long   1069638253
+       .long   1143545012
+       .long   3159361608
+       .long   0
+       .long   1072693248
+       .long   1016752608
+       .long   1066591110
+       .long   1270001991
+       .long   1069659269
+       .long   1410785275
+       .long   1071050206
+       .long   1103929722
+       .long   1069040275
+       .long   3268015215
+       .long   1069798554
+       .long   957665168
+       .long   1068270980
+       .long   1067662813
+       .long   1068610012
+       .long   3294480606
+       .long   1073137355
+       .long   1489607747
+       .long   3151418907
+       .long   0
+       .long   0
+       .long   1940260416
+       .long   1069743276
+       .long   4144715194
+       .long   1012060053
+       .long   0
+       .long   1072693248
+       .long   1135818128
+       .long   1066829850
+       .long   867512158
+       .long   1069770656
+       .long   3821819258
+       .long   1071070704
+       .long   2890864845
+       .long   1069201948
+       .long   918459419
+       .long   1069834828
+       .long   797472495
+       .long   1068475275
+       .long   4093958433
+       .long   1068635569
+       .long   3451207812
+       .long   1073124487
+       .long   1547135652
+       .long   3163048307
+       .long   0
+       .long   0
+       .long   1959743063
+       .long   1069848682
+       .long   607727474
+       .long   1013558026
+       .long   0
+       .long   1072693248
+       .long   225834432
+       .long   1067090614
+       .long   732340398
+       .long   1069883626
+       .long   3221152670
+       .long   1071093215
+       .long   2810588359
+       .long   1069368307
+       .long   612200458
+       .long   1069874948
+       .long   645427023
+       .long   1068594071
+       .long   1966294363
+       .long   1068694214
+       .long   3607935018
+       .long   1073111619
+       .long   4202814986
+       .long   3164096517
+       .long   0
+       .long   0
+       .long   2429422902
+       .long   1069954505
+       .long   3297515896
+       .long   3160006592
+       .long   0
+       .long   1072693248
+       .long   528565440
+       .long   1067373727
+       .long   2395999282
+       .long   1069998329
+       .long   1512953454
+       .long   1071117799
+       .long   2702142222
+       .long   1069539835
+       .long   3515899576
+       .long   1069919100
+       .long   2767905785
+       .long   1068706391
+       .long   3127207959
+       .long   1068808800
+       .long   3764662223
+       .long   1073098751
+       .long   3105356094
+       .long   1016829101
+       .long   0
+       .long   0
+       .long   1425758568
+       .long   1070060780
+       .long   1224256500
+       .long   1011856982
+       .long   0
+       .long   1072693248
+       .long   2086713664
+       .long   1067564956
+       .long   1688303979
+       .long   1070114921
+       .long   938619730
+       .long   1071144522
+       .long   526120622
+       .long   1069632280
+       .long   3819295667
+       .long   1069967496
+       .long   2059466202
+       .long   1068824653
+       .long   4035080204
+       .long   1068903334
+       .long   3921389429
+       .long   1073085883
+       .long   3647185164
+       .long   1015997122
+       .long   0
+       .long   0
+       .long   3763679576
+       .long   1070167541
+       .long   448465424
+       .long   1009708707
+       .long   0
+       .long   1072693248
+       .long   64931152
+       .long   1067729411
+       .long   3593250320
+       .long   1070233561
+       .long   1127364104
+       .long   1071173457
+       .long   21320967
+       .long   1069723988
+       .long   4036384112
+       .long   1070020367
+       .long   3394693835
+       .long   1068949482
+       .long   4171096556
+       .long   1068939101
+       .long   4078116635
+       .long   1073073015
+       .long   39665264
+       .long   1013608617
+       .long   0
+       .long   0
+       .long   4023957346
+       .long   1070274825
+       .long   2652053984
+       .long   1012417284
+       .long   0
+       .long   1072693248
+       .long   1548193280
+       .long   1067905620
+       .long   2849460080
+       .long   1070354416
+       .long   586099284
+       .long   1071204684
+       .long   2426038050
+       .long   1069819083
+       .long   1209882932
+       .long   1070077962
+       .long   204929667
+       .long   1069081561
+       .long   2951798640
+       .long   1069077118
+       .long   4234843841
+       .long   1073060147
+       .long   1479868884
+       .long   3162614382
+       .long   0
+       .long   0
+       .long   3947580658
+       .long   1070382668
+       .long   4153467944
+       .long   1013228820
+       .long   0
+       .long   1072693248
+       .long   1306970432
+       .long   1068093810
+       .long   3320658510
+       .long   1070477657
+       .long   2638377394
+       .long   1071238289
+       .long   1218095092
+       .long   1069917865
+       .long   506153462
+       .long   1070140566
+       .long   2096772755
+       .long   1069221614
+       .long   2058474785
+       .long   1069148484
+       .long   96603751
+       .long   1073047280
+       .long   2021697954
+       .long   3163879555
+       .long   0
+       .long   0
+       .long   4068253482
+       .long   1070491107
+       .long   3098804354
+       .long   1013932712
+       .long   0
+       .long   1072693248
+       .long   3555466384
+       .long   1068294223
+       .long   3714292293
+       .long   1070599779
+       .long   58004546
+       .long   1071274368
+       .long   2889916307
+       .long   1070020649
+       .long   2725223781
+       .long   1070208483
+       .long   1960889140
+       .long   1069370437
+       .long   2173066945
+       .long   1069259864
+       .long   253330956
+       .long   1073034412
+       .long   991505830
+       .long   1017046064
+       .long   0
+       .long   0
+       .long   1971725998
+       .long   1070598138
+       .long   2628060598
+       .long   1013294571
+       .long   0
+       .long   1072693248
+       .long   3850616508
+       .long   1068503032
+       .long   715485429
+       .long   1070664058
+       .long   2831870887
+       .long   1071313021
+       .long   276112813
+       .long   1070127773
+       .long   4071473622
+       .long   1070282053
+       .long   3678820497
+       .long   1069528889
+       .long   928174949
+       .long   1069392578
+       .long   410058162
+       .long   1073021544
+       .long   4004709614
+       .long   1016250595
+       .long   0
+       .long   0
+       .long   1197423420
+       .long   1070653011
+       .long   176404688
+       .long   1013428940
+       .long   0
+       .long   1072693248
+       .long   3614211808
+       .long   1068615863
+       .long   2638984897
+       .long   1070729808
+       .long   1695604536
+       .long   1071354361
+       .long   2372043566
+       .long   1070239593
+       .long   136909610
+       .long   1070361652
+       .long   3640039434
+       .long   1069622710
+       .long   4088329288
+       .long   1069449448
+       .long   566785368
+       .long   1073008676
+       .long   2301849815
+       .long   1014658654
+       .long   0
+       .long   0
+       .long   1026922473
+       .long   1070708240
+       .long   4275552176
+       .long   1013759157
+       .long   0
+       .long   1072693248
+       .long   865263972
+       .long   1068735226
+       .long   1189261043
+       .long   1070797132
+       .long   602895285
+       .long   1071398507
+       .long   457371263
+       .long   1070356493
+       .long   1846858239
+       .long   1070447677
+       .long   3060498109
+       .long   1069713009
+       .long   4267979072
+       .long   1069596604
+       .long   723512574
+       .long   1072995808
+       .long   2825204233
+       .long   3161855698
+       .long   0
+       .long   0
+       .long   2664093517
+       .long   1070763845
+       .long   3574550848
+       .long   1009790086
+       .long   0
+       .long   1072693248
+       .long   2465054196
+       .long   1068861279
+       .long   3495559184
+       .long   1070866134
+       .long   2180799467
+       .long   1071445588
+       .long   3760731789
+       .long   1070478879
+       .long   3108073741
+       .long   1070540584
+       .long   1955989611
+       .long   1069809654
+       .long   166740423
+       .long   1069654305
+       .long   880239780
+       .long   1072982940
+       .long   4135548218
+       .long   3163662592
+       .long   0
+       .long   0
+       .long   895247324
+       .long   1070819848
+       .long   3063999364
+       .long   3161289029
+       .long   0
+       .long   1072693248
+       .long   729983844
+       .long   1068994194
+       .long   3631919317
+       .long   1070936926
+       .long   2031343772
+       .long   1071495745
+       .long   1505593195
+       .long   1070601643
+       .long   519428998
+       .long   1070618477
+       .long   3710689648
+       .long   1069913254
+       .long   3156018952
+       .long   1069741343
+       .long   1036966986
+       .long   1072970072
+       .long   1122344434
+       .long   3164458061
+       .long   0
+       .long   0
+       .long   1412148370
+       .long   1070876269
+       .long   2689479793
+       .long   3161477235
+       .long   0
+       .long   1072693248
+       .long   1375255072
+       .long   1069134151
+       .long   1493266594
+       .long   1071009624
+       .long   487968719
+       .long   1071549129
+       .long   4010395236
+       .long   1070668994
+       .long   2875570533
+       .long   1070672565
+       .long   2596803931
+       .long   1070024476
+       .long   2843491938
+       .long   1069843051
+       .long   1193694191
+       .long   1072957204
+       .long   1890859349
+       .long   1016467558
+       .long   0
+       .long   0
+       .long   3782220567
+       .long   1070933130
+       .long   2488122455
+       .long   1014753484
+       .long   0
+       .long   1072693248
+       .long   91372748
+       .long   1069281344
+       .long   318776714
+       .long   1071084349
+       .long   1791786485
+       .long   1071605902
+       .long   245863368
+       .long   1070739794
+       .long   3306699314
+       .long   1070730899
+       .long   492155886
+       .long   1070144051
+       .long   504705110
+       .long   1069961586
+       .long   1350421397
+       .long   1072944336
+       .long   1218191675
+       .long   1015274036
+       .long   0
+       .long   0
+       .long   1606100959
+       .long   1070990455
+       .long   3385800912
+       .long   1013630535
+       .long   0
+       .long   1072693248
+       .long   2255302008
+       .long   1069435977
+       .long   54085333
+       .long   1071161229
+       .long   2504974906
+       .long   1071655456
+       .long   4169947836
+       .long   1070814310
+       .long   2891827400
+       .long   1070793803
+       .long   1030744926
+       .long   1070272780
+       .long   2378131433
+       .long   1070036506
+       .long   1507148603
+       .long   1072931468
+       .long   1086374101
+       .long   3160519057
+       .long   0
+       .long   0
+       .long   4158096969
+       .long   1071048265
+       .long   3224523546
+       .long   1013419306
+       .long   0
+       .long   1072693248
+       .long   4240313622
+       .long   1069572894
+       .long   3745046477
+       .long   1071240398
+       .long   1955120038
+       .long   1071687503
+       .long   2661530988
+       .long   1070892836
+       .long   2615081511
+       .long   1070861626
+       .long   3172686013
+       .long   1070411548
+       .long   3468537064
+       .long   1070173373
+       .long   1663875809
+       .long   1072918600
+       .long   3908862373
+       .long   3163337468
+       .long   0
+       .long   0
+       .long   2200768388
+       .long   1071106586
+       .long   302579070
+       .long   3162432935
+       .long   0
+       .long   1072693248
+       .long   2338248308
+       .long   1069657986
+       .long   2617403810
+       .long   1071322000
+       .long   60078074
+       .long   1071721530
+       .long   2753634668
+       .long   1070975684
+       .long   626020947
+       .long   1070934758
+       .long   25846105
+       .long   1070561329
+       .long   1123371528
+       .long   1070307499
+       .long   1820603015
+       .long   1072905732
+       .long   3236194699
+       .long   3164241098
+       .long   0
+       .long   0
+       .long   2528366626
+       .long   1071165441
+       .long   3808697588
+       .long   3160880158
+       .long   0
+       .long   1072693248
+       .long   1938261590
+       .long   1069747146
+       .long   4282399603
+       .long   1071406183
+       .long   1922568281
+       .long   1071757646
+       .long   2428166646
+       .long   1071063193
+       .long   717464826
+       .long   1071013623
+       .long   2205664064
+       .long   1070659645
+       .long   1525962144
+       .long   1070438229
+       .long   1977330220
+       .long   1072892864
+       .long   4071976381
+       .long   1016684520
+       .long   0
+       .long   0
+       .long   2390846448
+       .long   1071224856
+       .long   3510510824
+       .long   1014225707
+       .long   0
+       .long   1072693248
+       .long   1208409702
+       .long   1069840505
+       .long   1006199412
+       .long   1071493107
+       .long   2504246873
+       .long   1071795971
+       .long   1040653613
+       .long   1071155729
+       .long   1713268218
+       .long   1071098686
+       .long   462276291
+       .long   1070747214
+       .long   4239134769
+       .long   1070603989
+       .long   2134057426
+       .long   1072879996
+       .long   1285458442
+       .long   1015707961
+       .long   0
+       .long   0
+       .long   2583490354
+       .long   1071284857
+       .long   27154665
+       .long   1014008337
+       .long   0
+       .long   1072693248
+       .long   2550940470
+       .long   1069938201
+       .long   2616040293
+       .long   1071582937
+       .long   2529278955
+       .long   1071836633
+       .long   2244405849
+       .long   1071253687
+       .long   2064814125
+       .long   1071190460
+       .long   1527853242
+       .long   1070842074
+       .long   354304617
+       .long   1070708112
+       .long   2290784632
+       .long   1072867128
+       .long   2660353234
+       .long   1011979525
+       .long   0
+       .long   0
+       .long   3368427099
+       .long   1071345471
+       .long   2187847358
+       .long   3161070788
+       .long   0
+       .long   1072693248
+       .long   1708021028
+       .long   1070040382
+       .long   459972195
+       .long   1071660262
+       .long   3210514347
+       .long   1071879770
+       .long   955408873
+       .long   1071357497
+       .long   1911386086
+       .long   1071289511
+       .long   3563284025
+       .long   1070944951
+       .long   547392146
+       .long   1070790031
+       .long   2447511838
+       .long   1072854260
+       .long   3841595606
+       .long   3162903543
+       .long   0
+       .long   0
+       .long   408840118
+       .long   1071406727
+       .long   4048150272
+       .long   1011870625
+       .long   0
+       .long   1072693248
+       .long   2794370512
+       .long   1070147203
+       .long   1550993351
+       .long   1071708355
+       .long   1305093678
+       .long   1071925532
+       .long   1748211158
+       .long   1071467623
+       .long   3244212116
+       .long   1071396455
+       .long   2145665988
+       .long   1071056651
+       .long   1098394636
+       .long   1070891096
+       .long   2604239044
+       .long   1072841392
+       .long   1055077667
+       .long   3164024136
+       .long   0
+       .long   0
+       .long   2191706112
+       .long   1071468652
+       .long   333457838
+       .long   1013847700
+       .long   0
+       .long   1072693248
+       .long   3435408456
+       .long   1070258830
+       .long   487319719
+       .long   1071758184
+       .long   1713711059
+       .long   1071974079
+       .long   130753286
+       .long   1071584571
+       .long   909725129
+       .long   1071511974
+       .long   2762442355
+       .long   1071178067
+       .long   932699057
+       .long   1071027067
+       .long   2760966249
+       .long   1072828524
+       .long   1958126117
+       .long   1016901483
+       .long   0
+       .long   0
+       .long   220675706
+       .long   1071531278
+       .long   3158460941
+       .long   1014240139
+       .long   0
+       .long   1072693248
+       .long   1565030890
+       .long   1070375439
+       .long   335263687
+       .long   1071809854
+       .long   419816567
+       .long   1072025586
+       .long   2098048102
+       .long   1071676780
+       .long   257229334
+       .long   1071636821
+       .long   3464457175
+       .long   1071310192
+       .long   2745951745
+       .long   1071158056
+       .long   2917693455
+       .long   1072815656
+       .long   676362605
+       .long   1016106015
+       .long   0
+       .long   0
+       .long   3649427950
+       .long   1071594634
+       .long   4113913432
+       .long   1011178545
+       .long   0
+       .long   1072693248
+       .long   2424145432
+       .long   1070497215
+       .long   2715404890
+       .long   1071863477
+       .long   2238283673
+       .long   1072080240
+       .long   1186867211
+       .long   1071742923
+       .long   660318792
+       .long   1071708248
+       .long   2091427899
+       .long   1071454132
+       .long   2591062578
+       .long   1071291190
+       .long   3074420661
+       .long   1072802788
+       .long   1873363667
+       .long   1014080331
+       .long   0
+       .long   0
+       .long   2606398711
+       .long   1071651713
+       .long   2533078623
+       .long   1015070425
+       .long   0
+       .long   1072693248
+       .long   2151361100
+       .long   1070610226
+       .long   1532348096
+       .long   1071919174
+       .long   408604530
+       .long   1072138246
+       .long   1039538740
+       .long   1071813375
+       .long   1234598850
+       .long   1071781284
+       .long   692507560
+       .long   1071611119
+       .long   4090315823
+       .long   1071451983
+       .long   3231147867
+       .long   1072789920
+       .long   3253690381
+       .long   3162434021
+       .long   0
+       .long   0
+       .long   1505561933
+       .long   1071684172
+       .long   2813788960
+       .long   3158646164
+       .long   0
+       .long   1072693248
+       .long   2997217365
+       .long   1070676584
+       .long   2681788575
+       .long   1071977071
+       .long   3989126937
+       .long   1072199822
+       .long   1049115510
+       .long   1071888491
+       .long   511642057
+       .long   1071860360
+       .long   4034728042
+       .long   1071713598
+       .long   1788921063
+       .long   1071639550
+       .long   3387875073
+       .long   1072777052
+       .long   3168927931
+       .long   3163807173
+       .long   0
+       .long   0
+       .long   419968236
+       .long   1071717047
+       .long   131821922
+       .long   3163445114
+       .long   0
+       .long   1072693248
+       .long   2960267235
+       .long   1070745841
+       .long   1037049094
+       .long   1072037305
+       .long   1447436626
+       .long   1072265209
+       .long   3197232138
+       .long   1071968658
+       .long   4004685083
+       .long   1071946034
+       .long   1412816411
+       .long   1071807280
+       .long   3184767140
+       .long   1071740610
+       .long   3544602278
+       .long   1072764184
+       .long   4139243149
+       .long   1017118445
+       .long   0
+       .long   0
+       .long   4270735453
+       .long   1071750355
+       .long   3565353881
+       .long   3162826177
+       .long   0
+       .long   1072693248
+       .long   2915760230
+       .long   1070818115
+       .long   638580392
+       .long   1072100020
+       .long   2252948193
+       .long   1072334663
+       .long   1194731830
+       .long   1072054301
+       .long   1353002943
+       .long   1072038927
+       .long   422364777
+       .long   1071909798
+       .long   3669605864
+       .long   1071842023
+       .long   3701329484
+       .long   1072751316
+       .long   2857479637
+       .long   1016322977
+       .long   0
+       .long   0
+       .long   4010047525
+       .long   1071784117
+       .long   3339961616
+       .long   1012589046
+       .long   0
+       .long   1072693248
+       .long   966450668
+       .long   1070893532
+       .long   803989702
+       .long   1072165371
+       .long   1934453966
+       .long   1072408465
+       .long   1455077850
+       .long   1072145882
+       .long   2709264343
+       .long   1072139721
+       .long   1918064545
+       .long   1072022114
+       .long   1476733491
+       .long   1071960574
+       .long   3858056690
+       .long   1072738448
+       .long   2007897202
+       .long   1014948181
+       .long   0
+       .long   0
+       .long   2591355529
+       .long   1071818352
+       .long   2351346752
+       .long   1014424505
+       .long   0
+       .long   1072693248
+       .long   3206845590
+       .long   1070972224
+       .long   4023349050
+       .long   1072233523
+       .long   3838822434
+       .long   1072486918
+       .long   3122427157
+       .long   1072243909
+       .long   2261703628
+       .long   1072249178
+       .long   1764870085
+       .long   1072145307
+       .long   3201774398
+       .long   1072093301
+       .long   4014783896
+       .long   1072725580
+       .long   3119156846
+       .long   3161566171
+       .long   0
+       .long   0
+       .long   2298773501
+       .long   1071853080
+       .long   4027796943
+       .long   3162574088
+       .long   0
+       .long   1072693248
+       .long   312748411
+       .long   1071054335
+       .long   2723913091
+       .long   1072304655
+       .long   3207063211
+       .long   1072570353
+       .long   1845780128
+       .long   1072348940
+       .long   752659336
+       .long   1072368142
+       .long   1097207438
+       .long   1072280589
+       .long   407427378
+       .long   1072246732
+       .long   4171511102
+       .long   1072712712
+       .long   987810900
+       .long   3163590211
+       .long   0
+       .long   0
+       .long   681498355
+       .long   1071888323
+       .long   3542613740
+       .long   3163311347
+       .long   0
+       .long   1072693248
+       .long   168222332
+       .long   1071140014
+       .long   776736583
+       .long   1072378956
+       .long   2405401100
+       .long   1072659128
+       .long   430546584
+       .long   1072461586
+       .long   2974083787
+       .long   1072497552
+       .long   849442051
+       .long   1072429322
+       .long   2727422945
+       .long   1072409680
+       .long   33271012
+       .long   1072699845
+       .long   2269574412
+       .long   3164385679
+       .long   0
+       .long   0
+       .long   3684492763
+       .long   1071924102
+       .long   2905877726
+       .long   3163193209
+       .long   0
+       .long   1072693248
+       .long   585640690
+       .long   1071229422
+       .long   1068301595
+       .long   1072456629
+       .long   2953900489
+       .long   1072723440
+       .long   950237889
+       .long   1072582519
+       .long   109735426
+       .long   1072638455
+       .long   792610960
+       .long   1072593041
+       .long   2904161704
+       .long   1072594405
+       .long   379996435
+       .long   1072680706
+       .long   2807708551
+       .long   3162614199
+       .long   0
+       .long   0
+       .long   142288477
+       .long   1071960443
+       .long   1256321232
+       .long   3162016428
+       .long   0
+       .long   1072693248
+       .long   925074332
+       .long   1071322730
+       .long   2134728327
+       .long   1072537893
+       .long   1886408555
+       .long   1072773770
+       .long   101893267
+       .long   1072702864
+       .long   2020085224
+       .long   1072742631
+       .long   2955803851
+       .long   1072733362
+       .long   343310803
+       .long   1072748161
+       .long   693450846
+       .long   1072654970
+       .long   3218699017
+       .long   1015418799
+       .long   0
+       .long   0
+       .long   716700048
+       .long   1071997368
+       .long   1043856658
+       .long   1015522810
+       .long   0
+       .long   1072693248
+       .long   1097907398
+       .long   1071420120
+       .long   3912524876
+       .long   1072622983
+       .long   4107784306
+       .long   1072827408
+       .long   937056065
+       .long   1072772766
+       .long   4128945134
+       .long   1072826390
+       .long   1032262383
+       .long   1072832917
+       .long   1825923576
+       .long   1072864423
+       .long   1006905258
+       .long   1072629234
+       .long   3348558652
+       .long   3159471942
+       .long   0
+       .long   0
+       .long   3841229102
+       .long   1072034903
+       .long   1782837269
+       .long   1016032992
+       .long   0
+       .long   1072693248
+       .long   866896685
+       .long   1071521786
+       .long   2743435231
+       .long   1072702700
+       .long   3017984361
+       .long   1072884608
+       .long   1491919678
+       .long   1072848040
+       .long   1507535811
+       .long   1072917857
+       .long   1966124961
+       .long   1072942914
+       .long   381628626
+       .long   1072992589
+       .long   1320359670
+       .long   1072603498
+       .long   1908355032
+       .long   3163192705
+       .long   0
+       .long   0
+       .long   343219638
+       .long   1072073077
+       .long   2238302242
+       .long   1014248160
+       .long   0
+       .long   1072693248
+       .long   3768132253
+       .long   1071627934
+       .long   3895546569
+       .long   1072749460
+       .long   1613056473
+       .long   1072945645
+       .long   3409294908
+       .long   1072929183
+       .long   3138966349
+       .long   1073017844
+       .long   3799067273
+       .long   1073064607
+       .long   359470462
+       .long   1073133087
+       .long   1633814081
+       .long   1072577762
+       .long   3941137777
+       .long   1014659019
+       .long   0
+       .long   0
+       .long   3860971117
+       .long   1072111915
+       .long   2891637204
+       .long   1015730508
+       .long   0
+       .long   1073741824
+       .long   80822128
+       .long   3219034205
+       .long   2077635078
+       .long   1072798543
+       .long   1552870456
+       .long   1073010820
+       .long   3607700650
+       .long   1073016746
+       .long   249538440
+       .long   1073127265
+       .long   2233833066
+       .long   1073199420
+       .long   2436428201
+       .long   1073293556
+       .long   1947268493
+       .long   1072552026
+       .long   1185916272
+       .long   3161855333
+       .long   0
+       .long   0
+       .long   3978924239
+       .long   1072151449
+       .long   680748782
+       .long   3163204529
+       .long   0
+       .long   1073741824
+       .long   3528982175
+       .long   3218918413
+       .long   3018376188
+       .long   1072850106
+       .long   2093086652
+       .long   1073080463
+       .long   451029217
+       .long   1073111339
+       .long   1097121536
+       .long   1073247142
+       .long   2277789226
+       .long   1073348969
+       .long   149166906
+       .long   1073478822
+       .long   2260722904
+       .long   1072526290
+       .long   3285965784
+       .long   1015852724
+       .long   0
+       .long   0
+       .long   997287281
+       .long   1072191710
+       .long   3612277486
+       .long   1015833408
+       .long   0
+       .long   1073741824
+       .long   3037674984
+       .long   3218797431
+       .long   2624215131
+       .long   1072904321
+       .long   464779768
+       .long   1073154936
+       .long   3700763630
+       .long   1073213636
+       .long   1200926910
+       .long   1073378628
+       .long   2934576429
+       .long   1073515096
+       .long   3287041855
+       .long   1073681673
+       .long   2574177316
+       .long   1072500554
+       .long   2889755040
+       .long   1013031024
+       .long   0
+       .long   0
+       .long   2079874795
+       .long   1072232729
+       .long   1885505696
+       .long   3161954077
+       .long   0
+       .long   1073741824
+       .long   1656469901
+       .long   3218670989
+       .long   823761676
+       .long   1072961373
+       .long   2491445454
+       .long   1073234634
+       .long   1584341555
+       .long   1073324391
+       .long   1976688438
+       .long   1073523018
+       .long   3918313340
+       .long   1073699902
+       .long   3178717687
+       .long   1073829019
+       .long   2887631728
+       .long   1072474818
+       .long   1841088264
+       .long   3162758780
+       .long   0
+       .long   0
+       .long   258163604
+       .long   1072274542
+       .long   3299923807
+       .long   1015128357
+       .long   0
+       .long   1073741824
+       .long   2865277319
+       .long   3218538798
+       .long   3110066496
+       .long   1073021461
+       .long   723074889
+       .long   1073319994
+       .long   1618819009
+       .long   1073444438
+       .long   1176243936
+       .long   1073681775
+       .long   1223848987
+       .long   1073823806
+       .long   2369274010
+       .long   1073957581
+       .long   3201086139
+       .long   1072449082
+       .long   4185319304
+       .long   1015274218
+       .long   0
+       .long   0
+       .long   719595600
+       .long   1072317184
+       .long   114895218
+       .long   3162143748
+       .long   0
+       .long   1073741824
+       .long   3811788216
+       .long   3218400550
+       .long   1264738948
+       .long   1073084804
+       .long   1958933439
+       .long   1073411493
+       .long   4246310163
+       .long   1073574708
+       .long   1367842247
+       .long   1073799186
+       .long   4112596162
+       .long   1073938662
+       .long   2100954442
+       .long   1074105254
+       .long   3514540551
+       .long   1072423346
+       .long   2102765473
+       .long   3160518326
+       .long   0
+       .long   0
+       .long   4189730214
+       .long   1072360693
+       .long   873070368
+       .long   1011168520
+       .long   0
+       .long   1073741824
+       .long   760634709
+       .long   3218255915
+       .long   2067827628
+       .long   1073151636
+       .long   1386756408
+       .long   1073509659
+       .long   404552634
+       .long   1073716242
+       .long   1143062645
+       .long   1073895515
+       .long   555342321
+       .long   1074067009
+       .long   3470170865
+       .long   1074271418
+       .long   3827994963
+       .long   1072397610
+       .long   941734744
+       .long   3163337286
+       .long   0
+       .long   0
+       .long   3247184626
+       .long   1072405111
+       .long   1245412628
+       .long   1014426137
+       .long   0
+       .long   1073741824
+       .long   2381906911
+       .long   3218104536
+       .long   1010924947
+       .long   1073222214
+       .long   2481381005
+       .long   1073615072
+       .long   1356661294
+       .long   1073806011
+       .long   1527070582
+       .long   1074001844
+       .long   3061693388
+       .long   1074210655
+       .long   1993183195
+       .long   1074463435
+       .long   4141449374
+       .long   1072371874
+       .long   1579411055
+       .long   1014369858
+       .long   0
+       .long   0
+       .long   166164867
+       .long   1072450480
+       .long   2304058808
+       .long   3159574198
+       .long   0
+       .long   1073741824
+       .long   2798667120
+       .long   3217812323
+       .long   4203596829
+       .long   1073296815
+       .long   1473339147
+       .long   1073728374
+       .long   4243021652
+       .long   1073889850
+       .long   1638747017
+       .long   1074119375
+       .long   1512673096
+       .long   1074371687
+       .long   2338684787
+       .long   1074678259
+       .long   159936490
+       .long   1072346139
+       .long   3547642993
+       .long   3162144494
+       .long   0
+       .long   0
+       .long   3342355758
+       .long   1072496843
+       .long   1667048854
+       .long   1014547708
+       .long   0
+       .long   1073741824
+       .long   2271288998
+       .long   3217480250
+       .long   4111284847
+       .long   1073375744
+       .long   2796272966
+       .long   1073796048
+       .long   1730314448
+       .long   1073981280
+       .long   1813001552
+       .long   1074249474
+       .long   603251414
+       .long   1074552509
+       .long   3079042420
+       .long   1074856525
+       .long   473390901
+       .long   1072320403
+       .long   4252586071
+       .long   1015708143
+       .long   0
+       .long   0
+       .long   2308259791
+       .long   1072544250
+       .long   4116261952
+       .long   1009282152
+       .long   0
+       .long   1073741824
+       .long   411343470
+       .long   3217132228
+       .long   3760686807
+       .long   1073459331
+       .long   4171367426
+       .long   1073861688
+       .long   1878500541
+       .long   1074081117
+       .long   108767834
+       .long   1074393698
+       .long   2824899539
+       .long   1074755901
+       .long   3321235986
+       .long   1074997439
+       .long   786845313
+       .long   1072294667
+       .long   627570489
+       .long   1011980987
+       .long   0
+       .long   0
+       .long   2949191430
+       .long   1072592750
+       .long   3989207545
+       .long   1015613028
+       .long   0
+       .long   1073741824
+       .long   2909112164
+       .long   3216503445
+       .long   3682557528
+       .long   1073547937
+       .long   4184421718
+       .long   1073932454
+       .long   380803270
+       .long   1074190282
+       .long   3399744364
+       .long   1074553823
+       .long   3842864947
+       .long   1074887742
+       .long   748075417
+       .long   1075157395
+       .long   1100299725
+       .long   1072268931
+       .long   874467977
+       .long   3162903361
+       .long   0
+       .long   0
+       .long   2668510354
+       .long   1072642397
+       .long   1701265160
+       .long   3159690220
+       .long   0
+       .long   1073741824
+       .long   1404962112
+       .long   3215492924
+       .long   3327263454
+       .long   1073641957
+       .long   1987673213
+       .long   1074008829
+       .long   231222583
+       .long   1074309811
+       .long   1756671652
+       .long   1074731884
+       .long   3921518313
+       .long   1075017100
+       .long   2691193077
+       .long   1075341426
+       .long   1413754136
+       .long   1072243195
+       .long   856972295
+       .long   1015129638
+       .long   0
+       .long   1072693248
+       .long   3072795147
+       .long   3218177217
+       .long   2531204756
+       .long   1014677625
+       .long   0
+       .long   1071644672
+       .long   573338107
+       .long   3216966390
+       .long   1757081539
+       .long   3216009405
+       .long   1043378852
+       .long   1067696161
+       .long   2698850995
+       .long   3213513876
+       .long   495882814
+       .long   1064911053
+       .long   3842541443
+       .long   3210988571
+       .long   2725665262
+       .long   1061135526
+       .long   1727208548
+       .long   1072217459
+       .long   2531251621
+       .long   3161096649
+       .long   0
+       .long   1072693248
+       .long   963359913
+       .long   3218157757
+       .long   2464811394
+       .long   1013284229
+       .long   0
+       .long   1071644672
+       .long   1498613974
+       .long   3216992493
+       .long   4138103782
+       .long   3215985771
+       .long   2840947366
+       .long   1067675293
+       .long   209537977
+       .long   3213463826
+       .long   3590357530
+       .long   1064864171
+       .long   73959547
+       .long   3210940132
+       .long   1511606549
+       .long   1062390487
+       .long   2040662960
+       .long   1072191723
+       .long   4270081753
+       .long   3163481866
+       .long   0
+       .long   1072693248
+       .long   4002124759
+       .long   3218138375
+       .long   3453342566
+       .long   3160907529
+       .long   0
+       .long   1071644672
+       .long   774562305
+       .long   3217018021
+       .long   377617675
+       .long   3215942442
+       .long   2495478050
+       .long   1067655031
+       .long   1508050213
+       .long   3213415186
+       .long   1921336534
+       .long   1064819067
+       .long   975923672
+       .long   3210893594
+       .long   2289965811
+       .long   1060505011
+       .long   2354117371
+       .long   1072165987
+       .long   3512651629
+       .long   1014080696
+       .long   0
+       .long   1072693248
+       .long   373017919
+       .long   3218119072
+       .long   3647199073
+       .long   3162144529
+       .long   0
+       .long   1070596096
+       .long   933359764
+       .long   1069535705
+       .long   1391441088
+       .long   3215896667
+       .long   53106651
+       .long   1067635358
+       .long   4157835043
+       .long   3213367904
+       .long   4055868050
+       .long   1064775611
+       .long   1529330423
+       .long   3210848884
+       .long   325278885
+       .long   1062325273
+       .long   2667571783
+       .long   1072140251
+       .long   1614402419
+       .long   3162433656
+       .long   0
+       .long   1072693248
+       .long   4148643959
+       .long   3218099843
+       .long   2887822595
+       .long   3161698583
+       .long   0
+       .long   1070596096
+       .long   4101770849
+       .long   1069511300
+       .long   1167052501
+       .long   3215851606
+       .long   2569727718
+       .long   1067616256
+       .long   1681502493
+       .long   3213321931
+       .long   3685967947
+       .long   1064733780
+       .long   2973319847
+       .long   3210805911
+       .long   472683240
+       .long   1062549181
+       .long   2981026194
+       .long   1072114515
+       .long   924239062
+       .long   1015563563
+       .long   0
+       .long   1072693248
+       .long   3747221382
+       .long   3218080689
+       .long   1912303920
+       .long   3161550059
+       .long   0
+       .long   1070596096
+       .long   1727686788
+       .long   1069487445
+       .long   681802874
+       .long   3215807238
+       .long   2531789465
+       .long   1067597711
+       .long   331202638
+       .long   3213277217
+       .long   2627596737
+       .long   1064693515
+       .long   566979211
+       .long   3210764596
+       .long   2424396143
+       .long   1061741710
+       .long   3294480606
+       .long   1072088779
+       .long   1489607747
+       .long   3150370331
+       .long   0
+       .long   1072693248
+       .long   1167858038
+       .long   3218043472
+       .long   2180016084
+       .long   3158357424
+       .long   0
+       .long   1070596096
+       .long   772792549
+       .long   1069464130
+       .long   3356872770
+       .long   3215763542
+       .long   3524844777
+       .long   1067579707
+       .long   1521756467
+       .long   3213233715
+       .long   3931969740
+       .long   1064654734
+       .long   2908114613
+       .long   3210710011
+       .long   3523476919
+       .long   1061374592
+       .long   3607935018
+       .long   1072063043
+       .long   4202814986
+       .long   3163047941
+       .long   0
+       .long   1072693248
+       .long   955408364
+       .long   3218005450
+       .long   2659929740
+       .long   1013295819
+       .long   0
+       .long   1070596096
+       .long   659174847
+       .long   1069441347
+       .long   2081794994
+       .long   3215720500
+       .long   2956616392
+       .long   1067562230
+       .long   1461867065
+       .long   3213191381
+       .long   879427918
+       .long   1064617384
+       .long   209598599
+       .long   3210633576
+       .long   60948554
+       .long   1061529630
+       .long   3921389429
+       .long   1072037307
+       .long   3647185164
+       .long   1014948546
+       .long   0
+       .long   1072693248
+       .long   1526324265
+       .long   3217967566
+       .long   4056331296
+       .long   1010311990
+       .long   0
+       .long   1070596096
+       .long   1830915900
+       .long   1069419088
+       .long   602185706
+       .long   3215678092
+       .long   555210277
+       .long   1067545266
+       .long   3690136761
+       .long   3213150171
+       .long   4115917121
+       .long   1064581405
+       .long   589230607
+       .long   3210560017
+       .long   3446641745
+       .long   1062382364
+       .long   4234843841
+       .long   1072011571
+       .long   1479868884
+       .long   3161565806
+       .long   0
+       .long   1072693248
+       .long   2049842017
+       .long   3217929817
+       .long   2491067243
+       .long   1013757722
+       .long   0
+       .long   1070596096
+       .long   1431833764
+       .long   1069397346
+       .long   551048935
+       .long   3215636299
+       .long   2575917112
+       .long   1067528800
+       .long   1559777140
+       .long   3213110045
+       .long   743322344
+       .long   1064546764
+       .long   1974991822
+       .long   3210489213
+       .long   3456487690
+       .long   1062460308
+       .long   253330956
+       .long   1071985836
+       .long   991505830
+       .long   1015997488
+       .long   0
+       .long   1072693248
+       .long   1894214069
+       .long   3217892200
+       .long   2182661104
+       .long   3159506151
+       .long   0
+       .long   1070596096
+       .long   1869133310
+       .long   1069376113
+       .long   1368144043
+       .long   3215595103
+       .long   242783364
+       .long   1067512821
+       .long   3692616565
+       .long   3213070961
+       .long   2890683542
+       .long   1064513419
+       .long   2407947192
+       .long   3210421028
+       .long   3811448635
+       .long   1060561671
+       .long   566785368
+       .long   1071960100
+       .long   2301849815
+       .long   1013610078
+       .long   0
+       .long   1072693248
+       .long   620845047
+       .long   3217854712
+       .long   314567190
+       .long   3160767875
+       .long   0
+       .long   1070596096
+       .long   2198158867
+       .long   1069355382
+       .long   222370857
+       .long   3215554487
+       .long   4028822361
+       .long   1067497314
+       .long   3610397327
+       .long   3213032882
+       .long   171354848
+       .long   1064481283
+       .long   693369877
+       .long   3210355362
+       .long   164303632
+       .long   1061632559
+       .long   880239780
+       .long   1071934364
+       .long   4135548218
+       .long   3162614016
+       .long   0
+       .long   1072693248
+       .long   2273547475
+       .long   3217817349
+       .long   4162051772
+       .long   3158862098
+       .long   0
+       .long   1070596096
+       .long   2392983423
+       .long   1069335146
+       .long   526970473
+       .long   3215514433
+       .long   628322840
+       .long   1067482270
+       .long   924033682
+       .long   3212995771
+       .long   854746898
+       .long   1064450346
+       .long   4004963123
+       .long   3210292086
+       .long   1474471147
+       .long   1060747995
+       .long   1193694191
+       .long   1071908628
+       .long   1890859349
+       .long   1015418982
+       .long   0
+       .long   1072693248
+       .long   2488075121
+       .long   3217780109
+       .long   1856288899
+       .long   1013767581
+       .long   0
+       .long   1070596096
+       .long   3322930631
+       .long   1069315398
+       .long   3277607933
+       .long   3215474924
+       .long   130253043
+       .long   1067467675
+       .long   1057196725
+       .long   3212959591
+       .long   3278604843
+       .long   1064420531
+       .long   4197429676
+       .long   3210231108
+       .long   1627850508
+       .long   1062399550
+       .long   1507148603
+       .long   1071882892
+       .long   1086374101
+       .long   3159470481
+       .long   0
+       .long   1072693248
+       .long   1371601499
+       .long   3217742989
+       .long   3050542164
+       .long   3159667536
+       .long   0
+       .long   1070596096
+       .long   2434996648
+       .long   1069296132
+       .long   2688049294
+       .long   3215435945
+       .long   1586964757
+       .long   1067453518
+       .long   2102156419
+       .long   3212924308
+       .long   2974407249
+       .long   1064391847
+       .long   249545848
+       .long   3210172310
+       .long   118754132
+       .long   1061128535
+       .long   1820603015
+       .long   1071857156
+       .long   3236194699
+       .long   3163192522
+       .long   0
+       .long   1072693248
+       .long   3497432648
+       .long   3217705985
+       .long   3403982176
+       .long   3159219350
+       .long   0
+       .long   1070596096
+       .long   2322009458
+       .long   1069277341
+       .long   3303184211
+       .long   3215397479
+       .long   3079386980
+       .long   1067429210
+       .long   3158396776
+       .long   3212889889
+       .long   500122468
+       .long   1064364204
+       .long   3226667041
+       .long   3210115604
+       .long   1839377740
+       .long   1062167069
+       .long   2134057426
+       .long   1071831420
+       .long   1285458442
+       .long   1014659385
+       .long   0
+       .long   1072693248
+       .long   719981842
+       .long   3217669096
+       .long   3396799415
+       .long   1013109014
+       .long   0
+       .long   1070596096
+       .long   2111724540
+       .long   1069259019
+       .long   2754706540
+       .long   3215359511
+       .long   790037588
+       .long   1067402587
+       .long   4097286835
+       .long   3212856302
+       .long   2918356813
+       .long   1064337614
+       .long   980543884
+       .long   3210060878
+       .long   1759882364
+       .long   3204685716
+       .long   2447511838
+       .long   1071805684
+       .long   3841595606
+       .long   3161854967
+       .long   0
+       .long   1072693248
+       .long   2234510834
+       .long   3217632317
+       .long   1077830624
+       .long   3156276711
+       .long   0
+       .long   1070596096
+       .long   1741599179
+       .long   1069241160
+       .long   288887764
+       .long   3215322026
+       .long   438316229
+       .long   1067376778
+       .long   2074161178
+       .long   3212810170
+       .long   2132352512
+       .long   1064311981
+       .long   321000190
+       .long   3210008077
+       .long   2574541397
+       .long   1061549566
+       .long   2760966249
+       .long   1071779948
+       .long   1958126117
+       .long   1015852907
+       .long   0
+       .long   1072693248
+       .long   212483252
+       .long   3217595647
+       .long   3496985358
+       .long   1013615952
+       .long   0
+       .long   1070596096
+       .long   1939348811
+       .long   1069223758
+       .long   1001569645
+       .long   3215285008
+       .long   764537997
+       .long   1067351764
+       .long   2326690580
+       .long   3212746141
+       .long   60750538
+       .long   1064270005
+       .long   2745665118
+       .long   3209957083
+       .long   1586280401
+       .long   1060807371
+       .long   3074420661
+       .long   1071754212
+       .long   1873363667
+       .long   1013031755
+       .long   0
+       .long   1072693248
+       .long   4156511795
+       .long   3217559081
+       .long   1791782369
+       .long   3160930544
+       .long   0
+       .long   1070596096
+       .long   4204226438
+       .long   1069206807
+       .long   2895376501
+       .long   3215248443
+       .long   3600185398
+       .long   1067327526
+       .long   2087275384
+       .long   3212683597
+       .long   347703885
+       .long   1064222543
+       .long   301495371
+       .long   3209907826
+       .long   876688468
+       .long   3206713553
+       .long   3387875073
+       .long   1071728476
+       .long   3168927931
+       .long   3162758597
+       .long   0
+       .long   1072693248
+       .long   2240974125
+       .long   3217522619
+       .long   3786179077
+       .long   1012998644
+       .long   0
+       .long   1070596096
+       .long   2199065489
+       .long   1069190303
+       .long   1118792048
+       .long   3215212318
+       .long   875809397
+       .long   1067304048
+       .long   2927616918
+       .long   3212622482
+       .long   3494337727
+       .long   1064176822
+       .long   4219965681
+       .long   3209860241
+       .long   4249954841
+       .long   1060574506
+       .long   3701329484
+       .long   1071702740
+       .long   2857479637
+       .long   1015274401
+       .long   0
+       .long   1072693248
+       .long   4257115870
+       .long   3217486256
+       .long   39728399
+       .long   3160493923
+       .long   0
+       .long   1070596096
+       .long   3207767847
+       .long   1069174239
+       .long   797077063
+       .long   3215176618
+       .long   287980713
+       .long   1067281311
+       .long   1596666478
+       .long   3212562743
+       .long   2775364
+       .long   1064132847
+       .long   3823518214
+       .long   3209814240
+       .long   3101392498
+       .long   1060290467
+       .long   4014783896
+       .long   1071677004
+       .long   3119156846
+       .long   3160517595
+       .long   0
+       .long   1072693248
+       .long   2953879462
+       .long   3217449991
+       .long   651182982
+       .long   3159737324
+       .long   0
+       .long   1070596096
+       .long   2348802841
+       .long   1069158611
+       .long   4095204310
+       .long   3215141329
+       .long   3730066556
+       .long   1067259298
+       .long   2541564470
+       .long   3212504327
+       .long   1012137407
+       .long   1064090541
+       .long   3007493349
+       .long   3209769752
+       .long   304719606
+       .long   1058732349
+       .long   33271012
+       .long   1071651269
+       .long   2269574412
+       .long   3163337103
+       .long   0
+       .long   1072693248
+       .long   4098310206
+       .long   3217413820
+       .long   678867490
+       .long   1013738598
+       .long   0
+       .long   1070596096
+       .long   4033975882
+       .long   1069143413
+       .long   1577500332
+       .long   3215106440
+       .long   2904242360
+       .long   1067237995
+       .long   383406633
+       .long   3212447185
+       .long   511745182
+       .long   1064049810
+       .long   3472404602
+       .long   3209726723
+       .long   3493824410
+       .long   1061932631
+       .long   693450846
+       .long   1071606394
+       .long   3218699017
+       .long   1014370223
+       .long   0
+       .long   1072693248
+       .long   701484222
+       .long   3217377742
+       .long   1189134796
+       .long   1013549080
+       .long   0
+       .long   1070596096
+       .long   478132658
+       .long   1069128642
+       .long   2223654597
+       .long   3215071936
+       .long   706118045
+       .long   1067217386
+       .long   1066336370
+       .long   3212391267
+       .long   3310393795
+       .long   1064010705
+       .long   1920669086
+       .long   3209678984
+       .long   1209448644
+       .long   3206743753
+       .long   1320359670
+       .long   1071554922
+       .long   1908355032
+       .long   3162144129
+       .long   0
+       .long   1072693248
+       .long   3079104278
+       .long   3217341752
+       .long   2593237472
+       .long   3159688198
+       .long   0
+       .long   1070596096
+       .long   1749059456
+       .long   1069114291
+       .long   3316773722
+       .long   3215037805
+       .long   2555119580
+       .long   1067197455
+       .long   59306268
+       .long   3212336527
+       .long   1944001738
+       .long   1063973040
+       .long   3607966944
+       .long   3209598336
+       .long   1548002341
+       .long   1061515569
+       .long   1947268493
+       .long   1071503450
+       .long   1185916272
+       .long   3160806757
+       .long   0
+       .long   1072693248
+       .long   192708373
+       .long   3217305850
+       .long   1013564964
+       .long   3160609117
+       .long   0
+       .long   1070596096
+       .long   1393443609
+       .long   1069100357
+       .long   3282624502
+       .long   3215004035
+       .long   3423023493
+       .long   1067178189
+       .long   3539283610
+       .long   3212282918
+       .long   1358653293
+       .long   1063936902
+       .long   1383848795
+       .long   3209520160
+       .long   1170879540
+       .long   3207439782
+       .long   2574177316
+       .long   1071451978
+       .long   2889755040
+       .long   1011982448
+       .long   0
+       .long   1072693248
+       .long   2595342993
+       .long   3217270031
+       .long   1222182906
+       .long   3159411259
+       .long   0
+       .long   1070596096
+       .long   2192927435
+       .long   1069086835
+       .long   1645422722
+       .long   3214970614
+       .long   648269084
+       .long   1067159575
+       .long   2319737250
+       .long   3212230398
+       .long   1121494038
+       .long   1063902126
+       .long   897314833
+       .long   3209444434
+       .long   2659165416
+       .long   1060259181
+       .long   3201086139
+       .long   1071400506
+       .long   4185319304
+       .long   1014225642
+       .long   0
+       .long   1072693248
+       .long   3772940467
+       .long   3217234294
+       .long   3998164722
+       .long   1013347606
+       .long   0
+       .long   1070596096
+       .long   3265990537
+       .long   1069073721
+       .long   3279971426
+       .long   3214937529
+       .long   2447085124
+       .long   1067141598
+       .long   1649985592
+       .long   3212178923
+       .long   3334399491
+       .long   1063868754
+       .long   454991634
+       .long   3209370985
+       .long   1938913543
+       .long   3204215126
+       .long   3827994963
+       .long   1071349034
+       .long   941734744
+       .long   3162288710
+       .long   0
+       .long   1072693248
+       .long   1615317960
+       .long   3217198637
+       .long   1400808192
+       .long   1007479474
+       .long   0
+       .long   1070596096
+       .long   55251407
+       .long   1069061012
+       .long   2380564598
+       .long   3214875524
+       .long   2078095393
+       .long   1067124247
+       .long   3759475360
+       .long   3212128451
+       .long   800747756
+       .long   1063836662
+       .long   3361780736
+       .long   3209299766
+       .long   3643416391
+       .long   1062249457
+       .long   159936490
+       .long   1071297563
+       .long   3547642993
+       .long   3161095918
+       .long   0
+       .long   1072693248
+       .long   2707383656
+       .long   3217163056
+       .long   554608178
+       .long   3160521551
+       .long   0
+       .long   1070596096
+       .long   1495139838
+       .long   1069048702
+       .long   183291521
+       .long   3214810633
+       .long   3540584774
+       .long   1067107509
+       .long   3317896890
+       .long   3212078943
+       .long   3844035447
+       .long   1063805952
+       .long   3695033041
+       .long   3209230570
+       .long   3731872264
+       .long   3207727795
+       .long   786845313
+       .long   1071246091
+       .long   627570489
+       .long   1010932411
+       .long   0
+       .long   1072693248
+       .long   850612498
+       .long   3217127550
+       .long   3957837480
+       .long   1012739461
+       .long   0
+       .long   1070596096
+       .long   4230382869
+       .long   1069036788
+       .long   2678394493
+       .long   3214746346
+       .long   42048419
+       .long   1067091374
+       .long   61549345
+       .long   3212030360
+       .long   3326100968
+       .long   1063776440
+       .long   377176410
+       .long   3209163411
+       .long   1539171840
+       .long   3206122484
+       .long   1413754136
+       .long   1071194619
+       .long   856972295
+       .long   1014081062
+       .long   0
+       .long   1072693248
+       .long   2829232582
+       .long   3217092115
+       .long   1037840994
+       .long   1012412582
+       .long   0
+       .long   1070596096
+       .long   1194701220
+       .long   1069025268
+       .long   1485063562
+       .long   3214682643
+       .long   3996610205
+       .long   1067075828
+       .long   2865183303
+       .long   3211982662
+       .long   2185691626
+       .long   1063748117
+       .long   435906073
+       .long   3209098183
+       .long   1583986254
+       .long   1061922957
+       .long   2040662960
+       .long   1071143147
+       .long   4270081753
+       .long   3162433290
+       .long   0
+       .long   1072693248
+       .long   2636871548
+       .long   3217056750
+       .long   3635907996
+       .long   3159234439
+       .long   0
+       .long   1070596096
+       .long   3074865967
+       .long   1069014136
+       .long   2827594877
+       .long   3214619501
+       .long   4018616278
+       .long   1067060863
+       .long   3744630852
+       .long   3211935814
+       .long   967547233
+       .long   1063721046
+       .long   1523268333
+       .long   3209034706
+       .long   370739821
+       .long   1057912410
+       .long   2667571783
+       .long   1071091675
+       .long   1614402419
+       .long   3161385080
+       .long   0
+       .long   1072693248
+       .long   1600848691
+       .long   3217011737
+       .long   3799011534
+       .long   3158825865
+       .long   0
+       .long   1070596096
+       .long   3940625627
+       .long   1069003390
+       .long   1694054617
+       .long   3214556900
+       .long   3525212904
+       .long   1067046468
+       .long   3400170401
+       .long   3211889780
+       .long   2025409789
+       .long   1063695095
+       .long   1861695371
+       .long   3208972985
+       .long   2099431114
+       .long   1058280175
+       .long   3294480606
+       .long   1071040203
+       .long   1489607747
+       .long   3149321755
+       .long   0
+       .long   1072693248
+       .long   163325898
+       .long   3216941271
+       .long   272531312
+       .long   3158872717
+       .long   0
+       .long   1070596096
+       .long   2709640876
+       .long   1068993027
+       .long   3241569416
+       .long   3214494818
+       .long   3499770285
+       .long   1067032633
+       .long   2428916378
+       .long   3211844525
+       .long   796870242
+       .long   1063670282
+       .long   2401385551
+       .long   3208912885
+       .long   417337253
+       .long   3207953615
+       .long   3921389429
+       .long   1070988731
+       .long   3647185164
+       .long   1013899970
+       .long   0
+       .long   1072693248
+       .long   2357811071
+       .long   3216870929
+       .long   1815527340
+       .long   3157476592
+       .long   0
+       .long   1070596096
+       .long   3138003653
+       .long   1068983043
+       .long   1253835798
+       .long   3214433236
+       .long   2444914170
+       .long   1067019349
+       .long   1113961907
+       .long   3211800015
+       .long   1725681990
+       .long   1063646503
+       .long   2521427548
+       .long   3208854407
+       .long   2469316955
+       .long   1061668474
+       .long   253330956
+       .long   1070937260
+       .long   991505830
+       .long   1014948912
+       .long   0
+       .long   1072693248
+       .long   1152452440
+       .long   3216800708
+       .long   2988871182
+       .long   1011946816
+       .long   0
+       .long   1070596096
+       .long   926263936
+       .long   1068973436
+       .long   3845070713
+       .long   3214372132
+       .long   626397172
+       .long   1067006607
+       .long   2777085683
+       .long   3211724145
+       .long   2172777456
+       .long   1063623822
+       .long   3188732906
+       .long   3208797386
+       .long   250185439
+       .long   1062033866
+       .long   880239780
+       .long   1070885788
+       .long   4135548218
+       .long   3161565440
+       .long   0
+       .long   1072693248
+       .long   2555242223
+       .long   3216730602
+       .long   1132402578
+       .long   1012350135
+       .long   0
+       .long   1070596096
+       .long   890626350
+       .long   1068964202
+       .long   3331100648
+       .long   3214311488
+       .long   30508518
+       .long   1066994398
+       .long   397665884
+       .long   3211637908
+       .long   1048931291
+       .long   1063602233
+       .long   4152525626
+       .long   3208741715
+       .long   51864355
+       .long   3208005790
+       .long   1507148603
+       .long   1070834316
+       .long   1086374101
+       .long   3158421905
+       .long   0
+       .long   1072693248
+       .long   4132779814
+       .long   3216660607
+       .long   3895880616
+       .long   1012226511
+       .long   0
+       .long   1070596096
+       .long   4069764223
+       .long   1068955338
+       .long   1936654463
+       .long   3214251284
+       .long   27137259
+       .long   1066982714
+       .long   112447739
+       .long   3211552967
+       .long   3681308921
+       .long   1063581561
+       .long   3611917249
+       .long   3208687484
+       .long   2182292750
+       .long   1061868473
+       .long   2134057426
+       .long   1070782844
+       .long   1285458442
+       .long   1013610809
+       .long   0
+       .long   1072693248
+       .long   3593905368
+       .long   3216590719
+       .long   2989246530
+       .long   1011901384
+       .long   0
+       .long   1070596096
+       .long   3421947019
+       .long   1068946843
+       .long   3144465174
+       .long   3214191500
+       .long   1618007405
+       .long   1066971547
+       .long   584787122
+       .long   3211469261
+       .long   1465845707
+       .long   1063561956
+       .long   939979903
+       .long   3208626315
+       .long   1695262346
+       .long   3204506663
+       .long   2760966249
+       .long   1070731372
+       .long   1958126117
+       .long   1014804331
+       .long   0
+       .long   1072693248
+       .long   3078460826
+       .long   3216520933
+       .long   4285081068
+       .long   3159473614
+       .long   0
+       .long   1070596096
+       .long   997373752
+       .long   1068938714
+       .long   3045840714
+       .long   3214132118
+       .long   3110377520
+       .long   1066960890
+       .long   2323415564
+       .long   3211386730
+       .long   18309569
+       .long   1063543250
+       .long   551124926
+       .long   3208522770
+       .long   249182975
+       .long   1061811122
+       .long   3387875073
+       .long   1070679900
+       .long   3168927931
+       .long   3161710021
+       .long   0
+       .long   1072693248
+       .long   561239310
+       .long   3216451245
+       .long   210497392
+       .long   3156201161
+       .long   0
+       .long   1070596096
+       .long   3636030687
+       .long   1068930947
+       .long   3167463735
+       .long   3214073119
+       .long   73152643
+       .long   1066950737
+       .long   3108019154
+       .long   3211305316
+       .long   2100498319
+       .long   1063525559
+       .long   282708930
+       .long   3208421353
+       .long   2551775895
+       .long   3207605450
+       .long   4014783896
+       .long   1070628428
+       .long   3119156846
+       .long   3159469019
+       .long   0
+       .long   1072693248
+       .long   2730856872
+       .long   3216381649
+       .long   4254293712
+       .long   1009711154
+       .long   0
+       .long   1070596096
+       .long   1486032260
+       .long   1068923542
+       .long   1824674436
+       .long   3214014485
+       .long   2488677748
+       .long   1066941079
+       .long   1925770461
+       .long   3211224962
+       .long   2531500940
+       .long   1063508710
+       .long   3007508061
+       .long   3208322267
+       .long   994458799
+       .long   1061806090
+       .long   693450846
+       .long   1070557818
+       .long   3218699017
+       .long   1013321647
+       .long   0
+       .long   1072693248
+       .long   3508967486
+       .long   3216312142
+       .long   3021155724
+       .long   1011969550
+       .long   0
+       .long   1070596096
+       .long   2356881417
+       .long   1068916495
+       .long   2655870529
+       .long   3213956197
+       .long   352865498
+       .long   1066931912
+       .long   3008575053
+       .long   3211145611
+       .long   2622088932
+       .long   1063492845
+       .long   3834913422
+       .long   3208225014
+       .long   1497815285
+       .long   3207511002
+       .long   1947268493
+       .long   1070454874
+       .long   1185916272
+       .long   3159758181
+       .long   0
+       .long   1072693248
+       .long   1224261120
+       .long   3216242720
+       .long   3122470664
+       .long   3159031070
+       .long   0
+       .long   1070596096
+       .long   1648557593
+       .long   1068909805
+       .long   1683250226
+       .long   3213898238
+       .long   2306165388
+       .long   1066923228
+       .long   2600821843
+       .long   3211067209
+       .long   3406795398
+       .long   1063477798
+       .long   3582359304
+       .long   3208129845
+       .long   3199024961
+       .long   1061038571
+       .long   3201086139
+       .long   1070351930
+       .long   4185319304
+       .long   1013177066
+       .long   0
+       .long   1072693248
+       .long   2901633254
+       .long   3216173377
+       .long   2788221280
+       .long   1009319756
+       .long   0
+       .long   1070596096
+       .long   3820542338
+       .long   1068903469
+       .long   288942435
+       .long   3213795740
+       .long   1237884341
+       .long   1066915023
+       .long   1606294444
+       .long   3210989702
+       .long   223992189
+       .long   1063463656
+       .long   1499707213
+       .long   3208036378
+       .long   3416758850
+       .long   1060053511
+       .long   159936490
+       .long   1070248987
+       .long   3547642993
+       .long   3160047342
+       .long   0
+       .long   1072693248
+       .long   2781619933
+       .long   3216104110
+       .long   3145354644
+       .long   1011963772
+       .long   0
+       .long   1070596096
+       .long   911495412
+       .long   1068897487
+       .long   290976546
+       .long   3213681030
+       .long   33241894
+       .long   1066907291
+       .long   977031819
+       .long   3210913037
+       .long   119357659
+       .long   1063450345
+       .long   1846248446
+       .long   3207944648
+       .long   4276662282
+       .long   1061269448
+       .long   1413754136
+       .long   1070146043
+       .long   856972295
+       .long   1013032486
+       .long   0
+       .long   1072693248
+       .long   3789571175
+       .long   3216034914
+       .long   2061677164
+       .long   3158802525
+       .long   0
+       .long   1070596096
+       .long   2598855658
+       .long   1068891855
+       .long   628750565
+       .long   3213566872
+       .long   2954249465
+       .long   1066900026
+       .long   1468236324
+       .long   3210837162
+       .long   3701994667
+       .long   1063437912
+       .long   310421843
+       .long   3207854373
+       .long   393637210
+       .long   3207421006
+       .long   2667571783
+       .long   1070043099
+       .long   1614402419
+       .long   3160336504
+       .long   0
+       .long   1072693248
+       .long   700360492
+       .long   3215948980
+       .long   4067889956
+       .long   3158309941
+       .long   0
+       .long   1070596096
+       .long   1834243786
+       .long   1068886573
+       .long   92010622
+       .long   3213453232
+       .long   2733460853
+       .long   1066893225
+       .long   3349627764
+       .long   3210762026
+       .long   2326014508
+       .long   1063426279
+       .long   2491557920
+       .long   3207765637
+       .long   2159546056
+       .long   3208108974
+       .long   3921389429
+       .long   1069940155
+       .long   3647185164
+       .long   1012851394
+       .long   0
+       .long   1072693248
+       .long   4008519973
+       .long   3215810847
+       .long   1156806192
+       .long   3157002565
+       .long   0
+       .long   1070596096
+       .long   608713188
+       .long   1068881639
+       .long   3200221055
+       .long   3213340075
+       .long   2024185290
+       .long   1066886883
+       .long   3737414605
+       .long   3210635448
+       .long   4102026093
+       .long   1063415403
+       .long   3274310324
+       .long   3207678452
+       .long   4280744879
+       .long   1061910091
+       .long   880239780
+       .long   1069837212
+       .long   4135548218
+       .long   3160516864
+       .long   0
+       .long   1072693248
+       .long   2381996637
+       .long   3215672832
+       .long   639270832
+       .long   1008532593
+       .long   0
+       .long   1070596096
+       .long   1358563144
+       .long   1068877051
+       .long   2925458633
+       .long   3213227369
+       .long   492833071
+       .long   1066880996
+       .long   4104628456
+       .long   3210487835
+       .long   3054991409
+       .long   1063405423
+       .long   2594255061
+       .long   3207590366
+       .long   2100320188
+       .long   3208479772
+       .long   2134057426
+       .long   1069734268
+       .long   1285458442
+       .long   1012562233
+       .long   0
+       .long   1072693248
+       .long   2319612510
+       .long   3215534925
+       .long   1111071278
+       .long   3158888695
+       .long   0
+       .long   1070596096
+       .long   2666415304
+       .long   1068872808
+       .long   2071510147
+       .long   3213115080
+       .long   3395467108
+       .long   1066875559
+       .long   2423946868
+       .long   3210341405
+       .long   80612299
+       .long   1063396131
+       .long   2656867111
+       .long   3207420929
+       .long   3004001956
+       .long   1061836610
+       .long   3387875073
+       .long   1069631324
+       .long   3168927931
+       .long   3160661445
+       .long   0
+       .long   1072693248
+       .long   1865079417
+       .long   3215397118
+       .long   2937833612
+       .long   1011350737
+       .long   0
+       .long   1070596096
+       .long   3552516355
+       .long   1068868909
+       .long   294617109
+       .long   3213003175
+       .long   76221622
+       .long   1066870571
+       .long   3376425735
+       .long   3210196061
+       .long   2723275475
+       .long   1063387705
+       .long   3315521969
+       .long   3207252871
+       .long   3590370444
+       .long   3207679867
+       .long   693450846
+       .long   1069509242
+       .long   3218699017
+       .long   1012273071
+       .long   0
+       .long   1072693248
+       .long   3481201957
+       .long   3215259402
+       .long   1636311970
+       .long   3157709699
+       .long   0
+       .long   1070596096
+       .long   3471360849
+       .long   1068865353
+       .long   2600335524
+       .long   3212891620
+       .long   2613792462
+       .long   1066866026
+       .long   3847698423
+       .long   3210051709
+       .long   663967578
+       .long   1063380003
+       .long   493409710
+       .long   3207087119
+       .long   1127477260
+       .long   3207199264
+       .long   3201086139
+       .long   1069303354
+       .long   4185319304
+       .long   1012128490
+       .long   0
+       .long   1072693248
+       .long   1154356116
+       .long   3215121770
+       .long   1840040117
+       .long   3159097207
+       .long   0
+       .long   1070596096
+       .long   2308597781
+       .long   1068862139
+       .long   4143524575
+       .long   3212723904
+       .long   2850915343
+       .long   1066861923
+       .long   1191668407
+       .long   3209908256
+       .long   2952843839
+       .long   1063373033
+       .long   3172237721
+       .long   3206923432
+       .long   2684115468
+       .long   1061237060
+       .long   1413754136
+       .long   1069097467
+       .long   856972295
+       .long   1011983910
+       .long   0
+       .long   1072693248
+       .long   1858778712
+       .long   3214984212
+       .long   552307712
+       .long   1007653492
+       .long   0
+       .long   1070596096
+       .long   378217452
+       .long   1068859266
+       .long   2507068679
+       .long   3212502004
+       .long   2446302718
+       .long   1066858259
+       .long   1361087111
+       .long   3209765608
+       .long   761263112
+       .long   1063366881
+       .long   2488333367
+       .long   3206760542
+       .long   3134826447
+       .long   3208438003
+       .long   3921389429
+       .long   1068891579
+       .long   3647185164
+       .long   1011802818
+       .long   0
+       .long   1072693248
+       .long   3847531748
+       .long   3214759425
+       .long   2484055616
+       .long   1005679197
+       .long   0
+       .long   1070596096
+       .long   2714982805
+       .long   1068856732
+       .long   2649074978
+       .long   3212280611
+       .long   4275478210
+       .long   1066855031
+       .long   2325700054
+       .long   3209556212
+       .long   3568629394
+       .long   1063361434
+       .long   1419097007
+       .long   3206599479
+       .long   3667282369
+       .long   3208404843
+       .long   2134057426
+       .long   1068685692
+       .long   1285458442
+       .long   1011513657
+       .long   0
+       .long   1072693248
+       .long   4111272116
+       .long   3214484558
+       .long   3215369808
+       .long   3153450047
+       .long   0
+       .long   1070596096
+       .long   1892298670
+       .long   1068854538
+       .long   4017792039
+       .long   3212059661
+       .long   3825916209
+       .long   1066852238
+       .long   1674419437
+       .long   3209273590
+       .long   2761556401
+       .long   1063356717
+       .long   4123887123
+       .long   3206334117
+       .long   39803485
+       .long   3207166447
+       .long   693450846
+       .long   1068460666
+       .long   3218699017
+       .long   1011224495
+       .long   0
+       .long   1072693248
+       .long   1769817487
+       .long   3214209791
+       .long   226900428
+       .long   3157084142
+       .long   0
+       .long   1070596096
+       .long   3790025843
+       .long   1068852682
+       .long   2975452701
+       .long   3211839091
+       .long   2074002222
+       .long   1066849878
+       .long   2835406423
+       .long   3208992033
+       .long   2160688582
+       .long   1063352737
+       .long   438342636
+       .long   3206016666
+       .long   598064701
+       .long   3205441692
+       .long   1413754136
+       .long   1068048891
+       .long   856972295
+       .long   1010935334
+       .long   0
+       .long   1072693248
+       .long   2796861084
+       .long   3213935106
+       .long   4160910146
+       .long   1008936729
+       .long   0
+       .long   1070596096
+       .long   1822957307
+       .long   1068851165
+       .long   2426092900
+       .long   3211449386
+       .long   1181651297
+       .long   1066847949
+       .long   11113416
+       .long   3208711363
+       .long   2350522541
+       .long   1063349490
+       .long   1110749705
+       .long   3205700769
+       .long   1529834450
+       .long   3204806002
+       .long   2134057426
+       .long   1067637116
+       .long   1285458442
+       .long   1010465081
+       .long   0
+       .long   1072693248
+       .long   766684177
+       .long   3213435536
+       .long   4183922317
+       .long   3156428395
+       .long   0
+       .long   1070596096
+       .long   2709169804
+       .long   1068849985
+       .long   2562652885
+       .long   3211009382
+       .long   194304310
+       .long   1066846450
+       .long   285423324
+       .long   3208220240
+       .long   4164698302
+       .long   1063346958
+       .long   490316583
+       .long   3205276877
+       .long   1161999017
+       .long   1059948714
+       .long   1413754136
+       .long   1067000315
+       .long   856972295
+       .long   1009886758
+       .long   0
+       .long   1072693248
+       .long   1373484687
+       .long   3212886398
+       .long   3463806808
+       .long   3156987378
+       .long   0
+       .long   1070596096
+       .long   699034059
+       .long   1068849143
+       .long   4196075177
+       .long   3210399801
+       .long   3624794075
+       .long   1066845379
+       .long   1212360239
+       .long   3207661374
+       .long   4225594870
+       .long   1063345136
+       .long   4142831282
+       .long   3204654696
+       .long   3419780486
+       .long   1061860029
+       .long   1413754136
+       .long   1065951739
+       .long   856972295
+       .long   1008838182
+       .long   0
+       .long   1072693248
+       .long   1048210722
+       .long   3211837789
+       .long   322286546
+       .long   3154320084
+       .long   0
+       .long   1070596096
+       .long   3344097458
+       .long   1068848637
+       .long   4078525744
+       .long   3209350973
+       .long   4268457311
+       .long   1066844737
+       .long   1752199129
+       .long   3206612445
+       .long   2933973771
+       .long   1063344076
+       .long   1552329397
+       .long   3203604713
+       .long   4286470131
+       .long   1060555865
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1070596096
+       .long   1431655765
+       .long   1068848469
+       .long   0
+       .long   0
+       .long   381986942
+       .long   1066844524
+       .long   0
+       .long   0
+       .long   3364860459
+       .long   1063343704
+       .long   0
+       .long   0
+       .long   3669941704
+       .long   1061551801
+       .long   1413754136
+       .long   3213435387
+       .long   856972295
+       .long   3156321830
+       .long   0
+       .long   1072693248
+       .long   1048210722
+       .long   1064354141
+       .long   310222654
+       .long   1006836436
+       .long   0
+       .long   1070596096
+       .long   3344097458
+       .long   1068848637
+       .long   4078525744
+       .long   1061867325
+       .long   4268457311
+       .long   1066844737
+       .long   1752199185
+       .long   1059128797
+       .long   2933974085
+       .long   1063344076
+       .long   1541627965
+       .long   1056121065
+       .long   4213857106
+       .long   1060555865
+       .long   1413754136
+       .long   3214483963
+       .long   856972295
+       .long   3157370406
+       .long   0
+       .long   1072693248
+       .long   1373484687
+       .long   1065402750
+       .long   3463778643
+       .long   1009503730
+       .long   0
+       .long   1070596096
+       .long   699034059
+       .long   1068849143
+       .long   4196075177
+       .long   1062916153
+       .long   3624794075
+       .long   1066845379
+       .long   1212360238
+       .long   1060177726
+       .long   4225594899
+       .long   1063345136
+       .long   4143059094
+       .long   1057171048
+       .long   3416473992
+       .long   1061860029
+       .long   2134057426
+       .long   3215120764
+       .long   1285458442
+       .long   3157948729
+       .long   0
+       .long   1072693248
+       .long   766684177
+       .long   1065951888
+       .long   4184103028
+       .long   1008944747
+       .long   0
+       .long   1070596096
+       .long   2709169804
+       .long   1068849985
+       .long   2562652885
+       .long   1063525734
+       .long   194304310
+       .long   1066846450
+       .long   285423316
+       .long   1060736592
+       .long   4164698149
+       .long   1063346958
+       .long   492080240
+       .long   1057793229
+       .long   1233082996
+       .long   1059948714
+       .long   1413754136
+       .long   3215532539
+       .long   856972295
+       .long   3158418982
+       .long   0
+       .long   1072693248
+       .long   2796861084
+       .long   1066451458
+       .long   4163800696
+       .long   3156420377
+       .long   0
+       .long   1070596096
+       .long   1822957307
+       .long   1068851165
+       .long   2426092900
+       .long   1063965738
+       .long   1181651297
+       .long   1066847949
+       .long   11113467
+       .long   1061227715
+       .long   2350524377
+       .long   1063349490
+       .long   1099629520
+       .long   1058217121
+       .long   647421766
+       .long   3204806003
+       .long   693450846
+       .long   3215944314
+       .long   3218699017
+       .long   3158708143
+       .long   0
+       .long   1072693248
+       .long   1769817487
+       .long   1066726143
+       .long   226750770
+       .long   1009600494
+       .long   0
+       .long   1070596096
+       .long   3790025843
+       .long   1068852682
+       .long   2975452701
+       .long   1064355443
+       .long   2074002222
+       .long   1066849878
+       .long   2835406424
+       .long   1061508385
+       .long   2160688720
+       .long   1063352737
+       .long   438143169
+       .long   1058533018
+       .long   848462310
+       .long   3205441692
+       .long   2134057426
+       .long   3216169340
+       .long   1285458442
+       .long   3158997305
+       .long   0
+       .long   1072693248
+       .long   4111272116
+       .long   1067000910
+       .long   3213429568
+       .long   1005966399
+       .long   0
+       .long   1070596096
+       .long   1892298670
+       .long   1068854538
+       .long   4017792039
+       .long   1064576013
+       .long   3825916209
+       .long   1066852238
+       .long   1674419438
+       .long   1061789942
+       .long   2761556545
+       .long   1063356717
+       .long   4123711083
+       .long   1058850469
+       .long   104595699
+       .long   3207166447
+       .long   3921389429
+       .long   3216375227
+       .long   3647185164
+       .long   3159286466
+       .long   0
+       .long   1072693248
+       .long   3847531748
+       .long   1067275777
+       .long   2487971824
+       .long   3153162845
+       .long   0
+       .long   1070596096
+       .long   2714982805
+       .long   1068856732
+       .long   2649074978
+       .long   1064796963
+       .long   4275478210
+       .long   1066855031
+       .long   2325700056
+       .long   1062072564
+       .long   3568629551
+       .long   1063361434
+       .long   1418922081
+       .long   1059115831
+       .long   3702148884
+       .long   3208404843
+       .long   1413754136
+       .long   3216581115
+       .long   856972295
+       .long   3159467558
+       .long   0
+       .long   1072693248
+       .long   1858778712
+       .long   1067500564
+       .long   554450480
+       .long   3155137140
+       .long   0
+       .long   1070596096
+       .long   378217452
+       .long   1068859266
+       .long   2507068679
+       .long   1065018356
+       .long   2446302718
+       .long   1066858259
+       .long   1361087112
+       .long   1062281960
+       .long   761263211
+       .long   1063366881
+       .long   2488165471
+       .long   1059276894
+       .long   3156241770
+       .long   3208438003
+       .long   3201086139
+       .long   3216787002
+       .long   4185319304
+       .long   3159612138
+       .long   0
+       .long   1072693248
+       .long   1154356116
+       .long   1067638122
+       .long   1840130764
+       .long   1011613559
+       .long   0
+       .long   1070596096
+       .long   2308597781
+       .long   1068862139
+       .long   4143524575
+       .long   1065240256
+       .long   2850915343
+       .long   1066861923
+       .long   1191668406
+       .long   1062424608
+       .long   2952843813
+       .long   1063373033
+       .long   3172428186
+       .long   1059439784
+       .long   2686776959
+       .long   1061237060
+       .long   693450846
+       .long   3216992890
+       .long   3218699017
+       .long   3159756719
+       .long   0
+       .long   1072693248
+       .long   3481201957
+       .long   1067775754
+       .long   1635996196
+       .long   1010226051
+       .long   0
+       .long   1070596096
+       .long   3471360849
+       .long   1068865353
+       .long   2600335524
+       .long   1065407972
+       .long   2613792462
+       .long   1066866026
+       .long   3847698425
+       .long   1062568061
+       .long   663967590
+       .long   1063380003
+       .long   493016801
+       .long   1059603471
+       .long   1131084659
+       .long   3207199264
+       .long   3387875073
+       .long   3217114972
+       .long   3168927931
+       .long   1013177797
+       .long   0
+       .long   1072693248
+       .long   1865079417
+       .long   1067913470
+       .long   2938003329
+       .long   3158834385
+       .long   0
+       .long   1070596096
+       .long   3552516355
+       .long   1068868909
+       .long   294617109
+       .long   1065519527
+       .long   76221622
+       .long   1066870571
+       .long   3376425737
+       .long   1062712413
+       .long   2723275461
+       .long   1063387705
+       .long   3315136619
+       .long   1059769223
+       .long   3585984604
+       .long   3207679867
+       .long   2134057426
+       .long   3217217916
+       .long   1285458442
+       .long   3160045881
+       .long   0
+       .long   1072693248
+       .long   2319612510
+       .long   1068051277
+       .long   1111303258
+       .long   1011405047
+       .long   0
+       .long   1070596096
+       .long   2666415304
+       .long   1068872808
+       .long   2071510147
+       .long   1065631432
+       .long   3395467108
+       .long   1066875559
+       .long   2423946865
+       .long   1062857757
+       .long   80612341
+       .long   1063396131
+       .long   2657457026
+       .long   1059937281
+       .long   2998464421
+       .long   1061836610
+       .long   880239780
+       .long   3217320860
+       .long   4135548218
+       .long   1013033216
+       .long   0
+       .long   1072693248
+       .long   2381996637
+       .long   1068189184
+       .long   639224640
+       .long   3156016241
+       .long   0
+       .long   1070596096
+       .long   1358563144
+       .long   1068877051
+       .long   2925458633
+       .long   1065743721
+       .long   492833071
+       .long   1066880996
+       .long   4104628456
+       .long   1063004187
+       .long   3054991518
+       .long   1063405423
+       .long   2594252722
+       .long   1060106718
+       .long   2125241622
+       .long   3208479772
+       .long   3921389429
+       .long   3217423803
+       .long   3647185164
+       .long   3160335042
+       .long   0
+       .long   1072693248
+       .long   4008519973
+       .long   1068327199
+       .long   1156786808
+       .long   1009518917
+       .long   0
+       .long   1070596096
+       .long   608713188
+       .long   1068881639
+       .long   3200221055
+       .long   1065856427
+       .long   2024185290
+       .long   1066886883
+       .long   3737414605
+       .long   1063151800
+       .long   4102026005
+       .long   1063415403
+       .long   3274311301
+       .long   1060194804
+       .long   4290805031
+       .long   1061910091
+       .long   2667571783
+       .long   3217526747
+       .long   1614402419
+       .long   1012852856
+       .long   0
+       .long   1072693248
+       .long   700360492
+       .long   1068465332
+       .long   4067897658
+       .long   1010826293
+       .long   0
+       .long   1070596096
+       .long   1834243786
+       .long   1068886573
+       .long   92010622
+       .long   1065969584
+       .long   2733460853
+       .long   1066893225
+       .long   3349627764
+       .long   1063278378
+       .long   2326014613
+       .long   1063426279
+       .long   2491557128
+       .long   1060281989
+       .long   2183550903
+       .long   3208108974
+       .long   1413754136
+       .long   3217629691
+       .long   856972295
+       .long   3160516134
+       .long   0
+       .long   1072693248
+       .long   3789571175
+       .long   1068551266
+       .long   2061680020
+       .long   1011318877
+       .long   0
+       .long   1070596096
+       .long   2598855658
+       .long   1068891855
+       .long   628750565
+       .long   1066083224
+       .long   2954249465
+       .long   1066900026
+       .long   1468236324
+       .long   1063353514
+       .long   3701994745
+       .long   1063437912
+       .long   310421258
+       .long   1060370725
+       .long   429301190
+       .long   3207421006
+       .long   159936490
+       .long   3217732635
+       .long   3547642993
+       .long   1012563694
+       .long   0
+       .long   1072693248
+       .long   2781619933
+       .long   1068620462
+       .long   3145355490
+       .long   3159447420
+       .long   0
+       .long   1070596096
+       .long   911495412
+       .long   1068897487
+       .long   290976546
+       .long   1066197382
+       .long   33241894
+       .long   1066907291
+       .long   977031819
+       .long   1063429389
+       .long   119357612
+       .long   1063450345
+       .long   1846248792
+       .long   1060461000
+       .long   4282034711
+       .long   1061269448
+       .long   3201086139
+       .long   3217835578
+       .long   4185319304
+       .long   3160660714
+       .long   0
+       .long   1072693248
+       .long   2901633254
+       .long   1068689729
+       .long   2788220944
+       .long   3156803404
+       .long   0
+       .long   1070596096
+       .long   3820542338
+       .long   1068903469
+       .long   288942435
+       .long   1066312092
+       .long   1237884341
+       .long   1066915023
+       .long   1606294444
+       .long   1063506054
+       .long   223992191
+       .long   1063463656
+       .long   1499707196
+       .long   1060552730
+       .long   3415844307
+       .long   1060053511
+       .long   1947268493
+       .long   3217938522
+       .long   1185916272
+       .long   1012274533
+       .long   0
+       .long   1072693248
+       .long   1224261120
+       .long   1068759072
+       .long   3122469562
+       .long   1011547422
+       .long   0
+       .long   1070596096
+       .long   1648557593
+       .long   1068909805
+       .long   1683250226
+       .long   1066414590
+       .long   2306165388
+       .long   1066923228
+       .long   2600821843
+       .long   1063583561
+       .long   3406795366
+       .long   1063477798
+       .long   3582359528
+       .long   1060646197
+       .long   3206340638
+       .long   1061038571
+       .long   693450846
+       .long   3218041466
+       .long   3218699017
+       .long   3160805295
+       .long   0
+       .long   1072693248
+       .long   3508967486
+       .long   1068828494
+       .long   3021154406
+       .long   3159453198
+       .long   0
+       .long   1070596096
+       .long   2356881417
+       .long   1068916495
+       .long   2655870529
+       .long   1066472549
+       .long   352865498
+       .long   1066931912
+       .long   3008575053
+       .long   1063661963
+       .long   2622089007
+       .long   1063492845
+       .long   3834912888
+       .long   1060741366
+       .long   1532107502
+       .long   3207511002
+       .long   4014783896
+       .long   3218112076
+       .long   3119156846
+       .long   1011985371
+       .long   0
+       .long   1072693248
+       .long   2730856872
+       .long   1068898001
+       .long   4254304408
+       .long   3157194802
+       .long   0
+       .long   1070596096
+       .long   1486032260
+       .long   1068923542
+       .long   1824674436
+       .long   1066530837
+       .long   2488677748
+       .long   1066941079
+       .long   1925770461
+       .long   1063741314
+       .long   2531500863
+       .long   1063508710
+       .long   3007508602
+       .long   1060838619
+       .long   1003260451
+       .long   1061806090
+       .long   3387875073
+       .long   3218163548
+       .long   3168927931
+       .long   1014226373
+       .long   0
+       .long   1072693248
+       .long   561239310
+       .long   1068967597
+       .long   210518352
+       .long   1008717513
+       .long   0
+       .long   1070596096
+       .long   3636030687
+       .long   1068930947
+       .long   3167463735
+       .long   1066589471
+       .long   73152643
+       .long   1066950737
+       .long   3108019154
+       .long   1063821668
+       .long   2100498394
+       .long   1063525559
+       .long   282708402
+       .long   1060937705
+       .long   2568921764
+       .long   3207605450
+       .long   2760966249
+       .long   3218215020
+       .long   1958126117
+       .long   3162287979
+       .long   0
+       .long   1072693248
+       .long   3078460826
+       .long   1069037285
+       .long   4285079825
+       .long   1011989966
+       .long   0
+       .long   1070596096
+       .long   997373752
+       .long   1068938714
+       .long   3045840714
+       .long   1066648470
+       .long   3110377520
+       .long   1066960890
+       .long   2323415564
+       .long   1063903082
+       .long   18309497
+       .long   1063543250
+       .long   551125427
+       .long   1061039122
+       .long   257413032
+       .long   1061811122
+       .long   2134057426
+       .long   3218266492
+       .long   1285458442
+       .long   3161094457
+       .long   0
+       .long   1072693248
+       .long   3593905368
+       .long   1069107071
+       .long   2989245764
+       .long   3159385032
+       .long   0
+       .long   1070596096
+       .long   3421947019
+       .long   1068946843
+       .long   3144465174
+       .long   1066707852
+       .long   1618007405
+       .long   1066971547
+       .long   584787122
+       .long   1063985613
+       .long   1465845750
+       .long   1063561956
+       .long   939979596
+       .long   1061142667
+       .long   1773905530
+       .long   3204506663
+       .long   1507148603
+       .long   3218317964
+       .long   1086374101
+       .long   1010938257
+       .long   0
+       .long   1072693248
+       .long   4132779814
+       .long   1069176959
+       .long   3895881848
+       .long   3159710159
+       .long   0
+       .long   1070596096
+       .long   4069764223
+       .long   1068955338
+       .long   1936654463
+       .long   1066767636
+       .long   27137259
+       .long   1066982714
+       .long   112447739
+       .long   1064069319
+       .long   3681308850
+       .long   1063581561
+       .long   3611917496
+       .long   1061203836
+       .long   2190408434
+       .long   1061868473
+       .long   880239780
+       .long   3218369436
+       .long   4135548218
+       .long   1014081792
+       .long   0
+       .long   1072693248
+       .long   2555242223
+       .long   1069246954
+       .long   1132401098
+       .long   3159833783
+       .long   0
+       .long   1070596096
+       .long   890626350
+       .long   1068964202
+       .long   3331100648
+       .long   1066827840
+       .long   30508518
+       .long   1066994398
+       .long   397665884
+       .long   1064154260
+       .long   1048931375
+       .long   1063602233
+       .long   4152525330
+       .long   1061258067
+       .long   71067649
+       .long   3208005790
+       .long   253330956
+       .long   3218420908
+       .long   991505830
+       .long   3162432560
+       .long   0
+       .long   1072693248
+       .long   1152452440
+       .long   1069317060
+       .long   2988872515
+       .long   3159430464
+       .long   0
+       .long   1070596096
+       .long   926263936
+       .long   1068973436
+       .long   3845070713
+       .long   1066888484
+       .long   626397172
+       .long   1067006607
+       .long   2777085683
+       .long   1064240497
+       .long   2172777379
+       .long   1063623822
+       .long   3188733172
+       .long   1061313738
+       .long   258986845
+       .long   1062033866
+       .long   3921389429
+       .long   3218472379
+       .long   3647185164
+       .long   3161383618
+       .long   0
+       .long   1072693248
+       .long   2357811071
+       .long   1069387281
+       .long   1815523692
+       .long   1009992944
+       .long   0
+       .long   1070596096
+       .long   3138003653
+       .long   1068983043
+       .long   1253835798
+       .long   1066949588
+       .long   2444914170
+       .long   1067019349
+       .long   1113961907
+       .long   1064316367
+       .long   1725681937
+       .long   1063646503
+       .long   2521427730
+       .long   1061370759
+       .long   2475375033
+       .long   1061668474
+       .long   3294480606
+       .long   3218523851
+       .long   1489607747
+       .long   1001838107
+       .long   0
+       .long   1072693248
+       .long   163325898
+       .long   1069457623
+       .long   272534188
+       .long   1011389069
+       .long   0
+       .long   1070596096
+       .long   2709640876
+       .long   1068993027
+       .long   3241569416
+       .long   1067011170
+       .long   3499770285
+       .long   1067032633
+       .long   2428916378
+       .long   1064360877
+       .long   796870323
+       .long   1063670282
+       .long   2401385265
+       .long   1061429237
+       .long   435854613
+       .long   3207953615
+       .long   2667571783
+       .long   3218575323
+       .long   1614402419
+       .long   1013901432
+       .long   0
+       .long   1072693248
+       .long   1600848691
+       .long   1069528089
+       .long   3799012648
+       .long   1011342217
+       .long   0
+       .long   1070596096
+       .long   3940625627
+       .long   1069003390
+       .long   1694054617
+       .long   1067073252
+       .long   3525212904
+       .long   1067046468
+       .long   3400170401
+       .long   1064406132
+       .long   2025409820
+       .long   1063695095
+       .long   1861695260
+       .long   1061489337
+       .long   2071083481
+       .long   1058280175
+       .long   2040662960
+       .long   3218626795
+       .long   4270081753
+       .long   1014949642
+       .long   0
+       .long   1072693248
+       .long   2636871548
+       .long   1069573102
+       .long   3635909220
+       .long   1011750791
+       .long   0
+       .long   1070596096
+       .long   3074865967
+       .long   1069014136
+       .long   2827594877
+       .long   1067135853
+       .long   4018616278
+       .long   1067060863
+       .long   3744630852
+       .long   1064452166
+       .long   967547267
+       .long   1063721046
+       .long   1523268212
+       .long   1061551058
+       .long   308558327
+       .long   1057912410
+       .long   1413754136
+       .long   3218678267
+       .long   856972295
+       .long   3161564710
+       .long   0
+       .long   1072693248
+       .long   2829232582
+       .long   1069608467
+       .long   1037842028
+       .long   3159896230
+       .long   0
+       .long   1070596096
+       .long   1194701220
+       .long   1069025268
+       .long   1485063562
+       .long   1067198995
+       .long   3996610205
+       .long   1067075828
+       .long   2865183303
+       .long   1064499014
+       .long   2185691567
+       .long   1063748117
+       .long   435906278
+       .long   1061614535
+       .long   1590730193
+       .long   1061922957
+       .long   786845313
+       .long   3218729739
+       .long   627570489
+       .long   3158416059
+       .long   0
+       .long   1072693248
+       .long   850612498
+       .long   1069643902
+       .long   3957836518
+       .long   3160223109
+       .long   0
+       .long   1070596096
+       .long   4230382869
+       .long   1069036788
+       .long   2678394493
+       .long   1067262698
+       .long   42048419
+       .long   1067091374
+       .long   61549345
+       .long   1064546712
+       .long   3326101021
+       .long   1063776440
+       .long   377176219
+       .long   1061679763
+       .long   1587637306
+       .long   3206122484
+       .long   159936490
+       .long   3218781211
+       .long   3547642993
+       .long   1013612270
+       .long   0
+       .long   1072693248
+       .long   2707383656
+       .long   1069679408
+       .long   554608849
+       .long   1013037903
+       .long   0
+       .long   1070596096
+       .long   1495139838
+       .long   1069048702
+       .long   183291521
+       .long   1067326985
+       .long   3540584774
+       .long   1067107509
+       .long   3317896890
+       .long   1064595295
+       .long   3844035522
+       .long   1063805952
+       .long   3695032775
+       .long   1061746922
+       .long   3749017783
+       .long   3207727795
+       .long   3827994963
+       .long   3218832682
+       .long   941734744
+       .long   1014805062
+       .long   0
+       .long   1072693248
+       .long   1615317960
+       .long   1069714989
+       .long   1400849280
+       .long   3154963122
+       .long   0
+       .long   1070596096
+       .long   55251407
+       .long   1069061012
+       .long   2380564598
+       .long   1067391876
+       .long   2078095393
+       .long   1067124247
+       .long   3759475360
+       .long   1064644803
+       .long   800747683
+       .long   1063836662
+       .long   3361780990
+       .long   1061816118
+       .long   3647588455
+       .long   1062249457
+       .long   3201086139
+       .long   3218884154
+       .long   4185319304
+       .long   3161709290
+       .long   0
+       .long   1072693248
+       .long   3772940467
+       .long   1069750646
+       .long   3998164292
+       .long   3160831254
+       .long   0
+       .long   1070596096
+       .long   3265990537
+       .long   1069073721
+       .long   3279971426
+       .long   1067453881
+       .long   2447085124
+       .long   1067141598
+       .long   1649985592
+       .long   1064695275
+       .long   3334399538
+       .long   1063868754
+       .long   454991464
+       .long   1061887337
+       .long   2110827584
+       .long   3204215126
+       .long   2574177316
+       .long   3218935626
+       .long   2889755040
+       .long   3159466096
+       .long   0
+       .long   1072693248
+       .long   2595342993
+       .long   1069786383
+       .long   1222183174
+       .long   1011927611
+       .long   0
+       .long   1070596096
+       .long   2192927435
+       .long   1069086835
+       .long   1645422722
+       .long   1067486966
+       .long   648269084
+       .long   1067159575
+       .long   2319737250
+       .long   1064746750
+       .long   1121494052
+       .long   1063902126
+       .long   897314780
+       .long   1061960786
+       .long   2655964904
+       .long   1060259181
+       .long   1947268493
+       .long   3218987098
+       .long   1185916272
+       .long   1013323109
+       .long   0
+       .long   1072693248
+       .long   192708373
+       .long   1069822202
+       .long   1013565611
+       .long   1013125469
+       .long   0
+       .long   1070596096
+       .long   1393443609
+       .long   1069100357
+       .long   3282624502
+       .long   1067520387
+       .long   3423023493
+       .long   1067178189
+       .long   3539283610
+       .long   1064799270
+       .long   1358653364
+       .long   1063936902
+       .long   1383848540
+       .long   1062036512
+       .long   1203341716
+       .long   3207439782
+       .long   1320359670
+       .long   3219038570
+       .long   1908355032
+       .long   1014660481
+       .long   0
+       .long   1072693248
+       .long   3079104278
+       .long   1069858104
+       .long   2593237048
+       .long   1012204550
+       .long   0
+       .long   1070596096
+       .long   1749059456
+       .long   1069114291
+       .long   3316773722
+       .long   1067554157
+       .long   2555119580
+       .long   1067197455
+       .long   59306268
+       .long   1064852879
+       .long   1944001714
+       .long   1063973040
+       .long   3607967027
+       .long   1062114688
+       .long   1550745665
+       .long   1061515569
+       .long   693450846
+       .long   3219090042
+       .long   3218699017
+       .long   3161853871
+       .long   0
+       .long   1072693248
+       .long   701484222
+       .long   1069894094
+       .long   1189134214
+       .long   3161032728
+       .long   0
+       .long   1070596096
+       .long   478132658
+       .long   1069128642
+       .long   2223654597
+       .long   1067588288
+       .long   706118045
+       .long   1067217386
+       .long   1066336370
+       .long   1064907619
+       .long   3310393859
+       .long   1064010705
+       .long   1920668857
+       .long   1062195336
+       .long   1238710124
+       .long   3206743753
+       .long   33271012
+       .long   3219134917
+       .long   2269574412
+       .long   1015853455
+       .long   0
+       .long   1072693248
+       .long   4098310206
+       .long   1069930172
+       .long   678867859
+       .long   3161222246
+       .long   0
+       .long   1070596096
+       .long   4033975882
+       .long   1069143413
+       .long   1577500332
+       .long   1067622792
+       .long   2904242360
+       .long   1067237995
+       .long   383406633
+       .long   1064963537
+       .long   511745140
+       .long   1064049810
+       .long   3472404675
+       .long   1062243075
+       .long   3498625096
+       .long   1061932631
+       .long   4014783896
+       .long   3219160652
+       .long   3119156846
+       .long   1013033947
+       .long   0
+       .long   1072693248
+       .long   2953879462
+       .long   1069966343
+       .long   651183718
+       .long   1012253676
+       .long   0
+       .long   1070596096
+       .long   2348802841
+       .long   1069158611
+       .long   4095204310
+       .long   1067657681
+       .long   3730066556
+       .long   1067259298
+       .long   2541564470
+       .long   1065020679
+       .long   1012137447
+       .long   1064090541
+       .long   3007493277
+       .long   1062286104
+       .long   268143184
+       .long   1058732349
+       .long   3701329484
+       .long   3219186388
+       .long   2857479637
+       .long   3162758049
+       .long   0
+       .long   1072693248
+       .long   4257115870
+       .long   1070002608
+       .long   39728604
+       .long   1013010275
+       .long   0
+       .long   1070596096
+       .long   3207767847
+       .long   1069174239
+       .long   797077063
+       .long   1067692970
+       .long   287980713
+       .long   1067281311
+       .long   1596666478
+       .long   1065079095
+       .long   2775385
+       .long   1064132847
+       .long   3823518174
+       .long   1062330592
+       .long   3096591665
+       .long   1060290467
+       .long   3387875073
+       .long   3219212124
+       .long   3168927931
+       .long   1015274949
+       .long   0
+       .long   1072693248
+       .long   2240974125
+       .long   1070038971
+       .long   3786178918
+       .long   3160482292
+       .long   0
+       .long   1070596096
+       .long   2199065489
+       .long   1069190303
+       .long   1118792048
+       .long   1067728670
+       .long   875809397
+       .long   1067304048
+       .long   2927616918
+       .long   1065138834
+       .long   3494337743
+       .long   1064176822
+       .long   4219965650
+       .long   1062376593
+       .long   4246297104
+       .long   1060574506
+       .long   3074420661
+       .long   3219237860
+       .long   1873363667
+       .long   3160515403
+       .long   0
+       .long   1072693248
+       .long   4156511795
+       .long   1070075433
+       .long   1791783009
+       .long   1013446896
+       .long   0
+       .long   1070596096
+       .long   4204226438
+       .long   1069206807
+       .long   2895376501
+       .long   1067764795
+       .long   3600185398
+       .long   1067327526
+       .long   2087275384
+       .long   1065199949
+       .long   347703954
+       .long   1064222543
+       .long   301495246
+       .long   1062424178
+       .long   908235914
+       .long   3206713553
+       .long   2760966249
+       .long   3219263596
+       .long   1958126117
+       .long   3163336555
+       .long   0
+       .long   1072693248
+       .long   212483252
+       .long   1070111999
+       .long   3496985219
+       .long   3161099600
+       .long   0
+       .long   1070596096
+       .long   1939348811
+       .long   1069223758
+       .long   1001569645
+       .long   1067801360
+       .long   764537997
+       .long   1067351764
+       .long   2326690580
+       .long   1065262493
+       .long   60750552
+       .long   1064270005
+       .long   2745665091
+       .long   1062473435
+       .long   1583079917
+       .long   1060807371
+       .long   2447511838
+       .long   3219289332
+       .long   3841595606
+       .long   1014371319
+       .long   0
+       .long   1072693248
+       .long   2234510834
+       .long   1070148669
+       .long   1077829152
+       .long   1008793063
+       .long   0
+       .long   1070596096
+       .long   1741599179
+       .long   1069241160
+       .long   288887764
+       .long   1067838378
+       .long   438316229
+       .long   1067376778
+       .long   2074161178
+       .long   1065326522
+       .long   2132352506
+       .long   1064311981
+       .long   321000208
+       .long   1062524429
+       .long   2575912902
+       .long   1061549566
+       .long   2134057426
+       .long   3219315068
+       .long   1285458442
+       .long   3162143033
+       .long   0
+       .long   1072693248
+       .long   719981842
+       .long   1070185448
+       .long   3396798827
+       .long   3160592662
+       .long   0
+       .long   1070596096
+       .long   2111724540
+       .long   1069259019
+       .long   2754706540
+       .long   1067875863
+       .long   790037588
+       .long   1067402587
+       .long   4097286835
+       .long   1065372654
+       .long   2918356845
+       .long   1064337614
+       .long   980543769
+       .long   1062577230
+       .long   1876925371
+       .long   3204685716
+       .long   1820603015
+       .long   3219340804
+       .long   3236194699
+       .long   1015708874
+       .long   0
+       .long   1072693248
+       .long   3497432648
+       .long   1070222337
+       .long   3403980908
+       .long   1011735702
+       .long   0
+       .long   1070596096
+       .long   2322009458
+       .long   1069277341
+       .long   3303184211
+       .long   1067913831
+       .long   3079386980
+       .long   1067429210
+       .long   3158396776
+       .long   1065406241
+       .long   500122450
+       .long   1064364204
+       .long   3226667103
+       .long   1062631956
+       .long   1843492548
+       .long   1062167069
+       .long   1507148603
+       .long   3219366540
+       .long   1086374101
+       .long   1011986833
+       .long   0
+       .long   1072693248
+       .long   1371601499
+       .long   1070259341
+       .long   3050542448
+       .long   1012183888
+       .long   0
+       .long   1070596096
+       .long   2434996648
+       .long   1069296132
+       .long   2688049294
+       .long   1067952297
+       .long   1586964757
+       .long   1067453518
+       .long   2102156419
+       .long   1065440660
+       .long   2974407256
+       .long   1064391847
+       .long   249545820
+       .long   1062688662
+       .long   115553579
+       .long   1061128535
+       .long   1193694191
+       .long   3219392276
+       .long   1890859349
+       .long   3162902630
+       .long   0
+       .long   1072693248
+       .long   2488075121
+       .long   1070296461
+       .long   1856289345
+       .long   3161251229
+       .long   0
+       .long   1070596096
+       .long   3322930631
+       .long   1069315398
+       .long   3277607933
+       .long   1067991276
+       .long   130253043
+       .long   1067467675
+       .long   1057196725
+       .long   1065475943
+       .long   3278604818
+       .long   1064420531
+       .long   4197429763
+       .long   1062747460
+       .long   1630708049
+       .long   1062399550
+       .long   880239780
+       .long   3219418012
+       .long   4135548218
+       .long   1015130368
+       .long   0
+       .long   1072693248
+       .long   2273547475
+       .long   1070333701
+       .long   4162052844
+       .long   1011378450
+       .long   0
+       .long   1070596096
+       .long   2392983423
+       .long   1069335146
+       .long   526970473
+       .long   1068030785
+       .long   628322840
+       .long   1067482270
+       .long   924033682
+       .long   1065512123
+       .long   854746912
+       .long   1064450346
+       .long   4004963071
+       .long   1062808438
+       .long   1468070334
+       .long   1060747995
+       .long   566785368
+       .long   3219443748
+       .long   2301849815
+       .long   3161093726
+       .long   0
+       .long   1072693248
+       .long   620845047
+       .long   1070371064
+       .long   314567191
+       .long   1013284227
+       .long   0
+       .long   1070596096
+       .long   2198158867
+       .long   1069355382
+       .long   222370857
+       .long   1068070839
+       .long   4028822361
+       .long   1067497314
+       .long   3610397327
+       .long   1065549234
+       .long   171354847
+       .long   1064481283
+       .long   693369877
+       .long   1062871714
+       .long   164532117
+       .long   1061632559
+       .long   253330956
+       .long   3219469484
+       .long   991505830
+       .long   3163481136
+       .long   0
+       .long   1072693248
+       .long   1894214069
+       .long   1070408552
+       .long   2182661802
+       .long   1012022503
+       .long   0
+       .long   1070596096
+       .long   1869133310
+       .long   1069376113
+       .long   1368144043
+       .long   1068111455
+       .long   242783364
+       .long   1067512821
+       .long   3692616565
+       .long   1065587313
+       .long   2890683560
+       .long   1064513419
+       .long   2407947124
+       .long   1062937380
+       .long   3803218812
+       .long   1060561671
+       .long   4234843841
+       .long   3219495219
+       .long   1479868884
+       .long   1014082158
+       .long   0
+       .long   1072693248
+       .long   2049842017
+       .long   1070446169
+       .long   2491067638
+       .long   3161241370
+       .long   0
+       .long   1070596096
+       .long   1431833764
+       .long   1069397346
+       .long   551048935
+       .long   1068152651
+       .long   2575917112
+       .long   1067528800
+       .long   1559777140
+       .long   1065626397
+       .long   743322322
+       .long   1064546764
+       .long   1974991899
+       .long   1063005565
+       .long   3459002328
+       .long   1062460308
+       .long   3921389429
+       .long   3219520955
+       .long   3647185164
+       .long   3162432194
+       .long   0
+       .long   1072693248
+       .long   1526324265
+       .long   1070483918
+       .long   4056333712
+       .long   3157795638
+       .long   0
+       .long   1070596096
+       .long   1830915900
+       .long   1069419088
+       .long   602185706
+       .long   1068194444
+       .long   555210277
+       .long   1067545266
+       .long   3690136761
+       .long   1065666523
+       .long   4115917104
+       .long   1064581405
+       .long   589230666
+       .long   1063076369
+       .long   3448584873
+       .long   1062382364
+       .long   3607935018
+       .long   3219546691
+       .long   4202814986
+       .long   1015564293
+       .long   0
+       .long   1072693248
+       .long   955408364
+       .long   1070521802
+       .long   2659929592
+       .long   3160779467
+       .long   0
+       .long   1070596096
+       .long   659174847
+       .long   1069441347
+       .long   2081794994
+       .long   1068236852
+       .long   2956616392
+       .long   1067562230
+       .long   1461867065
+       .long   1065707733
+       .long   879427925
+       .long   1064617384
+       .long   209598570
+       .long   1063149928
+       .long   59348277
+       .long   1061529630
+       .long   3294480606
+       .long   3219572427
+       .long   1489607747
+       .long   1002886683
+       .long   0
+       .long   1072693248
+       .long   1167858038
+       .long   1070559824
+       .long   2180017056
+       .long   1010873776
+       .long   0
+       .long   1070596096
+       .long   772792549
+       .long   1069464130
+       .long   3356872770
+       .long   1068279894
+       .long   3524844777
+       .long   1067579707
+       .long   1521756467
+       .long   1065750067
+       .long   3931969752
+       .long   1064654734
+       .long   2908114566
+       .long   1063226363
+       .long   3520733649
+       .long   1061374592
+       .long   2981026194
+       .long   3219598163
+       .long   924239062
+       .long   3163047211
+       .long   0
+       .long   1072693248
+       .long   3747221382
+       .long   1070597041
+       .long   1912303979
+       .long   1014066411
+       .long   0
+       .long   1070596096
+       .long   1727686788
+       .long   1069487445
+       .long   681802874
+       .long   1068323590
+       .long   2531789465
+       .long   1067597711
+       .long   331202638
+       .long   1065793569
+       .long   2627596742
+       .long   1064693515
+       .long   566979200
+       .long   1063280948
+       .long   2423252998
+       .long   1061741710
+       .long   2667571783
+       .long   3219623899
+       .long   1614402419
+       .long   1014950008
+       .long   0
+       .long   1072693248
+       .long   4148643959
+       .long   1070616195
+       .long   2887822437
+       .long   1014214935
+       .long   0
+       .long   1070596096
+       .long   4101770849
+       .long   1069511300
+       .long   1167052501
+       .long   1068367958
+       .long   2569727718
+       .long   1067616256
+       .long   1681502493
+       .long   1065838283
+       .long   3685967929
+       .long   1064733780
+       .long   2973319878
+       .long   1063322263
+       .long   474740638
+       .long   1062549181
+       .long   2354117371
+       .long   3219649635
+       .long   3512651629
+       .long   3161564344
+       .long   0
+       .long   1072693248
+       .long   373017919
+       .long   1070635424
+       .long   3647199022
+       .long   1014660881
+       .long   0
+       .long   1070596096
+       .long   933359764
+       .long   1069535705
+       .long   1391441088
+       .long   1068413019
+       .long   53106651
+       .long   1067635358
+       .long   4157835043
+       .long   1065884256
+       .long   4055868043
+       .long   1064775611
+       .long   1529330433
+       .long   1063365236
+       .long   326078913
+       .long   1062325273
+       .long   2040662960
+       .long   3219675371
+       .long   4270081753
+       .long   1015998218
+       .long   0
+       .long   1072693248
+       .long   4002124759
+       .long   1070654727
+       .long   3453343154
+       .long   1013423881
+       .long   0
+       .long   1071644672
+       .long   774562305
+       .long   3217018021
+       .long   377617675
+       .long   1068458794
+       .long   2495478050
+       .long   1067655031
+       .long   1508050213
+       .long   1065931538
+       .long   1921336565
+       .long   1064819067
+       .long   975923615
+       .long   1063409946
+       .long   2275792800
+       .long   1060505011
+       .long   1727208548
+       .long   3219701107
+       .long   2531251621
+       .long   1013613001
+       .long   0
+       .long   1072693248
+       .long   963359913
+       .long   1070674109
+       .long   2464811476
+       .long   3160767877
+       .long   0
+       .long   1071644672
+       .long   1498613974
+       .long   3216992493
+       .long   4138103782
+       .long   1068502123
+       .long   2840947366
+       .long   1067675293
+       .long   209537977
+       .long   1065980178
+       .long   3590357525
+       .long   1064864171
+       .long   73959555
+       .long   1063456484
+       .long   1512178095
+       .long   1062390487
+       .long   1413754136
+       .long   3219726843
+       .long   856972295
+       .long   3162613286
+       .long   0
+       .long   0
+       .long   0
+       .long   3220176896
+       .long   1994327296
+       .long   1006932657
+       .long   0
+       .long   1073741824
+       .long   0
+       .long   0
+       .long   266
+       .long   3221225472
+       .long   1431655956
+       .long   1074091349
+       .long   2828070733
+       .long   3221924522
+       .long   268536947
+       .long   1074860305
+       .long   4220652043
+       .long   3222647048
+       .long   3597047153
+       .long   1075552901
+       .long   1100299725
+       .long   3219752579
+       .long   874467977
+       .long   1015419713
+       .long   0
+       .long   0
+       .long   2668510354
+       .long   3220126045
+       .long   1701998120
+       .long   1012206572
+       .long   0
+       .long   1073741824
+       .long   1404962112
+       .long   3215492924
+       .long   3327263454
+       .long   3221125605
+       .long   1987673213
+       .long   1074008829
+       .long   231222583
+       .long   3221793459
+       .long   1756671652
+       .long   1074731884
+       .long   3921518330
+       .long   3222500748
+       .long   2691193109
+       .long   1075341426
+       .long   786845313
+       .long   3219778315
+       .long   627570489
+       .long   3159464635
+       .long   0
+       .long   0
+       .long   2949191430
+       .long   3220076398
+       .long   3989126963
+       .long   3163096676
+       .long   0
+       .long   1073741824
+       .long   2909112164
+       .long   3216503445
+       .long   3682557528
+       .long   3221031585
+       .long   4184421718
+       .long   1073932454
+       .long   380803270
+       .long   3221673930
+       .long   3399744364
+       .long   1074553823
+       .long   3842864962
+       .long   3222371390
+       .long   748075446
+       .long   1075157395
+       .long   473390901
+       .long   3219804051
+       .long   4252586071
+       .long   3163191791
+       .long   0
+       .long   0
+       .long   2308259791
+       .long   3220027898
+       .long   4111771200
+       .long   3156765800
+       .long   0
+       .long   1073741824
+       .long   411343470
+       .long   3217132228
+       .long   3760686807
+       .long   3220942979
+       .long   4171367426
+       .long   1073861688
+       .long   1878500541
+       .long   3221564765
+       .long   108767834
+       .long   1074393698
+       .long   2824899565
+       .long   3222239549
+       .long   3321236009
+       .long   1074997439
+       .long   159936490
+       .long   3219829787
+       .long   3547642993
+       .long   1014660846
+       .long   0
+       .long   0
+       .long   3342355758
+       .long   3219980491
+       .long   1666924640
+       .long   3162031356
+       .long   0
+       .long   1073741824
+       .long   2271288998
+       .long   3217480250
+       .long   4111284847
+       .long   3220859392
+       .long   2796272966
+       .long   1073796048
+       .long   1730314448
+       .long   3221464928
+       .long   1813001552
+       .long   1074249474
+       .long   603251437
+       .long   3222036157
+       .long   3079042443
+       .long   1074856525
+       .long   4141449374
+       .long   3219855522
+       .long   1579411055
+       .long   3161853506
+       .long   0
+       .long   0
+       .long   166164867
+       .long   3219934128
+       .long   2304492376
+       .long   1012090550
+       .long   0
+       .long   1073741824
+       .long   2798667120
+       .long   3217812323
+       .long   4203596829
+       .long   3220780463
+       .long   1473339147
+       .long   1073728374
+       .long   4243021652
+       .long   3221373498
+       .long   1638747017
+       .long   1074119375
+       .long   1512673116
+       .long   3221855335
+       .long   2338684822
+       .long   1074678259
+       .long   3827994963
+       .long   3219881258
+       .long   941734744
+       .long   1015853638
+       .long   0
+       .long   0
+       .long   3247184626
+       .long   3219888759
+       .long   1245319390
+       .long   3161909785
+       .long   0
+       .long   1073741824
+       .long   2381906911
+       .long   3218104536
+       .long   1010924947
+       .long   3220705862
+       .long   2481381005
+       .long   1073615072
+       .long   1356661294
+       .long   3221289659
+       .long   1527070583
+       .long   1074001844
+       .long   3061693405
+       .long   3221694303
+       .long   1993154673
+       .long   1074463435
+       .long   3514540551
+       .long   3219906994
+       .long   2102765473
+       .long   1013034678
+       .long   0
+       .long   0
+       .long   4189730214
+       .long   3219844341
+       .long   872357632
+       .long   3158652168
+       .long   0
+       .long   1073741824
+       .long   760634709
+       .long   3218255915
+       .long   2067827628
+       .long   3220635284
+       .long   1386756408
+       .long   1073509659
+       .long   404552634
+       .long   3221199890
+       .long   1143062644
+       .long   1073895515
+       .long   555342338
+       .long   3221550657
+       .long   3470199450
+       .long   1074271418
+       .long   3201086139
+       .long   3219932730
+       .long   4185319304
+       .long   3162757866
+       .long   0
+       .long   0
+       .long   719595600
+       .long   3219800832
+       .long   114970824
+       .long   1014660100
+       .long   0
+       .long   1073741824
+       .long   3811788216
+       .long   3218400550
+       .long   1264738948
+       .long   3220568452
+       .long   1958933439
+       .long   1073411493
+       .long   4246310163
+       .long   3221058356
+       .long   1367842247
+       .long   1073799186
+       .long   4112596176
+       .long   3221422310
+       .long   2100954469
+       .long   1074105254
+       .long   2887631728
+       .long   3219958466
+       .long   1841088264
+       .long   1015275132
+       .long   0
+       .long   0
+       .long   258163604
+       .long   3219758190
+       .long   3299889334
+       .long   3162612005
+       .long   0
+       .long   1073741824
+       .long   2865277319
+       .long   3218538798
+       .long   3110066496
+       .long   3220505109
+       .long   723074889
+       .long   1073319994
+       .long   1618819009
+       .long   3220928086
+       .long   1176243935
+       .long   1073681775
+       .long   1223849000
+       .long   3221307454
+       .long   2369288310
+       .long   1073957581
+       .long   2574177316
+       .long   3219984202
+       .long   2889755040
+       .long   3160514672
+       .long   0
+       .long   0
+       .long   2079874795
+       .long   3219716377
+       .long   1885564844
+       .long   1014470429
+       .long   0
+       .long   1073741824
+       .long   1656469901
+       .long   3218670989
+       .long   823761676
+       .long   3220445021
+       .long   2491445454
+       .long   1073234634
+       .long   1584341555
+       .long   3220808039
+       .long   1976688438
+       .long   1073523018
+       .long   3918313362
+       .long   3221183550
+       .long   3178717701
+       .long   1073829019
+       .long   2260722904
+       .long   3220009938
+       .long   3285965784
+       .long   3163336372
+       .long   0
+       .long   0
+       .long   997287281
+       .long   3219675358
+       .long   3612251184
+       .long   3163317056
+       .long   0
+       .long   1073741824
+       .long   3037674984
+       .long   3218797431
+       .long   2624215131
+       .long   3220387969
+       .long   464779768
+       .long   1073154936
+       .long   3700763630
+       .long   3220697284
+       .long   1200926910
+       .long   1073378628
+       .long   2934576448
+       .long   3220998744
+       .long   3287041894
+       .long   1073681673
+       .long   1947268493
+       .long   3220035674
+       .long   1185916272
+       .long   1014371685
+       .long   0
+       .long   0
+       .long   3978924239
+       .long   3219635097
+       .long   680771999
+       .long   1015720881
+       .long   0
+       .long   1073741824
+       .long   3528982175
+       .long   3218918413
+       .long   3018376188
+       .long   3220333754
+       .long   2093086652
+       .long   1073080463
+       .long   451029217
+       .long   3220594987
+       .long   1097121537
+       .long   1073247142
+       .long   2277789243
+       .long   3220832617
+       .long   149138386
+       .long   1073478822
+       .long   1633814081
+       .long   3220061410
+       .long   3941137777
+       .long   3162142667
+       .long   0
+       .long   0
+       .long   3860971117
+       .long   3219595563
+       .long   2891614774
+       .long   3163214156
+       .long   0
+       .long   1073741824
+       .long   80822128
+       .long   3219034205
+       .long   2077635078
+       .long   3220282191
+       .long   1552870456
+       .long   1073010820
+       .long   3607700650
+       .long   3220500394
+       .long   249538439
+       .long   1073127265
+       .long   2233833083
+       .long   3220683068
+       .long   2436456793
+       .long   1073293556
+       .long   1320359670
+       .long   3220087146
+       .long   1908355032
+       .long   1015709057
+       .long   0
+       .long   0
+       .long   343219638
+       .long   3219556725
+       .long   2238262736
+       .long   3161731808
+       .long   0
+       .long   1072693248
+       .long   3768132253
+       .long   1071627934
+       .long   3895546569
+       .long   3220233108
+       .long   1613056473
+       .long   1072945645
+       .long   3409294908
+       .long   3220412831
+       .long   3138966349
+       .long   1073017844
+       .long   3799067288
+       .long   3220548255
+       .long   359470498
+       .long   1073133087
+       .long   1006905258
+       .long   3220112882
+       .long   3348558652
+       .long   1011988294
+       .long   0
+       .long   0
+       .long   3841229102
+       .long   3219518551
+       .long   1782820117
+       .long   3163516640
+       .long   0
+       .long   1072693248
+       .long   866896685
+       .long   1071521786
+       .long   2743435231
+       .long   3220186348
+       .long   3017984361
+       .long   1072884608
+       .long   1491919678
+       .long   3220331688
+       .long   1507535811
+       .long   1072917857
+       .long   1966124974
+       .long   3220426562
+       .long   381628641
+       .long   1072992589
+       .long   693450846
+       .long   3220138618
+       .long   3218699017
+       .long   3162902447
+       .long   0
+       .long   0
+       .long   716700048
+       .long   3219481016
+       .long   1043841701
+       .long   3163006458
+       .long   0
+       .long   1072693248
+       .long   1097907398
+       .long   1071420120
+       .long   3912524876
+       .long   3220106631
+       .long   4107784306
+       .long   1072827408
+       .long   937056065
+       .long   3220256414
+       .long   4128945134
+       .long   1072826390
+       .long   1032262394
+       .long   3220316565
+       .long   1825923585
+       .long   1072864423
+       .long   379996435
+       .long   3220164354
+       .long   2807708551
+       .long   1015130551
+       .long   0
+       .long   0
+       .long   142288477
+       .long   3219444091
+       .long   1256348500
+       .long   1014532780
+       .long   0
+       .long   1072693248
+       .long   925074332
+       .long   1071322730
+       .long   2134728327
+       .long   3220021541
+       .long   1886408555
+       .long   1072773770
+       .long   101893267
+       .long   3220186512
+       .long   2020085224
+       .long   1072742631
+       .long   2955803861
+       .long   3220217010
+       .long   343310816
+       .long   1072748161
+       .long   33271012
+       .long   3220183493
+       .long   2269574412
+       .long   1016902031
+       .long   0
+       .long   0
+       .long   3684492763
+       .long   3219407750
+       .long   2905890526
+       .long   1015709561
+       .long   0
+       .long   1072693248
+       .long   585640690
+       .long   1071229422
+       .long   1068301595
+       .long   3219940277
+       .long   2953900489
+       .long   1072723440
+       .long   950237889
+       .long   3220066167
+       .long   109735425
+       .long   1072638455
+       .long   792610979
+       .long   3220076689
+       .long   2904190292
+       .long   1072594405
+       .long   4171511102
+       .long   3220196360
+       .long   987810900
+       .long   1016106563
+       .long   0
+       .long   0
+       .long   681498355
+       .long   3219371971
+       .long   3542625299
+       .long   1015827699
+       .long   0
+       .long   1072693248
+       .long   168222332
+       .long   1071140014
+       .long   776736583
+       .long   3219862604
+       .long   2405401100
+       .long   1072659128
+       .long   430546584
+       .long   3219945234
+       .long   2974083786
+       .long   1072497552
+       .long   849442068
+       .long   3219912970
+       .long   2727451532
+       .long   1072409680
+       .long   4014783896
+       .long   3220209228
+       .long   3119156846
+       .long   1014082523
+       .long   0
+       .long   0
+       .long   2298773501
+       .long   3219336728
+       .long   4027807132
+       .long   1015090440
+       .long   0
+       .long   1072693248
+       .long   312748411
+       .long   1071054335
+       .long   2723913091
+       .long   3219788303
+       .long   3207063211
+       .long   1072570353
+       .long   1845780128
+       .long   3219832588
+       .long   752659336
+       .long   1072368142
+       .long   1097207453
+       .long   3219764237
+       .long   407427403
+       .long   1072246732
+       .long   3858056690
+       .long   3220222096
+       .long   2007897202
+       .long   3162431829
+       .long   0
+       .long   0
+       .long   2591355529
+       .long   3219302000
+       .long   2351326818
+       .long   3161908153
+       .long   0
+       .long   1072693248
+       .long   3206845590
+       .long   1070972224
+       .long   4023349050
+       .long   3219717171
+       .long   3838822434
+       .long   1072486918
+       .long   3122427157
+       .long   3219727557
+       .long   2261703627
+       .long   1072249178
+       .long   1764870100
+       .long   3219628955
+       .long   3201802997
+       .long   1072093301
+       .long   3701329484
+       .long   3220234964
+       .long   2857479637
+       .long   3163806625
+       .long   0
+       .long   0
+       .long   4010047525
+       .long   3219267765
+       .long   3339891512
+       .long   3160072694
+       .long   0
+       .long   1072693248
+       .long   966450668
+       .long   1070893532
+       .long   803989702
+       .long   3219649019
+       .long   1934453966
+       .long   1072408465
+       .long   1455077850
+       .long   3219629530
+       .long   2709264343
+       .long   1072139721
+       .long   1918064558
+       .long   3219505762
+       .long   1476733535
+       .long   1071960574
+       .long   3544602278
+       .long   3220247832
+       .long   4139243149
+       .long   3164602093
+       .long   0
+       .long   0
+       .long   4270735453
+       .long   3219234003
+       .long   3565361953
+       .long   1015342529
+       .long   0
+       .long   1072693248
+       .long   2915760230
+       .long   1070818115
+       .long   638580392
+       .long   3219583668
+       .long   2252948193
+       .long   1072334663
+       .long   1194731830
+       .long   3219537949
+       .long   1353002942
+       .long   1072038927
+       .long   422364789
+       .long   3219393446
+       .long   3669634446
+       .long   1071842023
+       .long   3387875073
+       .long   3220260700
+       .long   3168927931
+       .long   1016323525
+       .long   0
+       .long   0
+       .long   419968236
+       .long   3219200695
+       .long   131828542
+       .long   1015961466
+       .long   0
+       .long   1072693248
+       .long   2960267235
+       .long   1070745841
+       .long   1037049094
+       .long   3219520953
+       .long   1447436626
+       .long   1072265209
+       .long   3197232138
+       .long   3219452306
+       .long   4004685084
+       .long   1071946034
+       .long   1412816421
+       .long   3219290928
+       .long   3184738590
+       .long   1071740610
+       .long   3231147867
+       .long   3220273568
+       .long   3253690381
+       .long   1014950373
+       .long   0
+       .long   0
+       .long   1505561933
+       .long   3219167820
+       .long   2813885200
+       .long   1011162516
+       .long   0
+       .long   1072693248
+       .long   2997217365
+       .long   1070676584
+       .long   2681788575
+       .long   3219460719
+       .long   3989126937
+       .long   1072199822
+       .long   1049115510
+       .long   3219372139
+       .long   511642058
+       .long   1071860360
+       .long   4034728051
+       .long   3219197246
+       .long   1788863965
+       .long   1071639550
+       .long   3074420661
+       .long   3220286436
+       .long   1873363667
+       .long   3161563979
+       .long   0
+       .long   0
+       .long   2606398711
+       .long   3219135361
+       .long   2533072598
+       .long   3162554073
+       .long   0
+       .long   1072693248
+       .long   2151361100
+       .long   1070610226
+       .long   1532348096
+       .long   3219402822
+       .long   408604530
+       .long   1072138246
+       .long   1039538740
+       .long   3219297023
+       .long   1234598850
+       .long   1071781284
+       .long   692507578
+       .long   3219094767
+       .long   4090315877
+       .long   1071451983
+       .long   2917693455
+       .long   3220299304
+       .long   676362605
+       .long   3163589663
+       .long   0
+       .long   0
+       .long   3649427950
+       .long   3219078282
+       .long   4113825640
+       .long   3158662193
+       .long   0
+       .long   1072693248
+       .long   2424145432
+       .long   1070497215
+       .long   2715404890
+       .long   3219347125
+       .long   2238283673
+       .long   1072080240
+       .long   1186867211
+       .long   3219226571
+       .long   660318792
+       .long   1071708248
+       .long   2091427915
+       .long   3218937780
+       .long   2591062635
+       .long   1071291190
+       .long   2760966249
+       .long   3220312172
+       .long   1958126117
+       .long   3164385131
+       .long   0
+       .long   0
+       .long   220675706
+       .long   3219014926
+       .long   3158451653
+       .long   3161723787
+       .long   0
+       .long   1072693248
+       .long   1565030890
+       .long   1070375439
+       .long   335263687
+       .long   3219293502
+       .long   419816567
+       .long   1072025586
+       .long   2098048102
+       .long   3219160428
+       .long   257229335
+       .long   1071636821
+       .long   3464457189
+       .long   3218793840
+       .long   2745923191
+       .long   1071158056
+       .long   2604239044
+       .long   3220325040
+       .long   1055077667
+       .long   1016540488
+       .long   0
+       .long   0
+       .long   2191706112
+       .long   3218952300
+       .long   333441366
+       .long   3161331348
+       .long   0
+       .long   1072693248
+       .long   3435408456
+       .long   1070258830
+       .long   487319719
+       .long   3219241832
+       .long   1713711059
+       .long   1071974079
+       .long   130753286
+       .long   3219068219
+       .long   909725130
+       .long   1071511974
+       .long   2762442367
+       .long   3218661715
+       .long   932670499
+       .long   1071027067
+       .long   2447511838
+       .long   3220337908
+       .long   3841595606
+       .long   1015419895
+       .long   0
+       .long   0
+       .long   408840118
+       .long   3218890375
+       .long   4048072104
+       .long   3159354273
+       .long   0
+       .long   1072693248
+       .long   2794370512
+       .long   1070147203
+       .long   1550993351
+       .long   3219192003
+       .long   1305093678
+       .long   1071925532
+       .long   1748211158
+       .long   3218951271
+       .long   3244212114
+       .long   1071396455
+       .long   2145666003
+       .long   3218540299
+       .long   1098451822
+       .long   1070891096
+       .long   2290784632
+       .long   3220350776
+       .long   2660353234
+       .long   3159463173
+       .long   0
+       .long   0
+       .long   3368427099
+       .long   3218829119
+       .long   2187864186
+       .long   1013587140
+       .long   0
+       .long   1072693248
+       .long   1708021028
+       .long   1070040382
+       .long   459972195
+       .long   3219143910
+       .long   3210514347
+       .long   1071879770
+       .long   955408873
+       .long   3218841145
+       .long   1911386085
+       .long   1071289511
+       .long   3563284038
+       .long   3218428599
+       .long   547420745
+       .long   1070790031
+       .long   2134057426
+       .long   3220363644
+       .long   1285458442
+       .long   3163191609
+       .long   0
+       .long   0
+       .long   2583490354
+       .long   3218768505
+       .long   27148750
+       .long   3161491985
+       .long   0
+       .long   1072693248
+       .long   2550940470
+       .long   1069938201
+       .long   2616040293
+       .long   3219066585
+       .long   2529278955
+       .long   1071836633
+       .long   2244405849
+       .long   3218737335
+       .long   2064814127
+       .long   1071190460
+       .long   1527853251
+       .long   3218325722
+       .long   354247476
+       .long   1070708112
+       .long   1977330220
+       .long   3220376512
+       .long   4071976381
+       .long   3164168168
+       .long   0
+       .long   0
+       .long   2390846448
+       .long   3218708504
+       .long   3510503948
+       .long   3161709355
+       .long   0
+       .long   1072693248
+       .long   1208409702
+       .long   1069840505
+       .long   1006199412
+       .long   3218976755
+       .long   2504246873
+       .long   1071795971
+       .long   1040653613
+       .long   3218639377
+       .long   1713268217
+       .long   1071098686
+       .long   462276301
+       .long   3218230862
+       .long   4239163357
+       .long   1070603989
+       .long   1820603015
+       .long   3220389380
+       .long   3236194699
+       .long   1016757450
+       .long   0
+       .long   0
+       .long   2528366626
+       .long   3218649089
+       .long   3808712102
+       .long   1013396510
+       .long   0
+       .long   1072693248
+       .long   1938261590
+       .long   1069747146
+       .long   4282399603
+       .long   3218889831
+       .long   1922568281
+       .long   1071757646
+       .long   2428166646
+       .long   3218546841
+       .long   717464824
+       .long   1071013623
+       .long   2205664075
+       .long   3218143293
+       .long   1526076492
+       .long   1070438229
+       .long   1663875809
+       .long   3220402248
+       .long   3908862373
+       .long   1015853820
+       .long   0
+       .long   0
+       .long   2200768388
+       .long   3218590234
+       .long   302584884
+       .long   1014949287
+       .long   0
+       .long   1072693248
+       .long   2338248308
+       .long   1069657986
+       .long   2617403810
+       .long   3218805648
+       .long   60078074
+       .long   1071721530
+       .long   2753634668
+       .long   3218459332
+       .long   626020946
+       .long   1070934758
+       .long   25846122
+       .long   3218044977
+       .long   1123428672
+       .long   1070307499
+       .long   1507148603
+       .long   3220415116
+       .long   1086374101
+       .long   1013035409
+       .long   0
+       .long   0
+       .long   4158096969
+       .long   3218531913
+       .long   3224512900
+       .long   3160902954
+       .long   0
+       .long   1072693248
+       .long   4240313622
+       .long   1069572894
+       .long   3745046477
+       .long   3218724046
+       .long   1955120038
+       .long   1071687503
+       .long   2661530988
+       .long   3218376484
+       .long   2615081511
+       .long   1070861626
+       .long   3172686029
+       .long   3217895196
+       .long   3468537113
+       .long   1070173373
+       .long   1350421397
+       .long   3220427984
+       .long   1218191675
+       .long   3162757684
+       .long   0
+       .long   0
+       .long   1606100959
+       .long   3218474103
+       .long   3385789004
+       .long   3161114183
+       .long   0
+       .long   1072693248
+       .long   2255302008
+       .long   1069435977
+       .long   54085333
+       .long   3218644877
+       .long   2504974906
+       .long   1071655456
+       .long   4169947836
+       .long   3218297958
+       .long   2891827398
+       .long   1070793803
+       .long   1030744944
+       .long   3217756428
+       .long   2378245768
+       .long   1070036506
+       .long   1193694191
+       .long   3220440852
+       .long   1890859349
+       .long   3163951206
+       .long   0
+       .long   0
+       .long   3782220567
+       .long   3218416778
+       .long   2488119274
+       .long   3162237132
+       .long   0
+       .long   1072693248
+       .long   91372748
+       .long   1069281344
+       .long   318776714
+       .long   3218567997
+       .long   1791786485
+       .long   1071605902
+       .long   245863368
+       .long   3218223442
+       .long   3306699316
+       .long   1070730899
+       .long   492155895
+       .long   3217627699
+       .long   504590813
+       .long   1069961586
+       .long   1036966986
+       .long   3220453720
+       .long   1122344434
+       .long   1016974413
+       .long   0
+       .long   0
+       .long   1412148370
+       .long   3218359917
+       .long   2689483850
+       .long   1013993587
+       .long   0
+       .long   1072693248
+       .long   1375255072
+       .long   1069134151
+       .long   1493266594
+       .long   3218493272
+       .long   487968719
+       .long   1071549129
+       .long   4010395236
+       .long   3218152642
+       .long   2875570533
+       .long   1070672565
+       .long   2596803943
+       .long   3217508124
+       .long   2843491945
+       .long   1069843051
+       .long   880239780
+       .long   3220466588
+       .long   4135548218
+       .long   1016178944
+       .long   0
+       .long   0
+       .long   895247324
+       .long   3218303496
+       .long   3064008070
+       .long   1013805381
+       .long   0
+       .long   1072693248
+       .long   729983844
+       .long   1068994194
+       .long   3631919317
+       .long   3218420574
+       .long   2031343772
+       .long   1071495745
+       .long   1505593195
+       .long   3218085291
+       .long   519428997
+       .long   1070618477
+       .long   3710689661
+       .long   3217396902
+       .long   3156076115
+       .long   1069741343
+       .long   723512574
+       .long   3220479456
+       .long   2825204233
+       .long   1014372050
+       .long   0
+       .long   0
+       .long   2664093517
+       .long   3218247493
+       .long   3574482624
+       .long   3157273734
+       .long   0
+       .long   1072693248
+       .long   2465054196
+       .long   1068861279
+       .long   3495559184
+       .long   3218349782
+       .long   2180799467
+       .long   1071445588
+       .long   3760731789
+       .long   3217962527
+       .long   3108073739
+       .long   1070540584
+       .long   1955989624
+       .long   3217293302
+       .long   166797605
+       .long   1069654305
+       .long   566785368
+       .long   3220492324
+       .long   2301849815
+       .long   3162142302
+       .long   0
+       .long   0
+       .long   1026922473
+       .long   3218191888
+       .long   4275547180
+       .long   3161242805
+       .long   0
+       .long   1072693248
+       .long   865263972
+       .long   1068735226
+       .long   1189261043
+       .long   3218280780
+       .long   602895285
+       .long   1071398507
+       .long   457371263
+       .long   3217840141
+       .long   1846858242
+       .long   1070447677
+       .long   3060498116
+       .long   3217196657
+       .long   4267893365
+       .long   1069596604
+       .long   410058162
+       .long   3220505192
+       .long   4004709614
+       .long   3163734243
+       .long   0
+       .long   0
+       .long   1197423420
+       .long   3218136659
+       .long   176395860
+       .long   3160912588
+       .long   0
+       .long   1072693248
+       .long   3614211808
+       .long   1068615863
+       .long   2638984897
+       .long   3218213456
+       .long   1695604536
+       .long   1071354361
+       .long   2372043566
+       .long   3217723241
+       .long   136909605
+       .long   1070361652
+       .long   3640039447
+       .long   3217106358
+       .long   4088615056
+       .long   1069449448
+       .long   253330956
+       .long   3220518060
+       .long   991505830
+       .long   3164529712
+       .long   0
+       .long   0
+       .long   1971725998
+       .long   3218081786
+       .long   2628057466
+       .long   3160778219
+       .long   0
+       .long   1072693248
+       .long   3850616508
+       .long   1068503032
+       .long   715485429
+       .long   3218147706
+       .long   2831870887
+       .long   1071313021
+       .long   276112813
+       .long   3217611421
+       .long   4071473627
+       .long   1070282053
+       .long   3678820506
+       .long   3217012537
+       .long   927889203
+       .long   1069392578
+       .long   96603751
+       .long   3220530928
+       .long   2021697954
+       .long   1016395907
+       .long   0
+       .long   0
+       .long   4068253482
+       .long   3217974755
+       .long   3098800802
+       .long   3161416360
+       .long   0
+       .long   1072693248
+       .long   3555466384
+       .long   1068294223
+       .long   3714292293
+       .long   3218083427
+       .long   58004546
+       .long   1071274368
+       .long   2889916307
+       .long   3217504297
+       .long   2725223785
+       .long   1070208483
+       .long   1960889150
+       .long   3216854085
+       .long   2172838405
+       .long   1069259864
+       .long   4234843841
+       .long   3220543795
+       .long   1479868884
+       .long   1015130734
+       .long   0
+       .long   0
+       .long   3947580658
+       .long   3217866316
+       .long   4153464200
+       .long   3160712468
+       .long   0
+       .long   1072693248
+       .long   1306970432
+       .long   1068093810
+       .long   3320658510
+       .long   3217961305
+       .long   2638377394
+       .long   1071238289
+       .long   1218095092
+       .long   3217401513
+       .long   506153465
+       .long   1070140566
+       .long   2096772766
+       .long   3216705262
+       .long   2058303373
+       .long   1069148484
+       .long   4078116635
+       .long   3220556663
+       .long   39665264
+       .long   3161092265
+       .long   0
+       .long   0
+       .long   4023957346
+       .long   3217758473
+       .long   2652051644
+       .long   3159900932
+       .long   0
+       .long   1072693248
+       .long   1548193280
+       .long   1067905620
+       .long   2849460080
+       .long   3217838064
+       .long   586099284
+       .long   1071204684
+       .long   2426038050
+       .long   3217302731
+       .long   1209882939
+       .long   1070077962
+       .long   204929670
+       .long   3216565209
+       .long   2951398611
+       .long   1069077118
+       .long   3921389429
+       .long   3220569531
+       .long   3647185164
+       .long   3163480770
+       .long   0
+       .long   0
+       .long   3763679576
+       .long   3217651189
+       .long   448385104
+       .long   3157192355
+       .long   0
+       .long   1072693248
+       .long   64931152
+       .long   1067729411
+       .long   3593250320
+       .long   3217717209
+       .long   1127364104
+       .long   1071173457
+       .long   21320967
+       .long   3217207636
+       .long   4036384111
+       .long   1070020367
+       .long   3394693850
+       .long   3216433130
+       .long   4171153724
+       .long   1068939101
+       .long   3764662223
+       .long   3220582399
+       .long   3105356094
+       .long   3164312749
+       .long   0
+       .long   0
+       .long   1425758568
+       .long   3217544428
+       .long   1224254624
+       .long   3159340630
+       .long   0
+       .long   1072693248
+       .long   2086713664
+       .long   1067564956
+       .long   1688303979
+       .long   3217598569
+       .long   938619730
+       .long   1071144522
+       .long   526120622
+       .long   3217115928
+       .long   3819295674
+       .long   1069967496
+       .long   2059466203
+       .long   3216308301
+       .long   4034680199
+       .long   1068903334
+       .long   3607935018
+       .long   3220595267
+       .long   4202814986
+       .long   1016612869
+       .long   0
+       .long   0
+       .long   2429422902
+       .long   3217438153
+       .long   3297520416
+       .long   1012522944
+       .long   0
+       .long   1072693248
+       .long   528565440
+       .long   1067373727
+       .long   2395999282
+       .long   3217481977
+       .long   1512953454
+       .long   1071117799
+       .long   2702142222
+       .long   3217023483
+       .long   3515899579
+       .long   1069919100
+       .long   2767905791
+       .long   3216190039
+       .long   3127036520
+       .long   1068808800
+       .long   3451207812
+       .long   3220608135
+       .long   1547135652
+       .long   1015564659
+       .long   0
+       .long   0
+       .long   1959743063
+       .long   3217332330
+       .long   607720656
+       .long   3161041674
+       .long   0
+       .long   1072693248
+       .long   225834432
+       .long   1067090614
+       .long   732340398
+       .long   3217367274
+       .long   3221152670
+       .long   1071093215
+       .long   2810588359
+       .long   3216851955
+       .long   612200454
+       .long   1069874948
+       .long   645427044
+       .long   3216077719
+       .long   1966523063
+       .long   1068694214
+       .long   3294480606
+       .long   3220621003
+       .long   1489607747
+       .long   1003935259
+       .long   0
+       .long   0
+       .long   1940260416
+       .long   3217226924
+       .long   4144841612
+       .long   3159543701
+       .long   0
+       .long   1072693248
+       .long   1135818128
+       .long   1066829850
+       .long   867512158
+       .long   3217254304
+       .long   3821819258
+       .long   1071070704
+       .long   2890864845
+       .long   3216685596
+       .long   918459421
+       .long   1069834828
+       .long   797471869
+       .long   3215958923
+       .long   4093823457
+       .long   1068635569
+       .long   3137753400
+       .long   3220633871
+       .long   3579918397
+       .long   3163046845
+       .long   0
+       .long   0
+       .long   2242453104
+       .long   3217121901
+       .long   1143544320
+       .long   1011877960
+       .long   0
+       .long   1072693248
+       .long   1016752608
+       .long   1066591110
+       .long   1270001991
+       .long   3217142917
+       .long   1410785275
+       .long   1071050206
+       .long   1103929722
+       .long   3216523923
+       .long   3268015214
+       .long   1069798554
+       .long   957665123
+       .long   3215754628
+       .long   1067716675
+       .long   1068610012
+       .long   2981026194
+       .long   3220646739
+       .long   924239062
+       .long   3164095787
+       .long   0
+       .long   0
+       .long   982366697
+       .long   3217003288
+       .long   1160619554
+       .long   1010902188
+       .long   0
+       .long   1072693248
+       .long   404678272
+       .long   1066346403
+       .long   1419607756
+       .long   3217032967
+       .long   1800406832
+       .long   1071031665
+       .long   3144361055
+       .long   3216366473
+       .long   1744148039
+       .long   1069765960
+       .long   3211598528
+       .long   3215558937
+       .long   405031618
+       .long   1068609434
+       .long   2824298989
+       .long   3220659607
+       .long   2088964722
+       .long   1016829832
+       .long   0
+       .long   0
+       .long   931121154
+       .long   3216794574
+       .long   1121583044
+       .long   1012154237
+       .long   0
+       .long   1072693248
+       .long   709357472
+       .long   1065955296
+       .long   29972165
+       .long   3216817456
+       .long   254360647
+       .long   1071015033
+       .long   3732687627
+       .long   3216212805
+       .long   3224370681
+       .long   1069736900
+       .long   202592280
+       .long   3215370879
+       .long   1420621447
+       .long   1068491719
+       .long   2667571783
+       .long   3220672475
+       .long   1614402419
+       .long   1015998584
+       .long   0
+       .long   0
+       .long   2354785698
+       .long   3216586427
+       .long   959264268
+       .long   3159915811
+       .long   0
+       .long   1072693248
+       .long   2828230112
+       .long   1065606626
+       .long   3693284264
+       .long   3216602456
+       .long   1996210616
+       .long   1071000265
+       .long   3053541878
+       .long   3216062494
+       .long   1133334567
+       .long   1069711236
+       .long   977677585
+       .long   3215189563
+       .long   347473669
+       .long   1068436198
+       .long   2510844577
+       .long   3220685343
+       .long   498468876
+       .long   1013614463
+       .long   0
+       .long   0
+       .long   1972895212
+       .long   3216378783
+       .long   3207896256
+       .long   3158122047
+       .long   0
+       .long   1072693248
+       .long   4107853760
+       .long   1065246718
+       .long   2229347510
+       .long   3216389497
+       .long   4172638464
+       .long   1070987323
+       .long   212469442
+       .long   3215847669
+       .long   1989165661
+       .long   1069688852
+       .long   4131454738
+       .long   3215014128
+       .long   3452987325
+       .long   1068469531
+       .long   2354117371
+       .long   3220698211
+       .long   3512651629
+       .long   3162612920
+       .long   0
+       .long   0
+       .long   3439278129
+       .long   3216171577
+       .long   1073008748
+       .long   3159914989
+       .long   0
+       .long   1072693248
+       .long   2934847296
+       .long   1064716672
+       .long   2625704508
+       .long   3216178311
+       .long   3692939630
+       .long   1070976174
+       .long   3072165553
+       .long   3215558041
+       .long   223733198
+       .long   1069669653
+       .long   1158528288
+       .long   3214753465
+       .long   3197803998
+       .long   1068357327
+       .long   2197390165
+       .long   3220711079
+       .long   3038089327
+       .long   3163878824
+       .long   0
+       .long   0
+       .long   3930011523
+       .long   3215946901
+       .long   3574565577
+       .long   1010859792
+       .long   0
+       .long   1072693248
+       .long   930814464
+       .long   1064233867
+       .long   3218126771
+       .long   3215954682
+       .long   873740287
+       .long   1070966789
+       .long   1580060562
+       .long   3215272745
+       .long   1505280051
+       .long   1069653548
+       .long   2221338643
+       .long   3214421240
+       .long   2641116540
+       .long   1068312400
+       .long   2040662960
+       .long   3220723947
+       .long   4270081753
+       .long   1017046794
+       .long   0
+       .long   0
+       .long   2319126882
+       .long   3215533863
+       .long   2132624928
+       .long   3153789373
+       .long   0
+       .long   1072693248
+       .long   2962101888
+       .long   1063503197
+       .long   3966050657
+       .long   3215537841
+       .long   3178024141
+       .long   1070959142
+       .long   1146830997
+       .long   3214991029
+       .long   1630003424
+       .long   1069640468
+       .long   2204651989
+       .long   3214096041
+       .long   796867276
+       .long   1068243248
+       .long   1883935754
+       .long   3220736815
+       .long   2988318241
+       .long   1016251326
+       .long   0
+       .long   0
+       .long   3919601072
+       .long   3215121322
+       .long   2384023593
+       .long   1011053048
+       .long   0
+       .long   1072693248
+       .long   1803946752
+       .long   1062615560
+       .long   2247013512
+       .long   3215122999
+       .long   3277043521
+       .long   1070953215
+       .long   578207576
+       .long   3214490301
+       .long   1619551293
+       .long   1069630354
+       .long   2648603598
+       .long   3213667381
+       .long   2728840488
+       .long   1068193529
+       .long   1727208548
+       .long   3220749683
+       .long   2531251621
+       .long   1014661577
+       .long   0
+       .long   0
+       .long   612012528
+       .long   3214484294
+       .long   549859680
+       .long   1005659865
+       .long   0
+       .long   1072693248
+       .long   2064191488
+       .long   1061404484
+       .long   4042886527
+       .long   3214485286
+       .long   149923164
+       .long   1070948993
+       .long   104448276
+       .long   3213936806
+       .long   2663431480
+       .long   1069623160
+       .long   4100741337
+       .long   3213036454
+       .long   3253086979
+       .long   1068220130
+       .long   1570481342
+       .long   3220762551
+       .long   2595802427
+       .long   3161852775
+       .long   0
+       .long   0
+       .long   75380366
+       .long   3213435470
+       .long   3015416698
+       .long   1008346766
+       .long   0
+       .long   1072693248
+       .long   2911696896
+       .long   1059306942
+       .long   451505506
+       .long   3213435718
+       .long   3089290734
+       .long   1070946463
+       .long   3705470162
+       .long   3212886822
+       .long   2568117130
+       .long   1069618857
+       .long   643302148
+       .long   3211985100
+       .long   500114129
+       .long   1068202863
+       .long   0
+       .long   1090469888
+       .long   0
+       .long   1090469888
+       .long   0
+       .long   1090469888
+       .long   0
+       .long   1090469888
+       .long   0
+       .long   1090469888
+       .long   0
+       .long   1090469888
+       .long   0
+       .long   1090469888
+       .long   0
+       .long   1090469888
+       .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   1841940611
+       .long   1071931184
+       .long   1841940611
+       .long   1071931184
+       .long   1841940611
+       .long   1071931184
+       .long   1841940611
+       .long   1071931184
+       .long   1841940611
+       .long   1071931184
+       .long   1841940611
+       .long   1071931184
+       .long   1841940611
+       .long   1071931184
+       .long   1841940611
+       .long   1071931184
+       .long   1413742592
+       .long   1073291771
+       .long   1413742592
+       .long   1073291771
+       .long   1413742592
+       .long   1073291771
+       .long   1413742592
+       .long   1073291771
+       .long   1413742592
+       .long   1073291771
+       .long   1413742592
+       .long   1073291771
+       .long   1413742592
+       .long   1073291771
+       .long   1413742592
+       .long   1073291771
+       .long   1280049152
+       .long   1032227875
+       .long   1280049152
+       .long   1032227875
+       .long   1280049152
+       .long   1032227875
+       .long   1280049152
+       .long   1032227875
+       .long   1280049152
+       .long   1032227875
+       .long   1280049152
+       .long   1032227875
+       .long   1280049152
+       .long   1032227875
+       .long   1280049152
+       .long   1032227875
+       .long   57701189
+       .long   992578094
+       .long   57701189
+       .long   992578094
+       .long   57701189
+       .long   992578094
+       .long   57701189
+       .long   992578094
+       .long   57701189
+       .long   992578094
+       .long   57701189
+       .long   992578094
+       .long   57701189
+       .long   992578094
+       .long   57701189
+       .long   992578094
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   1413754136
+       .long   1073291771
+       .long   856972294
+       .long   1016178214
+       .long   856972294
+       .long   1016178214
+       .long   856972294
+       .long   1016178214
+       .long   856972294
+       .long   1016178214
+       .long   856972294
+       .long   1016178214
+       .long   856972294
+       .long   1016178214
+       .long   856972294
+       .long   1016178214
+       .long   856972294
+       .long   1016178214
+       .long   688016905
+       .long   961289425
+       .long   688016905
+       .long   961289425
+       .long   688016905
+       .long   961289425
+       .long   688016905
+       .long   961289425
+       .long   688016905
+       .long   961289425
+       .long   688016905
+       .long   961289425
+       .long   688016905
+       .long   961289425
+       .long   688016905
+       .long   961289425
+       .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   3191264137
+       .long   3217058711
+       .long   3191264137
+       .long   3217058711
+       .long   3191264137
+       .long   3217058711
+       .long   3191264137
+       .long   3217058711
+       .long   3191264137
+       .long   3217058711
+       .long   3191264137
+       .long   3217058711
+       .long   3191264137
+       .long   3217058711
+       .long   3191264137
+       .long   3217058711
+       .long   3706049281
+       .long   1063713903
+       .long   3706049281
+       .long   1063713903
+       .long   3706049281
+       .long   1063713903
+       .long   3706049281
+       .long   1063713903
+       .long   3706049281
+       .long   1063713903
+       .long   3706049281
+       .long   1063713903
+       .long   3706049281
+       .long   1063713903
+       .long   3706049281
+       .long   1063713903
+       .long   3458873344
+       .long   3202311037
+       .long   3458873344
+       .long   3202311037
+       .long   3458873344
+       .long   3202311037
+       .long   3458873344
+       .long   3202311037
+       .long   3458873344
+       .long   3202311037
+       .long   3458873344
+       .long   3202311037
+       .long   3458873344
+       .long   3202311037
+       .long   3458873344
+       .long   3202311037
+       .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   879804142
+       .long   3218967329
+       .long   879804142
+       .long   3218967329
+       .long   879804142
+       .long   3218967329
+       .long   879804142
+       .long   3218967329
+       .long   879804142
+       .long   3218967329
+       .long   879804142
+       .long   3218967329
+       .long   879804142
+       .long   3218967329
+       .long   879804142
+       .long   3218967329
+       .long   2328005206
+       .long   1066919862
+       .long   2328005206
+       .long   1066919862
+       .long   2328005206
+       .long   1066919862
+       .long   2328005206
+       .long   1066919862
+       .long   2328005206
+       .long   1066919862
+       .long   2328005206
+       .long   1066919862
+       .long   2328005206
+       .long   1066919862
+       .long   2328005206
+       .long   1066919862
+       .long   62689958
+       .long   3207287387
+       .long   62689958
+       .long   3207287387
+       .long   62689958
+       .long   3207287387
+       .long   62689958
+       .long   3207287387
+       .long   62689958
+       .long   3207287387
+       .long   62689958
+       .long   3207287387
+       .long   62689958
+       .long   3207287387
+       .long   62689958
+       .long   3207287387
+       .type   __svml_dtan_data_internal,@object
+       .size   __svml_dtan_data_internal,29248
+       .align 64
+__svml_dtan_reduction_data_internal:
+       .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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   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   1
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   5
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   10
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   20
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   40
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   81
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   162
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   325
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   651
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1303
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2607
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   5215
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   10430
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   20860
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   41721
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   83443
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   166886
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   333772
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   667544
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1335088
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2670176
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   5340353
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   10680707
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   21361414
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   42722829
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   85445659
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   170891318
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   341782637
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   683565275
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1367130551
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2734261102
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1173554908
+       .long   1
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2347109817
+       .long   2
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   399252338
+       .long   5
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   798504676
+       .long   10
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1597009353
+       .long   20
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3194018707
+       .long   40
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2093070119
+       .long   81
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4186140238
+       .long   162
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4077313180
+       .long   325
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3859659065
+       .long   651
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3424350834
+       .long   1303
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2553734372
+       .long   2607
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   812501448
+       .long   5215
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1625002897
+       .long   10430
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3250005794
+       .long   20860
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2205044292
+       .long   41721
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   115121288
+       .long   83443
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   230242576
+       .long   166886
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   460485152
+       .long   333772
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   920970305
+       .long   667544
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1841940610
+       .long   1335088
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3683881221
+       .long   2670176
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3072795146
+       .long   5340353
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1850622997
+       .long   10680707
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3701245994
+       .long   21361414
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3107524692
+       .long   42722829
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1920082089
+       .long   85445659
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3840164178
+       .long   170891318
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3385361061
+       .long   341782637
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2475754826
+       .long   683565275
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   656542356
+       .long   1367130551
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1313084713
+       .long   2734261102
+       .long   0
+       .long   0
+       .long   1
+       .long   0
+       .long   2626169427
+       .long   1173554908
+       .long   0
+       .long   0
+       .long   2
+       .long   0
+       .long   957371559
+       .long   2347109817
+       .long   0
+       .long   0
+       .long   5
+       .long   0
+       .long   1914743119
+       .long   399252338
+       .long   0
+       .long   0
+       .long   10
+       .long   0
+       .long   3829486239
+       .long   798504676
+       .long   0
+       .long   0
+       .long   20
+       .long   0
+       .long   3364005183
+       .long   1597009353
+       .long   0
+       .long   0
+       .long   40
+       .long   0
+       .long   2433043071
+       .long   3194018707
+       .long   0
+       .long   0
+       .long   81
+       .long   0
+       .long   571118846
+       .long   2093070119
+       .long   0
+       .long   0
+       .long   162
+       .long   0
+       .long   1142237692
+       .long   4186140238
+       .long   0
+       .long   0
+       .long   325
+       .long   0
+       .long   2284475384
+       .long   4077313180
+       .long   0
+       .long   0
+       .long   651
+       .long   0
+       .long   273983472
+       .long   3859659065
+       .long   0
+       .long   0
+       .long   1303
+       .long   0
+       .long   547966945
+       .long   3424350834
+       .long   0
+       .long   0
+       .long   2607
+       .long   0
+       .long   1095933890
+       .long   2553734372
+       .long   0
+       .long   0
+       .long   5215
+       .long   0
+       .long   2191867780
+       .long   812501448
+       .long   0
+       .long   0
+       .long   10430
+       .long   0
+       .long   88768265
+       .long   1625002897
+       .long   0
+       .long   0
+       .long   20860
+       .long   0
+       .long   177536531
+       .long   3250005794
+       .long   0
+       .long   0
+       .long   41721
+       .long   0
+       .long   355073063
+       .long   2205044292
+       .long   0
+       .long   0
+       .long   83443
+       .long   0
+       .long   710146126
+       .long   115121288
+       .long   0
+       .long   0
+       .long   166886
+       .long   0
+       .long   1420292253
+       .long   230242576
+       .long   0
+       .long   0
+       .long   333772
+       .long   0
+       .long   2840584506
+       .long   460485152
+       .long   0
+       .long   0
+       .long   667544
+       .long   0
+       .long   1386201717
+       .long   920970305
+       .long   0
+       .long   0
+       .long   1335088
+       .long   0
+       .long   2772403434
+       .long   1841940610
+       .long   0
+       .long   0
+       .long   2670176
+       .long   0
+       .long   1249839573
+       .long   3683881221
+       .long   0
+       .long   0
+       .long   5340353
+       .long   0
+       .long   2499679147
+       .long   3072795146
+       .long   0
+       .long   0
+       .long   10680707
+       .long   0
+       .long   704390999
+       .long   1850622997
+       .long   0
+       .long   0
+       .long   21361414
+       .long   0
+       .long   1408781999
+       .long   3701245994
+       .long   0
+       .long   0
+       .long   42722829
+       .long   0
+       .long   2817563999
+       .long   3107524692
+       .long   0
+       .long   0
+       .long   85445659
+       .long   0
+       .long   1340160702
+       .long   1920082089
+       .long   0
+       .long   0
+       .long   170891318
+       .long   0
+       .long   2680321405
+       .long   3840164178
+       .long   0
+       .long   0
+       .long   341782637
+       .long   0
+       .long   1065675514
+       .long   3385361061
+       .long   0
+       .long   0
+       .long   683565275
+       .long   0
+       .long   2131351028
+       .long   2475754826
+       .long   0
+       .long   0
+       .long   1367130551
+       .long   0
+       .long   4262702056
+       .long   656542356
+       .long   0
+       .long   0
+       .long   2734261102
+       .long   0
+       .long   4230436817
+       .long   1313084713
+       .long   0
+       .long   0
+       .long   1173554908
+       .long   1
+       .long   4165906339
+       .long   2626169427
+       .long   0
+       .long   0
+       .long   2347109817
+       .long   2
+       .long   4036845383
+       .long   957371559
+       .long   0
+       .long   0
+       .long   399252338
+       .long   5
+       .long   3778723471
+       .long   1914743119
+       .long   0
+       .long   0
+       .long   798504676
+       .long   10
+       .long   3262479647
+       .long   3829486239
+       .long   0
+       .long   0
+       .long   1597009353
+       .long   20
+       .long   2229991998
+       .long   3364005183
+       .long   0
+       .long   0
+       .long   3194018707
+       .long   40
+       .long   165016701
+       .long   2433043071
+       .long   0
+       .long   0
+       .long   2093070119
+       .long   81
+       .long   330033402
+       .long   571118846
+       .long   0
+       .long   0
+       .long   4186140238
+       .long   162
+       .long   660066805
+       .long   1142237692
+       .long   0
+       .long   0
+       .long   4077313180
+       .long   325
+       .long   1320133610
+       .long   2284475384
+       .long   0
+       .long   0
+       .long   3859659065
+       .long   651
+       .long   2640267220
+       .long   273983472
+       .long   0
+       .long   0
+       .long   3424350834
+       .long   1303
+       .long   985567145
+       .long   547966945
+       .long   0
+       .long   0
+       .long   2553734372
+       .long   2607
+       .long   1971134291
+       .long   1095933890
+       .long   0
+       .long   0
+       .long   812501448
+       .long   5215
+       .long   3942268582
+       .long   2191867780
+       .long   0
+       .long   0
+       .long   1625002897
+       .long   10430
+       .long   3589569869
+       .long   88768265
+       .long   0
+       .long   0
+       .long   3250005794
+       .long   20860
+       .long   2884172442
+       .long   177536531
+       .long   0
+       .long   0
+       .long   2205044292
+       .long   41721
+       .long   1473377588
+       .long   355073063
+       .long   0
+       .long   0
+       .long   115121288
+       .long   83443
+       .long   2946755177
+       .long   710146126
+       .long   0
+       .long   0
+       .long   230242576
+       .long   166886
+       .long   1598543059
+       .long   1420292253
+       .long   0
+       .long   0
+       .long   460485152
+       .long   333772
+       .long   3197086118
+       .long   2840584506
+       .long   0
+       .long   0
+       .long   920970305
+       .long   667544
+       .long   2099204941
+       .long   1386201717
+       .long   0
+       .long   0
+       .long   1841940610
+       .long   1335088
+       .long   4198409883
+       .long   2772403434
+       .long   0
+       .long   0
+       .long   3683881221
+       .long   2670176
+       .long   4101852471
+       .long   1249839573
+       .long   0
+       .long   0
+       .long   3072795146
+       .long   5340353
+       .long   3908737646
+       .long   2499679147
+       .long   0
+       .long   0
+       .long   1850622997
+       .long   10680707
+       .long   3522507997
+       .long   704390999
+       .long   0
+       .long   0
+       .long   3701245994
+       .long   21361414
+       .long   2750048699
+       .long   1408781999
+       .long   0
+       .long   0
+       .long   3107524692
+       .long   42722829
+       .long   1205130103
+       .long   2817563999
+       .long   0
+       .long   0
+       .long   1920082089
+       .long   85445659
+       .long   2410260206
+       .long   1340160702
+       .long   0
+       .long   0
+       .long   3840164178
+       .long   170891318
+       .long   525553116
+       .long   2680321405
+       .long   0
+       .long   0
+       .long   3385361061
+       .long   341782637
+       .long   1051106232
+       .long   1065675514
+       .long   0
+       .long   0
+       .long   2475754826
+       .long   683565275
+       .long   2102212464
+       .long   2131351028
+       .long   0
+       .long   0
+       .long   656542356
+       .long   1367130551
+       .long   4204424928
+       .long   4262702056
+       .long   0
+       .long   0
+       .long   1313084713
+       .long   2734261102
+       .long   4113882560
+       .long   4230436817
+       .long   1
+       .long   0
+       .long   2626169427
+       .long   1173554908
+       .long   3932797825
+       .long   4165906339
+       .long   2
+       .long   0
+       .long   957371559
+       .long   2347109817
+       .long   3570628355
+       .long   4036845383
+       .long   5
+       .long   0
+       .long   1914743119
+       .long   399252338
+       .long   2846289414
+       .long   3778723471
+       .long   10
+       .long   0
+       .long   3829486239
+       .long   798504676
+       .long   1397611533
+       .long   3262479647
+       .long   20
+       .long   0
+       .long   3364005183
+       .long   1597009353
+       .long   2795223067
+       .long   2229991998
+       .long   40
+       .long   0
+       .long   2433043071
+       .long   3194018707
+       .long   1295478838
+       .long   165016701
+       .long   81
+       .long   0
+       .long   571118846
+       .long   2093070119
+       .long   2590957677
+       .long   330033402
+       .long   162
+       .long   0
+       .long   1142237692
+       .long   4186140238
+       .long   886948059
+       .long   660066805
+       .long   325
+       .long   0
+       .long   2284475384
+       .long   4077313180
+       .long   1773896118
+       .long   1320133610
+       .long   651
+       .long   0
+       .long   273983472
+       .long   3859659065
+       .long   3547792237
+       .long   2640267220
+       .long   1303
+       .long   0
+       .long   547966945
+       .long   3424350834
+       .long   2800617179
+       .long   985567145
+       .long   2607
+       .long   0
+       .long   1095933890
+       .long   2553734372
+       .long   1306267062
+       .long   1971134291
+       .long   5215
+       .long   0
+       .long   2191867780
+       .long   812501448
+       .long   2612534124
+       .long   3942268582
+       .long   10430
+       .long   0
+       .long   88768265
+       .long   1625002897
+       .long   930100952
+       .long   3589569869
+       .long   20860
+       .long   0
+       .long   177536531
+       .long   3250005794
+       .long   1860201905
+       .long   2884172442
+       .long   41721
+       .long   0
+       .long   355073063
+       .long   2205044292
+       .long   3720403810
+       .long   1473377588
+       .long   83443
+       .long   0
+       .long   710146126
+       .long   115121288
+       .long   3145840325
+       .long   2946755177
+       .long   166886
+       .long   0
+       .long   1420292253
+       .long   230242576
+       .long   1996713354
+       .long   1598543059
+       .long   333772
+       .long   0
+       .long   2840584506
+       .long   460485152
+       .long   3993426708
+       .long   3197086118
+       .long   667544
+       .long   0
+       .long   1386201717
+       .long   920970305
+       .long   3691886121
+       .long   2099204941
+       .long   1335088
+       .long   0
+       .long   2772403434
+       .long   1841940610
+       .long   3088804946
+       .long   4198409883
+       .long   2670176
+       .long   0
+       .long   1249839573
+       .long   3683881221
+       .long   1882642597
+       .long   4101852471
+       .long   5340353
+       .long   0
+       .long   2499679147
+       .long   3072795146
+       .long   3765285194
+       .long   3908737646
+       .long   10680707
+       .long   0
+       .long   704390999
+       .long   1850622997
+       .long   3235603093
+       .long   3522507997
+       .long   21361414
+       .long   0
+       .long   1408781999
+       .long   3701245994
+       .long   2176238891
+       .long   2750048699
+       .long   42722829
+       .long   0
+       .long   2817563999
+       .long   3107524692
+       .long   57510486
+       .long   1205130103
+       .long   85445659
+       .long   0
+       .long   1340160702
+       .long   1920082089
+       .long   115020972
+       .long   2410260206
+       .long   170891318
+       .long   0
+       .long   2680321405
+       .long   3840164178
+       .long   230041945
+       .long   525553116
+       .long   341782637
+       .long   0
+       .long   1065675514
+       .long   3385361061
+       .long   460083891
+       .long   1051106232
+       .long   683565275
+       .long   0
+       .long   2131351028
+       .long   2475754826
+       .long   920167782
+       .long   2102212464
+       .long   1367130551
+       .long   0
+       .long   4262702056
+       .long   656542356
+       .long   1840335564
+       .long   4204424928
+       .long   2734261102
+       .long   0
+       .long   4230436817
+       .long   1313084713
+       .long   3680671129
+       .long   4113882560
+       .long   1173554908
+       .long   1
+       .long   4165906339
+       .long   2626169427
+       .long   3066374962
+       .long   3932797825
+       .long   2347109817
+       .long   2
+       .long   4036845383
+       .long   957371559
+       .long   1837782628
+       .long   3570628355
+       .long   399252338
+       .long   5
+       .long   3778723471
+       .long   1914743119
+       .long   3675565257
+       .long   2846289414
+       .long   798504676
+       .long   10
+       .long   3262479647
+       .long   3829486239
+       .long   3056163219
+       .long   1397611533
+       .long   1597009353
+       .long   20
+       .long   2229991998
+       .long   3364005183
+       .long   1817359143
+       .long   2795223067
+       .long   3194018707
+       .long   40
+       .long   165016701
+       .long   2433043071
+       .long   3634718287
+       .long   1295478838
+       .long   2093070119
+       .long   81
+       .long   330033402
+       .long   571118846
+       .long   2974469278
+       .long   2590957677
+       .long   4186140238
+       .long   162
+       .long   660066805
+       .long   1142237692
+       .long   1653971260
+       .long   886948059
+       .long   4077313180
+       .long   325
+       .long   1320133610
+       .long   2284475384
+       .long   3307942520
+       .long   1773896118
+       .long   3859659065
+       .long   651
+       .long   2640267220
+       .long   273983472
+       .long   2320917745
+       .long   3547792237
+       .long   3424350834
+       .long   1303
+       .long   985567145
+       .long   547966945
+       .long   346868194
+       .long   2800617179
+       .long   2553734372
+       .long   2607
+       .long   1971134291
+       .long   1095933890
+       .long   693736388
+       .long   1306267062
+       .long   812501448
+       .long   5215
+       .long   3942268582
+       .long   2191867780
+       .long   1387472776
+       .long   2612534124
+       .long   1625002897
+       .long   10430
+       .long   3589569869
+       .long   88768265
+       .long   2774945552
+       .long   930100952
+       .long   3250005794
+       .long   20860
+       .long   2884172442
+       .long   177536531
+       .long   1254923809
+       .long   1860201905
+       .long   2205044292
+       .long   41721
+       .long   1473377588
+       .long   355073063
+       .long   2509847619
+       .long   3720403810
+       .long   115121288
+       .long   83443
+       .long   2946755177
+       .long   710146126
+       .long   724727943
+       .long   3145840325
+       .long   230242576
+       .long   166886
+       .long   1598543059
+       .long   1420292253
+       .long   1449455886
+       .long   1996713354
+       .long   460485152
+       .long   333772
+       .long   3197086118
+       .long   2840584506
+       .long   2898911772
+       .long   3993426708
+       .long   920970305
+       .long   667544
+       .long   2099204941
+       .long   1386201717
+       .long   1502856249
+       .long   3691886121
+       .long   1841940610
+       .long   1335088
+       .long   4198409883
+       .long   2772403434
+       .long   3005712498
+       .long   3088804946
+       .long   3683881221
+       .long   2670176
+       .long   4101852471
+       .long   1249839573
+       .long   1716457700
+       .long   1882642597
+       .long   3072795146
+       .long   5340353
+       .long   3908737646
+       .long   2499679147
+       .long   3432915400
+       .long   3765285194
+       .long   1850622997
+       .long   10680707
+       .long   3522507997
+       .long   704390999
+       .long   2570863504
+       .long   3235603093
+       .long   3701245994
+       .long   21361414
+       .long   2750048699
+       .long   1408781999
+       .long   846759712
+       .long   2176238891
+       .long   3107524692
+       .long   42722829
+       .long   1205130103
+       .long   2817563999
+       .long   1693519425
+       .long   57510486
+       .long   1920082089
+       .long   85445659
+       .long   2410260206
+       .long   1340160702
+       .long   3387038850
+       .long   115020972
+       .long   3840164178
+       .long   170891318
+       .long   525553116
+       .long   2680321405
+       .long   2479110404
+       .long   230041945
+       .long   3385361061
+       .long   341782637
+       .long   1051106232
+       .long   1065675514
+       .long   663253512
+       .long   460083891
+       .long   2475754826
+       .long   683565275
+       .long   2102212464
+       .long   2131351028
+       .long   1326507024
+       .long   920167782
+       .long   656542356
+       .long   1367130551
+       .long   4204424928
+       .long   4262702056
+       .long   2653014048
+       .long   1840335564
+       .long   1313084713
+       .long   2734261102
+       .long   4113882560
+       .long   4230436817
+       .long   1011060801
+       .long   3680671129
+       .long   2626169427
+       .long   1173554908
+       .long   3932797825
+       .long   4165906339
+       .long   2022121603
+       .long   3066374962
+       .long   957371559
+       .long   2347109817
+       .long   3570628355
+       .long   4036845383
+       .long   4044243207
+       .long   1837782628
+       .long   1914743119
+       .long   399252338
+       .long   2846289414
+       .long   3778723471
+       .long   3793519119
+       .long   3675565257
+       .long   3829486239
+       .long   798504676
+       .long   1397611533
+       .long   3262479647
+       .long   3292070943
+       .long   3056163219
+       .long   3364005183
+       .long   1597009353
+       .long   2795223067
+       .long   2229991998
+       .long   2289174591
+       .long   1817359143
+       .long   2433043071
+       .long   3194018707
+       .long   1295478838
+       .long   165016701
+       .long   283381887
+       .long   3634718287
+       .long   571118846
+       .long   2093070119
+       .long   2590957677
+       .long   330033402
+       .long   566763775
+       .long   2974469278
+       .long   1142237692
+       .long   4186140238
+       .long   886948059
+       .long   660066805
+       .long   1133527550
+       .long   1653971260
+       .long   2284475384
+       .long   4077313180
+       .long   1773896118
+       .long   1320133610
+       .long   2267055100
+       .long   3307942520
+       .long   273983472
+       .long   3859659065
+       .long   3547792237
+       .long   2640267220
+       .long   239142905
+       .long   2320917745
+       .long   547966945
+       .long   3424350834
+       .long   2800617179
+       .long   985567145
+       .long   478285810
+       .long   346868194
+       .long   1095933890
+       .long   2553734372
+       .long   1306267062
+       .long   1971134291
+       .long   956571621
+       .long   693736388
+       .long   2191867780
+       .long   812501448
+       .long   2612534124
+       .long   3942268582
+       .long   1913143242
+       .long   1387472776
+       .long   88768265
+       .long   1625002897
+       .long   930100952
+       .long   3589569869
+       .long   3826286484
+       .long   2774945552
+       .long   177536531
+       .long   3250005794
+       .long   1860201905
+       .long   2884172442
+       .long   3357605672
+       .long   1254923809
+       .long   355073063
+       .long   2205044292
+       .long   3720403810
+       .long   1473377588
+       .long   2420244049
+       .long   2509847619
+       .long   710146126
+       .long   115121288
+       .long   3145840325
+       .long   2946755177
+       .long   545520802
+       .long   724727943
+       .long   1420292253
+       .long   230242576
+       .long   1996713354
+       .long   1598543059
+       .long   1091041605
+       .long   1449455886
+       .long   2840584506
+       .long   460485152
+       .long   3993426708
+       .long   3197086118
+       .long   2182083211
+       .long   2898911772
+       .long   1386201717
+       .long   920970305
+       .long   3691886121
+       .long   2099204941
+       .long   69199126
+       .long   1502856249
+       .long   2772403434
+       .long   1841940610
+       .long   3088804946
+       .long   4198409883
+       .long   138398252
+       .long   3005712498
+       .long   1249839573
+       .long   3683881221
+       .long   1882642597
+       .long   4101852471
+       .long   276796504
+       .long   1716457700
+       .long   2499679147
+       .long   3072795146
+       .long   3765285194
+       .long   3908737646
+       .long   553593009
+       .long   3432915400
+       .long   704390999
+       .long   1850622997
+       .long   3235603093
+       .long   3522507997
+       .long   1107186019
+       .long   2570863504
+       .long   1408781999
+       .long   3701245994
+       .long   2176238891
+       .long   2750048699
+       .long   2214372039
+       .long   846759712
+       .long   2817563999
+       .long   3107524692
+       .long   57510486
+       .long   1205130103
+       .long   133776782
+       .long   1693519425
+       .long   1340160702
+       .long   1920082089
+       .long   115020972
+       .long   2410260206
+       .long   267553565
+       .long   3387038850
+       .long   2680321405
+       .long   3840164178
+       .long   230041945
+       .long   525553116
+       .long   535107130
+       .long   2479110404
+       .long   1065675514
+       .long   3385361061
+       .long   460083891
+       .long   1051106232
+       .long   1070214261
+       .long   663253512
+       .long   2131351028
+       .long   2475754826
+       .long   920167782
+       .long   2102212464
+       .long   2140428522
+       .long   1326507024
+       .long   4262702056
+       .long   656542356
+       .long   1840335564
+       .long   4204424928
+       .long   4280857045
+       .long   2653014048
+       .long   4230436817
+       .long   1313084713
+       .long   3680671129
+       .long   4113882560
+       .long   4266746795
+       .long   1011060801
+       .long   4165906339
+       .long   2626169427
+       .long   3066374962
+       .long   3932797825
+       .long   4238526295
+       .long   2022121603
+       .long   4036845383
+       .long   957371559
+       .long   1837782628
+       .long   3570628355
+       .long   4182085295
+       .long   4044243207
+       .long   3778723471
+       .long   1914743119
+       .long   3675565257
+       .long   2846289414
+       .long   4069203294
+       .long   3793519119
+       .long   3262479647
+       .long   3829486239
+       .long   3056163219
+       .long   1397611533
+       .long   3843439293
+       .long   3292070943
+       .long   2229991998
+       .long   3364005183
+       .long   1817359143
+       .long   2795223067
+       .long   3391911291
+       .long   2289174591
+       .long   165016701
+       .long   2433043071
+       .long   3634718287
+       .long   1295478838
+       .long   2488855287
+       .long   283381887
+       .long   330033402
+       .long   571118846
+       .long   2974469278
+       .long   2590957677
+       .long   682743279
+       .long   566763775
+       .long   660066805
+       .long   1142237692
+       .long   1653971260
+       .long   886948059
+       .long   1365486558
+       .long   1133527550
+       .long   1320133610
+       .long   2284475384
+       .long   3307942520
+       .long   1773896118
+       .long   2730973117
+       .long   2267055100
+       .long   2640267220
+       .long   273983472
+       .long   2320917745
+       .long   3547792237
+       .long   1166978938
+       .long   239142905
+       .long   985567145
+       .long   547966945
+       .long   346868194
+       .long   2800617179
+       .long   2333957877
+       .long   478285810
+       .long   1971134291
+       .long   1095933890
+       .long   693736388
+       .long   1306267062
+       .long   372948459
+       .long   956571621
+       .long   3942268582
+       .long   2191867780
+       .long   1387472776
+       .long   2612534124
+       .long   745896919
+       .long   1913143242
+       .long   3589569869
+       .long   88768265
+       .long   2774945552
+       .long   930100952
+       .long   1491793838
+       .long   3826286484
+       .long   2884172442
+       .long   177536531
+       .long   1254923809
+       .long   1860201905
+       .long   2983587677
+       .long   3357605672
+       .long   1473377588
+       .long   355073063
+       .long   2509847619
+       .long   3720403810
+       .long   1672208059
+       .long   2420244049
+       .long   2946755177
+       .long   710146126
+       .long   724727943
+       .long   3145840325
+       .long   3344416119
+       .long   545520802
+       .long   1598543059
+       .long   1420292253
+       .long   1449455886
+       .long   1996713354
+       .long   2393864943
+       .long   1091041605
+       .long   3197086118
+       .long   2840584506
+       .long   2898911772
+       .long   3993426708
+       .long   492762590
+       .long   2182083211
+       .long   2099204941
+       .long   1386201717
+       .long   1502856249
+       .long   3691886121
+       .long   985525180
+       .long   69199126
+       .long   4198409883
+       .long   2772403434
+       .long   3005712498
+       .long   3088804946
+       .long   1971050360
+       .long   138398252
+       .long   4101852471
+       .long   1249839573
+       .long   1716457700
+       .long   1882642597
+       .long   3942100721
+       .long   276796504
+       .long   3908737646
+       .long   2499679147
+       .long   3432915400
+       .long   3765285194
+       .long   3589234146
+       .long   553593009
+       .long   3522507997
+       .long   704390999
+       .long   2570863504
+       .long   3235603093
+       .long   2883500997
+       .long   1107186019
+       .long   2750048699
+       .long   1408781999
+       .long   846759712
+       .long   2176238891
+       .long   1472034698
+       .long   2214372039
+       .long   1205130103
+       .long   2817563999
+       .long   1693519425
+       .long   57510486
+       .long   2944069397
+       .long   133776782
+       .long   2410260206
+       .long   1340160702
+       .long   3387038850
+       .long   115020972
+       .long   1593171499
+       .long   267553565
+       .long   525553116
+       .long   2680321405
+       .long   2479110404
+       .long   230041945
+       .long   3186342998
+       .long   535107130
+       .long   1051106232
+       .long   1065675514
+       .long   663253512
+       .long   460083891
+       .long   2077718700
+       .long   1070214261
+       .long   2102212464
+       .long   2131351028
+       .long   1326507024
+       .long   920167782
+       .long   4155437400
+       .long   2140428522
+       .long   4204424928
+       .long   4262702056
+       .long   2653014048
+       .long   1840335564
+       .long   4015907504
+       .long   4280857045
+       .long   4113882560
+       .long   4230436817
+       .long   1011060801
+       .long   3680671129
+       .long   3736847713
+       .long   4266746795
+       .long   3932797825
+       .long   4165906339
+       .long   2022121603
+       .long   3066374962
+       .long   3178728131
+       .long   4238526295
+       .long   3570628355
+       .long   4036845383
+       .long   4044243207
+       .long   1837782628
+       .long   2062488966
+       .long   4182085295
+       .long   2846289414
+       .long   3778723471
+       .long   3793519119
+       .long   3675565257
+       .long   4124977933
+       .long   4069203294
+       .long   1397611533
+       .long   3262479647
+       .long   3292070943
+       .long   3056163219
+       .long   3954988571
+       .long   3843439293
+       .long   2795223067
+       .long   2229991998
+       .long   2289174591
+       .long   1817359143
+       .long   3615009846
+       .long   3391911291
+       .long   1295478838
+       .long   165016701
+       .long   283381887
+       .long   3634718287
+       .long   2935052397
+       .long   2488855287
+       .long   2590957677
+       .long   330033402
+       .long   566763775
+       .long   2974469278
+       .long   1575137499
+       .long   682743279
+       .long   886948059
+       .long   660066805
+       .long   1133527550
+       .long   1653971260
+       .long   3150274999
+       .long   1365486558
+       .long   1773896118
+       .long   1320133610
+       .long   2267055100
+       .long   3307942520
+       .long   2005582702
+       .long   2730973117
+       .long   3547792237
+       .long   2640267220
+       .long   239142905
+       .long   2320917745
+       .long   4011165404
+       .long   1166978938
+       .long   2800617179
+       .long   985567145
+       .long   478285810
+       .long   346868194
+       .long   3727363513
+       .long   2333957877
+       .long   1306267062
+       .long   1971134291
+       .long   956571621
+       .long   693736388
+       .long   3159759730
+       .long   372948459
+       .long   2612534124
+       .long   3942268582
+       .long   1913143242
+       .long   1387472776
+       .long   2024552164
+       .long   745896919
+       .long   930100952
+       .long   3589569869
+       .long   3826286484
+       .long   2774945552
+       .long   4049104329
+       .long   1491793838
+       .long   1860201905
+       .long   2884172442
+       .long   3357605672
+       .long   1254923809
+       .long   3803241362
+       .long   2983587677
+       .long   3720403810
+       .long   1473377588
+       .long   2420244049
+       .long   2509847619
+       .long   3311515428
+       .long   1672208059
+       .long   3145840325
+       .long   2946755177
+       .long   545520802
+       .long   724727943
+       .long   2328063560
+       .long   3344416119
+       .long   1996713354
+       .long   1598543059
+       .long   1091041605
+       .long   1449455886
+       .long   361159825
+       .long   2393864943
+       .long   3993426708
+       .long   3197086118
+       .long   2182083211
+       .long   2898911772
+       .long   722319651
+       .long   492762590
+       .long   3691886121
+       .long   2099204941
+       .long   69199126
+       .long   1502856249
+       .long   1444639302
+       .long   985525180
+       .long   3088804946
+       .long   4198409883
+       .long   138398252
+       .long   3005712498
+       .long   2889278605
+       .long   1971050360
+       .long   1882642597
+       .long   4101852471
+       .long   276796504
+       .long   1716457700
+       .long   1483589915
+       .long   3942100721
+       .long   3765285194
+       .long   3908737646
+       .long   553593009
+       .long   3432915400
+       .long   2967179831
+       .long   3589234146
+       .long   3235603093
+       .long   3522507997
+       .long   1107186019
+       .long   2570863504
+       .long   1639392366
+       .long   2883500997
+       .long   2176238891
+       .long   2750048699
+       .long   2214372039
+       .long   846759712
+       .long   3278784732
+       .long   1472034698
+       .long   57510486
+       .long   1205130103
+       .long   133776782
+       .long   1693519425
+       .long   2262602168
+       .long   2944069397
+       .long   115020972
+       .long   2410260206
+       .long   267553565
+       .long   3387038850
+       .long   230237041
+       .long   1593171499
+       .long   230041945
+       .long   525553116
+       .long   535107130
+       .long   2479110404
+       .long   460474083
+       .long   3186342998
+       .long   460083891
+       .long   1051106232
+       .long   1070214261
+       .long   663253512
+       .long   920948167
+       .long   2077718700
+       .long   920167782
+       .long   2102212464
+       .long   2140428522
+       .long   1326507024
+       .long   1841896334
+       .long   4155437400
+       .long   1840335564
+       .long   4204424928
+       .long   4280857045
+       .long   2653014048
+       .long   3683792669
+       .long   4015907504
+       .long   3680671129
+       .long   4113882560
+       .long   4266746795
+       .long   1011060801
+       .long   3072618042
+       .long   3736847713
+       .long   3066374962
+       .long   3932797825
+       .long   4238526295
+       .long   2022121603
+       .long   1850268788
+       .long   3178728131
+       .long   1837782628
+       .long   3570628355
+       .long   4182085295
+       .long   4044243207
+       .long   3700537577
+       .long   2062488966
+       .long   3675565257
+       .long   2846289414
+       .long   4069203294
+       .long   3793519119
+       .long   3106107858
+       .long   4124977933
+       .long   3056163219
+       .long   1397611533
+       .long   3843439293
+       .long   3292070943
+       .long   1917248420
+       .long   3954988571
+       .long   1817359143
+       .long   2795223067
+       .long   3391911291
+       .long   2289174591
+       .long   3834496840
+       .long   3615009846
+       .long   3634718287
+       .long   1295478838
+       .long   2488855287
+       .long   283381887
+       .long   3374026384
+       .long   2935052397
+       .long   2974469278
+       .long   2590957677
+       .long   682743279
+       .long   566763775
+       .long   2453085473
+       .long   1575137499
+       .long   1653971260
+       .long   886948059
+       .long   1365486558
+       .long   1133527550
+       .long   611203650
+       .long   3150274999
+       .long   3307942520
+       .long   1773896118
+       .long   2730973117
+       .long   2267055100
+       .long   1222407300
+       .long   2005582702
+       .long   2320917745
+       .long   3547792237
+       .long   1166978938
+       .long   239142905
+       .long   2444814601
+       .long   4011165404
+       .long   346868194
+       .long   2800617179
+       .long   2333957877
+       .long   478285810
+       .long   594661906
+       .long   3727363513
+       .long   693736388
+       .long   1306267062
+       .long   372948459
+       .long   956571621
+       .long   1189323812
+       .long   3159759730
+       .long   1387472776
+       .long   2612534124
+       .long   745896919
+       .long   1913143242
+       .long   2378647625
+       .long   2024552164
+       .long   2774945552
+       .long   930100952
+       .long   1491793838
+       .long   3826286484
+       .long   462327955
+       .long   4049104329
+       .long   1254923809
+       .long   1860201905
+       .long   2983587677
+       .long   3357605672
+       .long   924655910
+       .long   3803241362
+       .long   2509847619
+       .long   3720403810
+       .long   1672208059
+       .long   2420244049
+       .long   1849311821
+       .long   3311515428
+       .long   724727943
+       .long   3145840325
+       .long   3344416119
+       .long   545520802
+       .long   3698623643
+       .long   2328063560
+       .long   1449455886
+       .long   1996713354
+       .long   2393864943
+       .long   1091041605
+       .long   3102279991
+       .long   361159825
+       .long   2898911772
+       .long   3993426708
+       .long   492762590
+       .long   2182083211
+       .long   1909592686
+       .long   722319651
+       .long   1502856249
+       .long   3691886121
+       .long   985525180
+       .long   69199126
+       .long   3819185373
+       .long   1444639302
+       .long   3005712498
+       .long   3088804946
+       .long   1971050360
+       .long   138398252
+       .long   3343403450
+       .long   2889278605
+       .long   1716457700
+       .long   1882642597
+       .long   3942100721
+       .long   276796504
+       .long   2391839604
+       .long   1483589915
+       .long   3432915400
+       .long   3765285194
+       .long   3589234146
+       .long   553593009
+       .long   488711913
+       .long   2967179831
+       .long   2570863504
+       .long   3235603093
+       .long   2883500997
+       .long   1107186019
+       .long   977423826
+       .long   1639392366
+       .long   846759712
+       .long   2176238891
+       .long   1472034698
+       .long   2214372039
+       .long   1954847653
+       .long   3278784732
+       .long   1693519425
+       .long   57510486
+       .long   2944069397
+       .long   133776782
+       .long   3909695307
+       .long   2262602168
+       .long   3387038850
+       .long   115020972
+       .long   1593171499
+       .long   267553565
+       .long   3524423319
+       .long   230237041
+       .long   2479110404
+       .long   230041945
+       .long   3186342998
+       .long   535107130
+       .long   2753879342
+       .long   460474083
+       .long   663253512
+       .long   460083891
+       .long   2077718700
+       .long   1070214261
+       .long   1212791388
+       .long   920948167
+       .long   1326507024
+       .long   920167782
+       .long   4155437400
+       .long   2140428522
+       .long   2425582776
+       .long   1841896334
+       .long   2653014048
+       .long   1840335564
+       .long   4015907504
+       .long   4280857045
+       .long   556198256
+       .long   3683792669
+       .long   1011060801
+       .long   3680671129
+       .long   3736847713
+       .long   4266746795
+       .long   1112396512
+       .long   3072618042
+       .long   2022121603
+       .long   3066374962
+       .long   3178728131
+       .long   4238526295
+       .long   2224793024
+       .long   1850268788
+       .long   4044243207
+       .long   1837782628
+       .long   2062488966
+       .long   4182085295
+       .long   154618752
+       .long   3700537577
+       .long   3793519119
+       .long   3675565257
+       .long   4124977933
+       .long   4069203294
+       .long   309237504
+       .long   3106107858
+       .long   3292070943
+       .long   3056163219
+       .long   3954988571
+       .long   3843439293
+       .long   618475008
+       .long   1917248420
+       .long   2289174591
+       .long   1817359143
+       .long   3615009846
+       .long   3391911291
+       .long   1236950016
+       .long   3834496840
+       .long   283381887
+       .long   3634718287
+       .long   2935052397
+       .long   2488855287
+       .long   2473900033
+       .long   3374026384
+       .long   566763775
+       .long   2974469278
+       .long   1575137499
+       .long   682743279
+       .long   652832771
+       .long   2453085473
+       .long   1133527550
+       .long   1653971260
+       .long   3150274999
+       .long   1365486558
+       .long   1305665542
+       .long   611203650
+       .long   2267055100
+       .long   3307942520
+       .long   2005582702
+       .long   2730973117
+       .long   2611331084
+       .long   1222407300
+       .long   239142905
+       .long   2320917745
+       .long   4011165404
+       .long   1166978938
+       .long   927694873
+       .long   2444814601
+       .long   478285810
+       .long   346868194
+       .long   3727363513
+       .long   2333957877
+       .long   1855389746
+       .long   594661906
+       .long   956571621
+       .long   693736388
+       .long   3159759730
+       .long   372948459
+       .long   3710779492
+       .long   1189323812
+       .long   1913143242
+       .long   1387472776
+       .long   2024552164
+       .long   745896919
+       .long   3126591689
+       .long   2378647625
+       .long   3826286484
+       .long   2774945552
+       .long   4049104329
+       .long   1491793838
+       .long   1958216082
+       .long   462327955
+       .long   3357605672
+       .long   1254923809
+       .long   3803241362
+       .long   2983587677
+       .long   3916432164
+       .long   924655910
+       .long   2420244049
+       .long   2509847619
+       .long   3311515428
+       .long   1672208059
+       .long   3537897033
+       .long   1849311821
+       .long   545520802
+       .long   724727943
+       .long   2328063560
+       .long   3344416119
+       .long   2780826770
+       .long   3698623643
+       .long   1091041605
+       .long   1449455886
+       .long   361159825
+       .long   2393864943
+       .long   1266686244
+       .long   3102279991
+       .long   2182083211
+       .long   2898911772
+       .long   722319651
+       .long   492762590
+       .long   2533372489
+       .long   1909592686
+       .long   69199126
+       .long   1502856249
+       .long   1444639302
+       .long   985525180
+       .long   771777682
+       .long   3819185373
+       .long   138398252
+       .long   3005712498
+       .long   2889278605
+       .long   1971050360
+       .long   1543555365
+       .long   3343403450
+       .long   276796504
+       .long   1716457700
+       .long   1483589915
+       .long   3942100721
+       .long   3087110731
+       .long   2391839604
+       .long   553593009
+       .long   3432915400
+       .long   2967179831
+       .long   3589234146
+       .long   1879254167
+       .long   488711913
+       .long   1107186019
+       .long   2570863504
+       .long   1639392366
+       .long   2883500997
+       .long   3758508334
+       .long   977423826
+       .long   2214372039
+       .long   846759712
+       .long   3278784732
+       .long   1472034698
+       .long   3222049373
+       .long   1954847653
+       .long   133776782
+       .long   1693519425
+       .long   2262602168
+       .long   2944069397
+       .long   2149131451
+       .long   3909695307
+       .long   267553565
+       .long   3387038850
+       .long   230237041
+       .long   1593171499
+       .long   3295607
+       .long   3524423319
+       .long   535107130
+       .long   2479110404
+       .long   460474083
+       .long   3186342998
+       .long   6591214
+       .long   2753879342
+       .long   1070214261
+       .long   663253512
+       .long   920948167
+       .long   2077718700
+       .long   13182429
+       .long   1212791388
+       .long   2140428522
+       .long   1326507024
+       .long   1841896334
+       .long   4155437400
+       .long   26364858
+       .long   2425582776
+       .long   4280857045
+       .long   2653014048
+       .long   3683792669
+       .long   4015907504
+       .long   52729717
+       .long   556198256
+       .long   4266746795
+       .long   1011060801
+       .long   3072618042
+       .long   3736847713
+       .long   105459434
+       .long   1112396512
+       .long   4238526295
+       .long   2022121603
+       .long   1850268788
+       .long   3178728131
+       .long   210918868
+       .long   2224793024
+       .long   4182085295
+       .long   4044243207
+       .long   3700537577
+       .long   2062488966
+       .long   421837736
+       .long   154618752
+       .long   4069203294
+       .long   3793519119
+       .long   3106107858
+       .long   4124977933
+       .long   843675472
+       .long   309237504
+       .long   3843439293
+       .long   3292070943
+       .long   1917248420
+       .long   3954988571
+       .long   1687350944
+       .long   618475008
+       .long   3391911291
+       .long   2289174591
+       .long   3834496840
+       .long   3615009846
+       .long   3374701889
+       .long   1236950016
+       .long   2488855287
+       .long   283381887
+       .long   3374026384
+       .long   2935052397
+       .long   2454436482
+       .long   2473900033
+       .long   682743279
+       .long   566763775
+       .long   2453085473
+       .long   1575137499
+       .long   613905668
+       .long   652832771
+       .long   1365486558
+       .long   1133527550
+       .long   611203650
+       .long   3150274999
+       .long   1227811337
+       .long   1305665542
+       .long   2730973117
+       .long   2267055100
+       .long   1222407300
+       .long   2005582702
+       .long   2455622675
+       .long   2611331084
+       .long   1166978938
+       .long   239142905
+       .long   2444814601
+       .long   4011165404
+       .long   616278055
+       .long   927694873
+       .long   2333957877
+       .long   478285810
+       .long   594661906
+       .long   3727363513
+       .long   1232556110
+       .long   1855389746
+       .long   372948459
+       .long   956571621
+       .long   1189323812
+       .long   3159759730
+       .long   2465112221
+       .long   3710779492
+       .long   745896919
+       .long   1913143242
+       .long   2378647625
+       .long   2024552164
+       .long   635257146
+       .long   3126591689
+       .long   1491793838
+       .long   3826286484
+       .long   462327955
+       .long   4049104329
+       .long   1270514292
+       .long   1958216082
+       .long   2983587677
+       .long   3357605672
+       .long   924655910
+       .long   3803241362
+       .long   2541028584
+       .long   3916432164
+       .long   1672208059
+       .long   2420244049
+       .long   1849311821
+       .long   3311515428
+       .long   787089873
+       .long   3537897033
+       .long   3344416119
+       .long   545520802
+       .long   3698623643
+       .long   2328063560
+       .long   1574179747
+       .long   2780826770
+       .long   2393864943
+       .long   1091041605
+       .long   3102279991
+       .long   361159825
+       .long   3148359494
+       .long   1266686244
+       .long   492762590
+       .long   2182083211
+       .long   1909592686
+       .long   722319651
+       .long   2001751692
+       .long   2533372489
+       .long   985525180
+       .long   69199126
+       .long   3819185373
+       .long   1444639302
+       .long   4003503385
+       .long   771777682
+       .long   1971050360
+       .long   138398252
+       .long   3343403450
+       .long   2889278605
+       .long   3712039474
+       .long   1543555365
+       .long   3942100721
+       .long   276796504
+       .long   2391839604
+       .long   1483589915
+       .long   3129111652
+       .long   3087110731
+       .long   3589234146
+       .long   553593009
+       .long   488711913
+       .long   2967179831
+       .long   1963256009
+       .long   1879254167
+       .long   2883500997
+       .long   1107186019
+       .long   977423826
+       .long   1639392366
+       .long   3926512018
+       .long   3758508334
+       .long   1472034698
+       .long   2214372039
+       .long   1954847653
+       .long   3278784732
+       .long   3558056740
+       .long   3222049373
+       .long   2944069397
+       .long   133776782
+       .long   3909695307
+       .long   2262602168
+       .long   2821146184
+       .long   2149131451
+       .long   1593171499
+       .long   267553565
+       .long   3524423319
+       .long   230237041
+       .long   1347325072
+       .long   3295607
+       .long   3186342998
+       .long   535107130
+       .long   2753879342
+       .long   460474083
+       .long   2694650145
+       .long   6591214
+       .long   2077718700
+       .long   1070214261
+       .long   1212791388
+       .long   920948167
+       .long   1094332995
+       .long   13182429
+       .long   4155437400
+       .long   2140428522
+       .long   2425582776
+       .long   1841896334
+       .long   2188665991
+       .long   26364858
+       .long   4015907504
+       .long   4280857045
+       .long   556198256
+       .long   3683792669
+       .long   82364686
+       .long   52729717
+       .long   3736847713
+       .long   4266746795
+       .long   1112396512
+       .long   3072618042
+       .long   164729372
+       .long   105459434
+       .long   3178728131
+       .long   4238526295
+       .long   2224793024
+       .long   1850268788
+       .long   329458745
+       .long   210918868
+       .long   2062488966
+       .long   4182085295
+       .long   154618752
+       .long   3700537577
+       .long   658917491
+       .long   421837736
+       .long   4124977933
+       .long   4069203294
+       .long   309237504
+       .long   3106107858
+       .long   1317834983
+       .long   843675472
+       .long   3954988571
+       .long   3843439293
+       .long   618475008
+       .long   1917248420
+       .long   2635669967
+       .long   1687350944
+       .long   3615009846
+       .long   3391911291
+       .long   1236950016
+       .long   3834496840
+       .long   976372639
+       .long   3374701889
+       .long   2935052397
+       .long   2488855287
+       .long   2473900033
+       .long   3374026384
+       .long   1952745279
+       .long   2454436482
+       .long   1575137499
+       .long   682743279
+       .long   652832771
+       .long   2453085473
+       .long   3905490559
+       .long   613905668
+       .long   3150274999
+       .long   1365486558
+       .long   1305665542
+       .long   611203650
+       .long   3516013822
+       .long   1227811337
+       .long   2005582702
+       .long   2730973117
+       .long   2611331084
+       .long   1222407300
+       .long   2737060348
+       .long   2455622675
+       .long   4011165404
+       .long   1166978938
+       .long   927694873
+       .long   2444814601
+       .long   1179153400
+       .long   616278055
+       .long   3727363513
+       .long   2333957877
+       .long   1855389746
+       .long   594661906
+       .long   2358306800
+       .long   1232556110
+       .long   3159759730
+       .long   372948459
+       .long   3710779492
+       .long   1189323812
+       .long   421646305
+       .long   2465112221
+       .long   2024552164
+       .long   745896919
+       .long   3126591689
+       .long   2378647625
+       .long   843292611
+       .long   635257146
+       .long   4049104329
+       .long   1491793838
+       .long   1958216082
+       .long   462327955
+       .long   1686585223
+       .long   1270514292
+       .long   3803241362
+       .long   2983587677
+       .long   3916432164
+       .long   924655910
+       .long   3373170446
+       .long   2541028584
+       .long   3311515428
+       .long   1672208059
+       .long   3537897033
+       .long   1849311821
+       .long   2451373597
+       .long   787089873
+       .long   2328063560
+       .long   3344416119
+       .long   2780826770
+       .long   3698623643
+       .long   607779899
+       .long   1574179747
+       .long   361159825
+       .long   2393864943
+       .long   1266686244
+       .long   3102279991
+       .long   1215559799
+       .long   3148359494
+       .long   722319651
+       .long   492762590
+       .long   2533372489
+       .long   1909592686
+       .long   2431119599
+       .long   2001751692
+       .long   1444639302
+       .long   985525180
+       .long   771777682
+       .long   3819185373
+       .long   567271902
+       .long   4003503385
+       .long   2889278605
+       .long   1971050360
+       .long   1543555365
+       .long   3343403450
+       .long   1134543805
+       .long   3712039474
+       .long   1483589915
+       .long   3942100721
+       .long   3087110731
+       .long   2391839604
+       .long   2269087610
+       .long   3129111652
+       .long   2967179831
+       .long   3589234146
+       .long   1879254167
+       .long   488711913
+       .long   243207925
+       .long   1963256009
+       .long   1639392366
+       .long   2883500997
+       .long   3758508334
+       .long   977423826
+       .long   486415851
+       .long   3926512018
+       .long   3278784732
+       .long   1472034698
+       .long   3222049373
+       .long   1954847653
+       .long   972831702
+       .long   3558056740
+       .long   2262602168
+       .long   2944069397
+       .long   2149131451
+       .long   3909695307
+       .long   1945663404
+       .long   2821146184
+       .long   230237041
+       .long   1593171499
+       .long   3295607
+       .long   3524423319
+       .long   3891326808
+       .long   1347325072
+       .long   460474083
+       .long   3186342998
+       .long   6591214
+       .long   2753879342
+       .long   3487686321
+       .long   2694650145
+       .long   920948167
+       .long   2077718700
+       .long   13182429
+       .long   1212791388
+       .long   2680405347
+       .long   1094332995
+       .long   1841896334
+       .long   4155437400
+       .long   26364858
+       .long   2425582776
+       .long   1065843399
+       .long   2188665991
+       .long   3683792669
+       .long   4015907504
+       .long   52729717
+       .long   556198256
+       .long   2131686798
+       .long   82364686
+       .long   3072618042
+       .long   3736847713
+       .long   105459434
+       .long   1112396512
+       .long   4263373596
+       .long   164729372
+       .long   1850268788
+       .long   3178728131
+       .long   210918868
+       .long   2224793024
+       .long   4231779897
+       .long   329458745
+       .long   3700537577
+       .long   2062488966
+       .long   421837736
+       .long   154618752
+       .long   4168592498
+       .long   658917491
+       .long   3106107858
+       .long   4124977933
+       .long   843675472
+       .long   309237504
+       .long   4042217701
+       .long   1317834983
+       .long   1917248420
+       .long   3954988571
+       .long   1687350944
+       .long   618475008
+       .long   3789468107
+       .long   2635669967
+       .long   3834496840
+       .long   3615009846
+       .long   3374701889
+       .long   1236950016
+       .long   3283968918
+       .long   976372639
+       .long   3374026384
+       .long   2935052397
+       .long   2454436482
+       .long   2473900033
+       .long   2272970540
+       .long   1952745279
+       .long   2453085473
+       .long   1575137499
+       .long   613905668
+       .long   652832771
+       .long   250973784
+       .long   3905490559
+       .long   611203650
+       .long   3150274999
+       .long   1227811337
+       .long   1305665542
+       .long   501947569
+       .long   3516013822
+       .long   1222407300
+       .long   2005582702
+       .long   2455622675
+       .long   2611331084
+       .long   1003895138
+       .long   2737060348
+       .long   2444814601
+       .long   4011165404
+       .long   616278055
+       .long   927694873
+       .long   2007790276
+       .long   1179153400
+       .long   594661906
+       .long   3727363513
+       .long   1232556110
+       .long   1855389746
+       .long   4015580553
+       .long   2358306800
+       .long   1189323812
+       .long   3159759730
+       .long   2465112221
+       .long   3710779492
+       .long   3736193810
+       .long   421646305
+       .long   2378647625
+       .long   2024552164
+       .long   635257146
+       .long   3126591689
+       .long   3177420325
+       .long   843292611
+       .long   462327955
+       .long   4049104329
+       .long   1270514292
+       .long   1958216082
+       .long   2059873354
+       .long   1686585223
+       .long   924655910
+       .long   3803241362
+       .long   2541028584
+       .long   3916432164
+       .long   4119746708
+       .long   3373170446
+       .long   1849311821
+       .long   3311515428
+       .long   787089873
+       .long   3537897033
+       .long   3944526121
+       .long   2451373597
+       .long   3698623643
+       .long   2328063560
+       .long   1574179747
+       .long   2780826770
+       .long   3594084947
+       .long   607779899
+       .long   3102279991
+       .long   361159825
+       .long   3148359494
+       .long   1266686244
+       .long   2893202598
+       .long   1215559799
+       .long   1909592686
+       .long   722319651
+       .long   2001751692
+       .long   2533372489
+       .long   1491437901
+       .long   2431119599
+       .long   3819185373
+       .long   1444639302
+       .long   4003503385
+       .long   771777682
+       .long   2982875802
+       .long   567271902
+       .long   3343403450
+       .long   2889278605
+       .long   3712039474
+       .long   1543555365
+       .long   1670784308
+       .long   1134543805
+       .long   2391839604
+       .long   1483589915
+       .long   3129111652
+       .long   3087110731
+       .long   3341568617
+       .long   2269087610
+       .long   488711913
+       .long   2967179831
+       .long   1963256009
+       .long   1879254167
+       .long   2388169939
+       .long   243207925
+       .long   977423826
+       .long   1639392366
+       .long   3926512018
+       .long   3758508334
+       .long   481372583
+       .long   486415851
+       .long   1954847653
+       .long   3278784732
+       .long   3558056740
+       .long   3222049373
+       .long   962745166
+       .long   972831702
+       .long   3909695307
+       .long   2262602168
+       .long   2821146184
+       .long   2149131451
+       .long   1925490332
+       .long   1945663404
+       .long   3524423319
+       .long   230237041
+       .long   1347325072
+       .long   3295607
+       .long   3850980665
+       .long   3891326808
+       .long   2753879342
+       .long   460474083
+       .long   2694650145
+       .long   6591214
+       .long   3406994035
+       .long   3487686321
+       .long   1212791388
+       .long   920948167
+       .long   1094332995
+       .long   13182429
+       .long   2519020775
+       .long   2680405347
+       .long   2425582776
+       .long   1841896334
+       .long   2188665991
+       .long   26364858
+       .long   743074255
+       .long   1065843399
+       .long   556198256
+       .long   3683792669
+       .long   82364686
+       .long   52729717
+       .long   1486148511
+       .long   2131686798
+       .long   1112396512
+       .long   3072618042
+       .long   164729372
+       .long   105459434
+       .long   2972297022
+       .long   4263373596
+       .long   2224793024
+       .long   1850268788
+       .long   329458745
+       .long   210918868
+       .long   1649626749
+       .long   4231779897
+       .long   154618752
+       .long   3700537577
+       .long   658917491
+       .long   421837736
+       .long   3299253499
+       .long   4168592498
+       .long   309237504
+       .long   3106107858
+       .long   1317834983
+       .long   843675472
+       .long   2303539703
+       .long   4042217701
+       .long   618475008
+       .long   1917248420
+       .long   2635669967
+       .long   1687350944
+       .long   312112110
+       .long   3789468107
+       .long   1236950016
+       .long   3834496840
+       .long   976372639
+       .long   3374701889
+       .long   624224221
+       .long   3283968918
+       .long   2473900033
+       .long   3374026384
+       .long   1952745279
+       .long   2454436482
+       .long   1248448442
+       .long   2272970540
+       .long   652832771
+       .long   2453085473
+       .long   3905490559
+       .long   613905668
+       .long   2496896884
+       .long   250973784
+       .long   1305665542
+       .long   611203650
+       .long   3516013822
+       .long   1227811337
+       .long   698826472
+       .long   501947569
+       .long   2611331084
+       .long   1222407300
+       .long   2737060348
+       .long   2455622675
+       .long   1397652945
+       .long   1003895138
+       .long   927694873
+       .long   2444814601
+       .long   1179153400
+       .long   616278055
+       .long   2795305890
+       .long   2007790276
+       .long   1855389746
+       .long   594661906
+       .long   2358306800
+       .long   1232556110
+       .long   1295644484
+       .long   4015580553
+       .long   3710779492
+       .long   1189323812
+       .long   421646305
+       .long   2465112221
+       .long   2591288968
+       .long   3736193810
+       .long   3126591689
+       .long   2378647625
+       .long   843292611
+       .long   635257146
+       .long   887610640
+       .long   3177420325
+       .long   1958216082
+       .long   462327955
+       .long   1686585223
+       .long   1270514292
+       .long   1775221280
+       .long   2059873354
+       .long   3916432164
+       .long   924655910
+       .long   3373170446
+       .long   2541028584
+       .long   3550442561
+       .long   4119746708
+       .long   3537897033
+       .long   1849311821
+       .long   2451373597
+       .long   787089873
+       .long   2805917826
+       .long   3944526121
+       .long   2780826770
+       .long   3698623643
+       .long   607779899
+       .long   1574179747
+       .long   1316868356
+       .long   3594084947
+       .long   1266686244
+       .long   3102279991
+       .long   1215559799
+       .long   3148359494
+       .long   2633736712
+       .long   2893202598
+       .long   2533372489
+       .long   1909592686
+       .long   2431119599
+       .long   2001751692
+       .long   972506129
+       .long   1491437901
+       .long   771777682
+       .long   3819185373
+       .long   567271902
+       .long   4003503385
+       .long   1945012259
+       .long   2982875802
+       .long   1543555365
+       .long   3343403450
+       .long   1134543805
+       .long   3712039474
+       .long   3890024518
+       .long   1670784308
+       .long   3087110731
+       .long   2391839604
+       .long   2269087610
+       .long   3129111652
+       .long   3485081741
+       .long   3341568617
+       .long   1879254167
+       .long   488711913
+       .long   243207925
+       .long   1963256009
+       .long   2675196186
+       .long   2388169939
+       .long   3758508334
+       .long   977423826
+       .long   486415851
+       .long   3926512018
+       .long   1055425077
+       .long   481372583
+       .long   3222049373
+       .long   1954847653
+       .long   972831702
+       .long   3558056740
+       .long   2110850155
+       .long   962745166
+       .long   2149131451
+       .long   3909695307
+       .long   1945663404
+       .long   2821146184
+       .long   4221700311
+       .long   1925490332
+       .long   3295607
+       .long   3524423319
+       .long   3891326808
+       .long   1347325072
+       .long   4148433327
+       .long   3850980665
+       .long   6591214
+       .long   2753879342
+       .long   3487686321
+       .long   2694650145
+       .long   4001899359
+       .long   3406994035
+       .long   13182429
+       .long   1212791388
+       .long   2680405347
+       .long   1094332995
+       .long   3708831422
+       .long   2519020775
+       .long   26364858
+       .long   2425582776
+       .long   1065843399
+       .long   2188665991
+       .long   3122695549
+       .long   743074255
+       .long   52729717
+       .long   556198256
+       .long   2131686798
+       .long   82364686
+       .long   1950423802
+       .long   1486148511
+       .long   105459434
+       .long   1112396512
+       .long   4263373596
+       .long   164729372
+       .long   3900847605
+       .long   2972297022
+       .long   210918868
+       .long   2224793024
+       .long   4231779897
+       .long   329458745
+       .long   3506727914
+       .long   1649626749
+       .long   421837736
+       .long   154618752
+       .long   4168592498
+       .long   658917491
+       .long   2718488532
+       .long   3299253499
+       .long   843675472
+       .long   309237504
+       .long   4042217701
+       .long   1317834983
+       .long   1142009769
+       .long   2303539703
+       .long   1687350944
+       .long   618475008
+       .long   3789468107
+       .long   2635669967
+       .long   2284019538
+       .long   312112110
+       .long   3374701889
+       .long   1236950016
+       .long   3283968918
+       .long   976372639
+       .long   273071781
+       .long   624224221
+       .long   2454436482
+       .long   2473900033
+       .long   2272970540
+       .long   1952745279
+       .long   546143563
+       .long   1248448442
+       .long   613905668
+       .long   652832771
+       .long   250973784
+       .long   3905490559
+       .long   1092287127
+       .long   2496896884
+       .long   1227811337
+       .long   1305665542
+       .long   501947569
+       .long   3516013822
+       .long   2184574254
+       .long   698826472
+       .long   2455622675
+       .long   2611331084
+       .long   1003895138
+       .long   2737060348
+       .long   74181213
+       .long   1397652945
+       .long   616278055
+       .long   927694873
+       .long   2007790276
+       .long   1179153400
+       .long   148362426
+       .long   2795305890
+       .long   1232556110
+       .long   1855389746
+       .long   4015580553
+       .long   2358306800
+       .long   296724853
+       .long   1295644484
+       .long   2465112221
+       .long   3710779492
+       .long   3736193810
+       .long   421646305
+       .long   593449707
+       .long   2591288968
+       .long   635257146
+       .long   3126591689
+       .long   3177420325
+       .long   843292611
+       .long   1186899415
+       .long   887610640
+       .long   1270514292
+       .long   1958216082
+       .long   2059873354
+       .long   1686585223
+       .long   2373798830
+       .long   1775221280
+       .long   2541028584
+       .long   3916432164
+       .long   4119746708
+       .long   3373170446
+       .long   452630365
+       .long   3550442561
+       .long   787089873
+       .long   3537897033
+       .long   3944526121
+       .long   2451373597
+       .long   905260731
+       .long   2805917826
+       .long   1574179747
+       .long   2780826770
+       .long   3594084947
+       .long   607779899
+       .long   1810521462
+       .long   1316868356
+       .long   3148359494
+       .long   1266686244
+       .long   2893202598
+       .long   1215559799
+       .long   3621042925
+       .long   2633736712
+       .long   2001751692
+       .long   2533372489
+       .long   1491437901
+       .long   2431119599
+       .long   2947118554
+       .long   972506129
+       .long   4003503385
+       .long   771777682
+       .long   2982875802
+       .long   567271902
+       .long   1599269812
+       .long   1945012259
+       .long   3712039474
+       .long   1543555365
+       .long   1670784308
+       .long   1134543805
+       .long   3198539624
+       .long   3890024518
+       .long   3129111652
+       .long   3087110731
+       .long   3341568617
+       .long   2269087610
+       .long   2102111953
+       .long   3485081741
+       .long   1963256009
+       .long   1879254167
+       .long   2388169939
+       .long   243207925
+       .long   4204223906
+       .long   2675196186
+       .long   3926512018
+       .long   3758508334
+       .long   481372583
+       .long   486415851
+       .long   4113480516
+       .long   1055425077
+       .long   3558056740
+       .long   3222049373
+       .long   962745166
+       .long   972831702
+       .long   3931993737
+       .long   2110850155
+       .long   2821146184
+       .long   2149131451
+       .long   1925490332
+       .long   1945663404
+       .long   3569020178
+       .long   4221700311
+       .long   1347325072
+       .long   3295607
+       .long   3850980665
+       .long   3891326808
+       .long   2843073060
+       .long   4148433327
+       .long   2694650145
+       .long   6591214
+       .long   3406994035
+       .long   3487686321
+       .long   1391178824
+       .long   4001899359
+       .long   1094332995
+       .long   13182429
+       .long   2519020775
+       .long   2680405347
+       .long   2782357648
+       .long   3708831422
+       .long   2188665991
+       .long   26364858
+       .long   743074255
+       .long   1065843399
+       .long   1269748001
+       .long   3122695549
+       .long   82364686
+       .long   52729717
+       .long   1486148511
+       .long   2131686798
+       .long   2539496002
+       .long   1950423802
+       .long   164729372
+       .long   105459434
+       .long   2972297022
+       .long   4263373596
+       .long   784024708
+       .long   3900847605
+       .long   329458745
+       .long   210918868
+       .long   1649626749
+       .long   4231779897
+       .long   1568049417
+       .long   3506727914
+       .long   658917491
+       .long   421837736
+       .long   3299253499
+       .long   4168592498
+       .long   3136098835
+       .long   2718488532
+       .long   1317834983
+       .long   843675472
+       .long   2303539703
+       .long   4042217701
+       .long   1977230375
+       .long   1142009769
+       .long   2635669967
+       .long   1687350944
+       .long   312112110
+       .long   3789468107
+       .long   3954460750
+       .long   2284019538
+       .long   976372639
+       .long   3374701889
+       .long   624224221
+       .long   3283968918
+       .long   3613954205
+       .long   273071781
+       .long   1952745279
+       .long   2454436482
+       .long   1248448442
+       .long   2272970540
+       .long   2932941114
+       .long   546143563
+       .long   3905490559
+       .long   613905668
+       .long   2496896884
+       .long   250973784
+       .long   1570914932
+       .long   1092287127
+       .long   3516013822
+       .long   1227811337
+       .long   698826472
+       .long   501947569
+       .long   3141829865
+       .long   2184574254
+       .long   2737060348
+       .long   2455622675
+       .long   1397652945
+       .long   1003895138
+       .long   1988692435
+       .long   74181213
+       .long   1179153400
+       .long   616278055
+       .long   2795305890
+       .long   2007790276
+       .long   3977384870
+       .long   148362426
+       .long   2358306800
+       .long   1232556110
+       .long   1295644484
+       .long   4015580553
+       .long   3659802444
+       .long   296724853
+       .long   421646305
+       .long   2465112221
+       .long   2591288968
+       .long   3736193810
+       .long   3024637593
+       .long   593449707
+       .long   843292611
+       .long   635257146
+       .long   887610640
+       .long   3177420325
+       .long   1754307891
+       .long   1186899415
+       .long   1686585223
+       .long   1270514292
+       .long   1775221280
+       .long   2059873354
+       .long   3508615783
+       .long   2373798830
+       .long   3373170446
+       .long   2541028584
+       .long   3550442561
+       .long   4119746708
+       .long   2722264270
+       .long   452630365
+       .long   2451373597
+       .long   787089873
+       .long   2805917826
+       .long   3944526121
+       .long   1149561244
+       .long   905260731
+       .long   607779899
+       .long   1574179747
+       .long   1316868356
+       .long   3594084947
+       .long   2299122488
+       .long   1810521462
+       .long   1215559799
+       .long   3148359494
+       .long   2633736712
+       .long   2893202598
+       .long   303277681
+       .long   3621042925
+       .long   2431119599
+       .long   2001751692
+       .long   972506129
+       .long   1491437901
+       .long   606555363
+       .long   2947118554
+       .long   567271902
+       .long   4003503385
+       .long   1945012259
+       .long   2982875802
+       .long   1213110727
+       .long   1599269812
+       .long   1134543805
+       .long   3712039474
+       .long   3890024518
+       .long   1670784308
+       .long   2426221454
+       .long   3198539624
+       .long   2269087610
+       .long   3129111652
+       .long   3485081741
+       .long   3341568617
+       .long   557475612
+       .long   2102111953
+       .long   243207925
+       .long   1963256009
+       .long   2675196186
+       .long   2388169939
+       .long   1114951224
+       .long   4204223906
+       .long   486415851
+       .long   3926512018
+       .long   1055425077
+       .long   481372583
+       .long   2229902448
+       .long   4113480516
+       .long   972831702
+       .long   3558056740
+       .long   2110850155
+       .long   962745166
+       .long   164837600
+       .long   3931993737
+       .long   1945663404
+       .long   2821146184
+       .long   4221700311
+       .long   1925490332
+       .long   329675200
+       .long   3569020178
+       .long   3891326808
+       .long   1347325072
+       .long   4148433327
+       .long   3850980665
+       .long   659350401
+       .long   2843073060
+       .long   3487686321
+       .long   2694650145
+       .long   4001899359
+       .long   3406994035
+       .long   1318700802
+       .long   1391178824
+       .long   2680405347
+       .long   1094332995
+       .long   3708831422
+       .long   2519020775
+       .long   2637401604
+       .long   2782357648
+       .long   1065843399
+       .long   2188665991
+       .long   3122695549
+       .long   743074255
+       .long   979835913
+       .long   1269748001
+       .long   2131686798
+       .long   82364686
+       .long   1950423802
+       .long   1486148511
+       .long   1959671827
+       .long   2539496002
+       .long   4263373596
+       .long   164729372
+       .long   3900847605
+       .long   2972297022
+       .long   3919343654
+       .long   784024708
+       .long   4231779897
+       .long   329458745
+       .long   3506727914
+       .long   1649626749
+       .long   3543720013
+       .long   1568049417
+       .long   4168592498
+       .long   658917491
+       .long   2718488532
+       .long   3299253499
+       .long   2792472730
+       .long   3136098835
+       .long   4042217701
+       .long   1317834983
+       .long   1142009769
+       .long   2303539703
+       .long   1289978165
+       .long   1977230375
+       .long   3789468107
+       .long   2635669967
+       .long   2284019538
+       .long   312112110
+       .long   2579956331
+       .long   3954460750
+       .long   3283968918
+       .long   976372639
+       .long   273071781
+       .long   624224221
+       .long   864945366
+       .long   3613954205
+       .long   2272970540
+       .long   1952745279
+       .long   546143563
+       .long   1248448442
+       .long   1729890733
+       .long   2932941114
+       .long   250973784
+       .long   3905490559
+       .long   1092287127
+       .long   2496896884
+       .long   3459781466
+       .long   1570914932
+       .long   501947569
+       .long   3516013822
+       .long   2184574254
+       .long   698826472
+       .long   2624595636
+       .long   3141829865
+       .long   1003895138
+       .long   2737060348
+       .long   74181213
+       .long   1397652945
+       .long   954223976
+       .long   1988692435
+       .long   2007790276
+       .long   1179153400
+       .long   148362426
+       .long   2795305890
+       .long   1908447953
+       .long   3977384870
+       .long   4015580553
+       .long   2358306800
+       .long   296724853
+       .long   1295644484
+       .long   3816895906
+       .long   3659802444
+       .long   3736193810
+       .long   421646305
+       .long   593449707
+       .long   2591288968
+       .long   3338824517
+       .long   3024637593
+       .long   3177420325
+       .long   843292611
+       .long   1186899415
+       .long   887610640
+       .long   2382681739
+       .long   1754307891
+       .long   2059873354
+       .long   1686585223
+       .long   2373798830
+       .long   1775221280
+       .long   470396183
+       .long   3508615783
+       .long   4119746708
+       .long   3373170446
+       .long   452630365
+       .long   3550442561
+       .long   940792367
+       .long   2722264270
+       .long   3944526121
+       .long   2451373597
+       .long   905260731
+       .long   2805917826
+       .long   1881584735
+       .long   1149561244
+       .long   3594084947
+       .long   607779899
+       .long   1810521462
+       .long   1316868356
+       .long   3763169470
+       .long   2299122488
+       .long   2893202598
+       .long   1215559799
+       .long   3621042925
+       .long   2633736712
+       .long   3231371645
+       .long   303277681
+       .long   1491437901
+       .long   2431119599
+       .long   2947118554
+       .long   972506129
+       .long   2167775995
+       .long   606555363
+       .long   2982875802
+       .long   567271902
+       .long   1599269812
+       .long   1945012259
+       .long   40584695
+       .long   1213110727
+       .long   1670784308
+       .long   1134543805
+       .long   3198539624
+       .long   3890024518
+       .long   81169391
+       .long   2426221454
+       .long   3341568617
+       .long   2269087610
+       .long   2102111953
+       .long   3485081741
+       .long   162338783
+       .long   557475612
+       .long   2388169939
+       .long   243207925
+       .long   4204223906
+       .long   2675196186
+       .long   324677567
+       .long   1114951224
+       .long   481372583
+       .long   486415851
+       .long   4113480516
+       .long   1055425077
+       .long   649355134
+       .long   2229902448
+       .long   962745166
+       .long   972831702
+       .long   3931993737
+       .long   2110850155
+       .long   1298710268
+       .long   164837600
+       .long   1925490332
+       .long   1945663404
+       .long   3569020178
+       .long   4221700311
+       .long   2597420537
+       .long   329675200
+       .long   3850980665
+       .long   3891326808
+       .long   2843073060
+       .long   4148433327
+       .long   899873778
+       .long   659350401
+       .long   3406994035
+       .long   3487686321
+       .long   1391178824
+       .long   4001899359
+       .long   1799747556
+       .long   1318700802
+       .long   2519020775
+       .long   2680405347
+       .long   2782357648
+       .long   3708831422
+       .long   3599495112
+       .long   2637401604
+       .long   743074255
+       .long   1065843399
+       .long   1269748001
+       .long   3122695549
+       .long   2904022928
+       .long   979835913
+       .long   1486148511
+       .long   2131686798
+       .long   2539496002
+       .long   1950423802
+       .long   1513078560
+       .long   1959671827
+       .long   2972297022
+       .long   4263373596
+       .long   784024708
+       .long   3900847605
+       .long   3026157121
+       .long   3919343654
+       .long   1649626749
+       .long   4231779897
+       .long   1568049417
+       .long   3506727914
+       .long   1757346946
+       .long   3543720013
+       .long   3299253499
+       .long   4168592498
+       .long   3136098835
+       .long   2718488532
+       .long   3514693892
+       .long   2792472730
+       .long   2303539703
+       .long   4042217701
+       .long   1977230375
+       .long   1142009769
+       .long   2734420489
+       .long   1289978165
+       .long   312112110
+       .long   3789468107
+       .long   3954460750
+       .long   2284019538
+       .long   1173873683
+       .long   2579956331
+       .long   624224221
+       .long   3283968918
+       .long   3613954205
+       .long   273071781
+       .long   2347747367
+       .long   864945366
+       .long   1248448442
+       .long   2272970540
+       .long   2932941114
+       .long   546143563
+       .long   400527438
+       .long   1729890733
+       .long   2496896884
+       .long   250973784
+       .long   1570914932
+       .long   1092287127
+       .long   801054876
+       .long   3459781466
+       .long   698826472
+       .long   501947569
+       .long   3141829865
+       .long   2184574254
+       .long   1602109753
+       .long   2624595636
+       .long   1397652945
+       .long   1003895138
+       .long   1988692435
+       .long   74181213
+       .long   3204219507
+       .long   954223976
+       .long   2795305890
+       .long   2007790276
+       .long   3977384870
+       .long   148362426
+       .long   2113471718
+       .long   1908447953
+       .long   1295644484
+       .long   4015580553
+       .long   3659802444
+       .long   296724853
+       .long   4226943436
+       .long   3816895906
+       .long   2591288968
+       .long   3736193810
+       .long   3024637593
+       .long   593449707
+       .long   4158919577
+       .long   3338824517
+       .long   887610640
+       .long   3177420325
+       .long   1754307891
+       .long   1186899415
+       .long   4022871858
+       .long   2382681739
+       .long   1775221280
+       .long   2059873354
+       .long   3508615783
+       .long   2373798830
+       .long   3750776420
+       .long   470396183
+       .long   3550442561
+       .long   4119746708
+       .long   2722264270
+       .long   452630365
+       .long   3206585544
+       .long   940792367
+       .long   2805917826
+       .long   3944526121
+       .long   1149561244
+       .long   905260731
+       .long   2118203793
+       .long   1881584735
+       .long   1316868356
+       .long   3594084947
+       .long   2299122488
+       .long   1810521462
+       .long   4236407587
+       .long   3763169470
+       .long   2633736712
+       .long   2893202598
+       .long   303277681
+       .long   3621042925
+       .long   4177847879
+       .long   3231371645
+       .long   972506129
+       .long   1491437901
+       .long   606555363
+       .long   2947118554
+       .long   4060728462
+       .long   2167775995
+       .long   1945012259
+       .long   2982875802
+       .long   1213110727
+       .long   1599269812
+       .long   3826489629
+       .long   40584695
+       .long   3890024518
+       .long   1670784308
+       .long   2426221454
+       .long   3198539624
+       .long   3358011962
+       .long   81169391
+       .long   3485081741
+       .long   3341568617
+       .long   557475612
+       .long   2102111953
+       .long   2421056629
+       .long   162338783
+       .long   2675196186
+       .long   2388169939
+       .long   1114951224
+       .long   4204223906
+       .long   547145963
+       .long   324677567
+       .long   1055425077
+       .long   481372583
+       .long   2229902448
+       .long   4113480516
+       .long   1094291926
+       .long   649355134
+       .long   2110850155
+       .long   962745166
+       .long   164837600
+       .long   3931993737
+       .long   2188583852
+       .long   1298710268
+       .long   4221700311
+       .long   1925490332
+       .long   329675200
+       .long   3569020178
+       .long   82200408
+       .long   2597420537
+       .long   4148433327
+       .long   3850980665
+       .long   659350401
+       .long   2843073060
+       .long   164400817
+       .long   899873778
+       .long   4001899359
+       .long   3406994035
+       .long   1318700802
+       .long   1391178824
+       .long   328801635
+       .long   1799747556
+       .long   3708831422
+       .long   2519020775
+       .long   2637401604
+       .long   2782357648
+       .long   657603271
+       .long   3599495112
+       .long   3122695549
+       .long   743074255
+       .long   979835913
+       .long   1269748001
+       .long   1315206542
+       .long   2904022928
+       .long   1950423802
+       .long   1486148511
+       .long   1959671827
+       .long   2539496002
+       .long   2630413084
+       .long   1513078560
+       .long   3900847605
+       .long   2972297022
+       .long   3919343654
+       .long   784024708
+       .long   965858873
+       .long   3026157121
+       .long   3506727914
+       .long   1649626749
+       .long   3543720013
+       .long   1568049417
+       .long   1931717747
+       .long   1757346946
+       .long   2718488532
+       .long   3299253499
+       .long   2792472730
+       .long   3136098835
+       .long   3863435494
+       .long   3514693892
+       .long   1142009769
+       .long   2303539703
+       .long   1289978165
+       .long   1977230375
+       .long   3431903692
+       .long   2734420489
+       .long   2284019538
+       .long   312112110
+       .long   2579956331
+       .long   3954460750
+       .long   2568840088
+       .long   1173873683
+       .long   273071781
+       .long   624224221
+       .long   864945366
+       .long   3613954205
+       .long   842712880
+       .long   2347747367
+       .long   546143563
+       .long   1248448442
+       .long   1729890733
+       .long   2932941114
+       .long   1685425760
+       .long   400527438
+       .long   1092287127
+       .long   2496896884
+       .long   3459781466
+       .long   1570914932
+       .long   3370851521
+       .long   801054876
+       .long   2184574254
+       .long   698826472
+       .long   2624595636
+       .long   3141829865
+       .long   2446735747
+       .long   1602109753
+       .long   74181213
+       .long   1397652945
+       .long   954223976
+       .long   1988692435
+       .long   598504198
+       .long   3204219507
+       .long   148362426
+       .long   2795305890
+       .long   1908447953
+       .long   3977384870
+       .long   1197008397
+       .long   2113471718
+       .long   296724853
+       .long   1295644484
+       .long   3816895906
+       .long   3659802444
+       .long   2394016794
+       .long   4226943436
+       .long   593449707
+       .long   2591288968
+       .long   3338824517
+       .long   3024637593
+       .long   493066293
+       .long   4158919577
+       .long   1186899415
+       .long   887610640
+       .long   2382681739
+       .long   1754307891
+       .long   986132586
+       .long   4022871858
+       .long   2373798830
+       .long   1775221280
+       .long   470396183
+       .long   3508615783
+       .long   1972265172
+       .long   3750776420
+       .long   452630365
+       .long   3550442561
+       .long   940792367
+       .long   2722264270
+       .long   3944530345
+       .long   3206585544
+       .long   905260731
+       .long   2805917826
+       .long   1881584735
+       .long   1149561244
+       .long   3594093395
+       .long   2118203793
+       .long   1810521462
+       .long   1316868356
+       .long   3763169470
+       .long   2299122488
+       .long   2893219494
+       .long   4236407587
+       .long   3621042925
+       .long   2633736712
+       .long   3231371645
+       .long   303277681
+       .long   1491471692
+       .long   4177847879
+       .long   2947118554
+       .long   972506129
+       .long   2167775995
+       .long   606555363
+       .long   2982943385
+       .long   4060728462
+       .long   1599269812
+       .long   1945012259
+       .long   40584695
+       .long   1213110727
+       .long   1670919475
+       .long   3826489629
+       .long   3198539624
+       .long   3890024518
+       .long   81169391
+       .long   2426221454
+       .long   3341838951
+       .long   3358011962
+       .long   2102111953
+       .long   3485081741
+       .long   162338783
+       .long   557475612
+       .long   2388710606
+       .long   2421056629
+       .long   4204223906
+       .long   2675196186
+       .long   324677567
+       .long   1114951224
+       .long   482453916
+       .long   547145963
+       .long   4113480516
+       .long   1055425077
+       .long   649355134
+       .long   2229902448
+       .long   964907833
+       .long   1094291926
+       .long   3931993737
+       .long   2110850155
+       .long   1298710268
+       .long   164837600
+       .long   1929815667
+       .long   2188583852
+       .long   3569020178
+       .long   4221700311
+       .long   2597420537
+       .long   329675200
+       .long   3859631335
+       .long   82200408
+       .long   2843073060
+       .long   4148433327
+       .long   899873778
+       .long   659350401
+       .long   3424295375
+       .long   164400817
+       .long   1391178824
+       .long   4001899359
+       .long   1799747556
+       .long   1318700802
+       .long   2553623455
+       .long   328801635
+       .long   2782357648
+       .long   3708831422
+       .long   3599495112
+       .long   2637401604
+       .long   812279614
+       .long   657603271
+       .long   1269748001
+       .long   3122695549
+       .long   2904022928
+       .long   979835913
+       .long   1624559229
+       .long   1315206542
+       .long   2539496002
+       .long   1950423802
+       .long   1513078560
+       .long   1959671827
+       .long   3249118458
+       .long   2630413084
+       .long   784024708
+       .long   3900847605
+       .long   3026157121
+       .long   3919343654
+       .long   2203269620
+       .long   965858873
+       .long   1568049417
+       .long   3506727914
+       .long   1757346946
+       .long   3543720013
+       .long   111571945
+       .long   1931717747
+       .long   3136098835
+       .long   2718488532
+       .long   3514693892
+       .long   2792472730
+       .long   223143890
+       .long   3863435494
+       .long   1977230375
+       .long   1142009769
+       .long   2734420489
+       .long   1289978165
+       .long   446287780
+       .long   3431903692
+       .long   3954460750
+       .long   2284019538
+       .long   1173873683
+       .long   2579956331
+       .long   892575561
+       .long   2568840088
+       .long   3613954205
+       .long   273071781
+       .long   2347747367
+       .long   864945366
+       .long   1785151123
+       .long   842712880
+       .long   2932941114
+       .long   546143563
+       .long   400527438
+       .long   1729890733
+       .long   3570302247
+       .long   1685425760
+       .long   1570914932
+       .long   1092287127
+       .long   801054876
+       .long   3459781466
+       .long   2845637198
+       .long   3370851521
+       .long   3141829865
+       .long   2184574254
+       .long   1602109753
+       .long   2624595636
+       .long   1396307100
+       .long   2446735747
+       .long   1988692435
+       .long   74181213
+       .long   3204219507
+       .long   954223976
+       .long   2792614201
+       .long   598504198
+       .long   3977384870
+       .long   148362426
+       .long   2113471718
+       .long   1908447953
+       .long   1290261106
+       .long   1197008397
+       .long   3659802444
+       .long   296724853
+       .long   4226943436
+       .long   3816895906
+       .long   2580522212
+       .long   2394016794
+       .long   3024637593
+       .long   593449707
+       .long   4158919577
+       .long   3338824517
+       .long   866077128
+       .long   493066293
+       .long   1754307891
+       .long   1186899415
+       .long   4022871858
+       .long   2382681739
+       .long   1732154256
+       .long   986132586
+       .long   3508615783
+       .long   2373798830
+       .long   3750776420
+       .long   470396183
+       .long   3464308513
+       .long   1972265172
+       .long   2722264270
+       .long   452630365
+       .long   3206585544
+       .long   940792367
+       .long   2633649730
+       .long   3944530345
+       .long   1149561244
+       .long   905260731
+       .long   2118203793
+       .long   1881584735
+       .long   972332164
+       .long   3594093395
+       .long   2299122488
+       .long   1810521462
+       .long   4236407587
+       .long   3763169470
+       .long   1944664328
+       .long   2893219494
+       .long   303277681
+       .long   3621042925
+       .long   4177847879
+       .long   3231371645
+       .long   3889328657
+       .long   1491471692
+       .long   606555363
+       .long   2947118554
+       .long   4060728462
+       .long   2167775995
+       .long   3483690018
+       .long   2982943385
+       .long   1213110727
+       .long   1599269812
+       .long   3826489629
+       .long   40584695
+       .long   2672412741
+       .long   1670919475
+       .long   2426221454
+       .long   3198539624
+       .long   3358011962
+       .long   81169391
+       .long   1049858187
+       .long   3341838951
+       .long   557475612
+       .long   2102111953
+       .long   2421056629
+       .long   162338783
+       .long   2099716375
+       .long   2388710606
+       .long   1114951224
+       .long   4204223906
+       .long   547145963
+       .long   324677567
+       .long   4199432751
+       .long   482453916
+       .long   2229902448
+       .long   4113480516
+       .long   1094291926
+       .long   649355134
+       .long   4103898207
+       .long   964907833
+       .long   164837600
+       .long   3931993737
+       .long   2188583852
+       .long   1298710268
+       .long   3912829119
+       .long   1929815667
+       .long   329675200
+       .long   3569020178
+       .long   82200408
+       .long   2597420537
+       .long   3530690942
+       .long   3859631335
+       .long   659350401
+       .long   2843073060
+       .long   164400817
+       .long   899873778
+       .long   2766414588
+       .long   3424295375
+       .long   1318700802
+       .long   1391178824
+       .long   328801635
+       .long   1799747556
+       .long   1237861880
+       .long   2553623455
+       .long   2637401604
+       .long   2782357648
+       .long   657603271
+       .long   3599495112
+       .long   2475723761
+       .long   812279614
+       .long   979835913
+       .long   1269748001
+       .long   1315206542
+       .long   2904022928
+       .long   656480226
+       .long   1624559229
+       .long   1959671827
+       .long   2539496002
+       .long   2630413084
+       .long   1513078560
+       .long   1312960453
+       .long   3249118458
+       .long   3919343654
+       .long   784024708
+       .long   965858873
+       .long   3026157121
+       .long   2625920907
+       .long   2203269620
+       .long   3543720013
+       .long   1568049417
+       .long   1931717747
+       .long   1757346946
+       .long   956874519
+       .long   111571945
+       .long   2792472730
+       .long   3136098835
+       .long   3863435494
+       .long   3514693892
+       .long   1913749038
+       .long   223143890
+       .long   1289978165
+       .long   1977230375
+       .long   3431903692
+       .long   2734420489
+       .long   3827498077
+       .long   446287780
+       .long   2579956331
+       .long   3954460750
+       .long   2568840088
+       .long   1173873683
+       .long   3360028859
+       .long   892575561
+       .long   864945366
+       .long   3613954205
+       .long   842712880
+       .long   2347747367
+       .long   2425090423
+       .long   1785151123
+       .long   1729890733
+       .long   2932941114
+       .long   1685425760
+       .long   400527438
+       .long   555213551
+       .long   3570302247
+       .long   3459781466
+       .long   1570914932
+       .long   3370851521
+       .long   801054876
+       .long   1110427102
+       .long   2845637198
+       .long   2624595636
+       .long   3141829865
+       .long   2446735747
+       .long   1602109753
+       .long   2220854205
+       .long   1396307100
+       .long   954223976
+       .long   1988692435
+       .long   598504198
+       .long   3204219507
+       .long   146741115
+       .long   2792614201
+       .long   1908447953
+       .long   3977384870
+       .long   1197008397
+       .long   2113471718
+       .long   293482231
+       .long   1290261106
+       .long   3816895906
+       .long   3659802444
+       .long   2394016794
+       .long   4226943436
+       .long   586964463
+       .long   2580522212
+       .long   3338824517
+       .long   3024637593
+       .long   493066293
+       .long   4158919577
+       .long   1173928927
+       .long   866077128
+       .long   2382681739
+       .long   1754307891
+       .long   986132586
+       .long   4022871858
+       .long   2347857855
+       .long   1732154256
+       .long   470396183
+       .long   3508615783
+       .long   1972265172
+       .long   3750776420
+       .long   400748414
+       .long   3464308513
+       .long   940792367
+       .long   2722264270
+       .long   3944530345
+       .long   3206585544
+       .long   801496828
+       .long   2633649730
+       .long   1881584735
+       .long   1149561244
+       .long   3594093395
+       .long   2118203793
+       .long   1602993657
+       .long   972332164
+       .long   3763169470
+       .long   2299122488
+       .long   2893219494
+       .long   4236407587
+       .long   3205987314
+       .long   1944664328
+       .long   3231371645
+       .long   303277681
+       .long   1491471692
+       .long   4177847879
+       .long   2117007332
+       .long   3889328657
+       .long   2167775995
+       .long   606555363
+       .long   2982943385
+       .long   4060728462
+       .long   4234014665
+       .long   3483690018
+       .long   40584695
+       .long   1213110727
+       .long   1670919475
+       .long   3826489629
+       .long   4173062034
+       .long   2672412741
+       .long   81169391
+       .long   2426221454
+       .long   3341838951
+       .long   3358011962
+       .long   4051156773
+       .long   1049858187
+       .long   162338783
+       .long   557475612
+       .long   2388710606
+       .long   2421056629
+       .long   3807346250
+       .long   2099716375
+       .long   324677567
+       .long   1114951224
+       .long   482453916
+       .long   547145963
+       .long   3319725204
+       .long   4199432751
+       .long   649355134
+       .long   2229902448
+       .long   964907833
+       .long   1094291926
+       .long   2344483112
+       .long   4103898207
+       .long   1298710268
+       .long   164837600
+       .long   1929815667
+       .long   2188583852
+       .long   393998928
+       .long   3912829119
+       .long   2597420537
+       .long   329675200
+       .long   3859631335
+       .long   82200408
+       .long   787997856
+       .long   3530690942
+       .long   899873778
+       .long   659350401
+       .long   3424295375
+       .long   164400817
+       .long   1575995713
+       .long   2766414588
+       .long   1799747556
+       .long   1318700802
+       .long   2553623455
+       .long   328801635
+       .long   3151991427
+       .long   1237861880
+       .long   3599495112
+       .long   2637401604
+       .long   812279614
+       .long   657603271
+       .long   2009015559
+       .long   2475723761
+       .long   2904022928
+       .long   979835913
+       .long   1624559229
+       .long   1315206542
+       .long   4018031118
+       .long   656480226
+       .long   1513078560
+       .long   1959671827
+       .long   3249118458
+       .long   2630413084
+       .long   3741094941
+       .long   1312960453
+       .long   3026157121
+       .long   3919343654
+       .long   2203269620
+       .long   965858873
+       .long   3187222587
+       .long   2625920907
+       .long   1757346946
+       .long   3543720013
+       .long   111571945
+       .long   1931717747
+       .long   2079477878
+       .long   956874519
+       .long   3514693892
+       .long   2792472730
+       .long   223143890
+       .long   3863435494
+       .long   4158955756
+       .long   1913749038
+       .long   2734420489
+       .long   1289978165
+       .long   446287780
+       .long   3431903692
+       .long   4022944216
+       .long   3827498077
+       .long   1173873683
+       .long   2579956331
+       .long   892575561
+       .long   2568840088
+       .long   3750921137
+       .long   3360028859
+       .long   2347747367
+       .long   864945366
+       .long   1785151123
+       .long   842712880
+       .long   3206874979
+       .long   2425090423
+       .long   400527438
+       .long   1729890733
+       .long   3570302247
+       .long   1685425760
+       .long   2118782663
+       .long   555213551
+       .long   801054876
+       .long   3459781466
+       .long   2845637198
+       .long   3370851521
+       .long   4237565327
+       .long   1110427102
+       .long   1602109753
+       .long   2624595636
+       .long   1396307100
+       .long   2446735747
+       .long   4180163359
+       .long   2220854205
+       .long   3204219507
+       .long   954223976
+       .long   2792614201
+       .long   598504198
+       .long   4065359423
+       .long   146741115
+       .long   2113471718
+       .long   1908447953
+       .long   1290261106
+       .long   1197008397
+       .long   3835751551
+       .long   293482231
+       .long   4226943436
+       .long   3816895906
+       .long   2580522212
+       .long   2394016794
+       .long   3376535807
+       .long   586964463
+       .long   4158919577
+       .long   3338824517
+       .long   866077128
+       .long   493066293
+       .long   2458104319
+       .long   1173928927
+       .long   4022871858
+       .long   2382681739
+       .long   1732154256
+       .long   986132586
+       .long   621241343
+       .long   2347857855
+       .long   3750776420
+       .long   470396183
+       .long   3464308513
+       .long   1972265172
+       .long   1242482686
+       .long   400748414
+       .long   3206585544
+       .long   940792367
+       .long   2633649730
+       .long   3944530345
+       .long   2484965372
+       .long   801496828
+       .long   2118203793
+       .long   1881584735
+       .long   972332164
+       .long   3594093395
+       .long   674963448
+       .long   1602993657
+       .long   4236407587
+       .long   3763169470
+       .long   1944664328
+       .long   2893219494
+       .long   1349926897
+       .long   3205987314
+       .long   4177847879
+       .long   3231371645
+       .long   3889328657
+       .long   1491471692
+       .long   2699853794
+       .long   2117007332
+       .long   4060728462
+       .long   2167775995
+       .long   3483690018
+       .long   2982943385
+       .long   1104740292
+       .long   4234014665
+       .long   3826489629
+       .long   40584695
+       .long   2672412741
+       .long   1670919475
+       .long   2209480585
+       .long   4173062034
+       .long   3358011962
+       .long   81169391
+       .long   1049858187
+       .long   3341838951
+       .long   123993874
+       .long   4051156773
+       .long   2421056629
+       .long   162338783
+       .long   2099716375
+       .long   2388710606
+       .long   247987749
+       .long   3807346250
+       .long   547145963
+       .long   324677567
+       .long   4199432751
+       .long   482453916
+       .long   495975499
+       .long   3319725204
+       .long   1094291926
+       .long   649355134
+       .long   4103898207
+       .long   964907833
+       .long   991950999
+       .long   2344483112
+       .long   2188583852
+       .long   1298710268
+       .long   3912829119
+       .long   1929815667
+       .long   1983901999
+       .long   393998928
+       .long   82200408
+       .long   2597420537
+       .long   3530690942
+       .long   3859631335
+       .long   3967803999
+       .long   787997856
+       .long   164400817
+       .long   899873778
+       .long   2766414588
+       .long   3424295375
+       .long   3640640703
+       .long   1575995713
+       .long   328801635
+       .long   1799747556
+       .long   1237861880
+       .long   2553623455
+       .long   2986314111
+       .long   3151991427
+       .long   657603271
+       .long   3599495112
+       .long   2475723761
+       .long   812279614
+       .long   1677660927
+       .long   2009015559
+       .long   1315206542
+       .long   2904022928
+       .long   656480226
+       .long   1624559229
+       .long   3355321855
+       .long   4018031118
+       .long   2630413084
+       .long   1513078560
+       .long   1312960453
+       .long   3249118458
+       .long   2415676415
+       .long   3741094941
+       .long   965858873
+       .long   3026157121
+       .long   2625920907
+       .long   2203269620
+       .long   536385535
+       .long   3187222587
+       .long   1931717747
+       .long   1757346946
+       .long   956874519
+       .long   111571945
+       .long   1072771071
+       .long   2079477878
+       .long   3863435494
+       .long   3514693892
+       .long   1913749038
+       .long   223143890
+       .long   2145542143
+       .long   4158955756
+       .long   3431903692
+       .long   2734420489
+       .long   3827498077
+       .long   446287780
+       .long   4291084286
+       .long   4022944216
+       .long   2568840088
+       .long   1173873683
+       .long   3360028859
+       .long   892575561
+       .long   4287201277
+       .long   3750921137
+       .long   842712880
+       .long   2347747367
+       .long   2425090423
+       .long   1785151123
+       .long   4279435259
+       .long   3206874979
+       .long   1685425760
+       .long   400527438
+       .long   555213551
+       .long   3570302247
+       .long   4263903223
+       .long   2118782663
+       .long   3370851521
+       .long   801054876
+       .long   1110427102
+       .long   2845637198
+       .long   4232839151
+       .long   4237565327
+       .long   2446735747
+       .long   1602109753
+       .long   2220854205
+       .long   1396307100
+       .long   4170711006
+       .long   4180163359
+       .long   598504198
+       .long   3204219507
+       .long   146741115
+       .long   2792614201
+       .long   4046454716
+       .long   4065359423
+       .long   1197008397
+       .long   2113471718
+       .long   293482231
+       .long   1290261106
+       .long   3797942136
+       .long   3835751551
+       .long   2394016794
+       .long   4226943436
+       .long   586964463
+       .long   2580522212
+       .long   3300916976
+       .long   3376535807
+       .long   493066293
+       .long   4158919577
+       .long   1173928927
+       .long   866077128
+       .long   2306866656
+       .long   2458104319
+       .long   986132586
+       .long   4022871858
+       .long   2347857855
+       .long   1732154256
+       .long   318766016
+       .long   621241343
+       .long   1972265172
+       .long   3750776420
+       .long   400748414
+       .long   3464308513
+       .long   637532033
+       .long   1242482686
+       .long   3944530345
+       .long   3206585544
+       .long   801496828
+       .long   2633649730
+       .long   1275064066
+       .long   2484965372
+       .long   3594093395
+       .long   2118203793
+       .long   1602993657
+       .long   972332164
+       .long   2550128133
+       .long   674963448
+       .long   2893219494
+       .long   4236407587
+       .long   3205987314
+       .long   1944664328
+       .long   805288971
+       .long   1349926897
+       .long   1491471692
+       .long   4177847879
+       .long   2117007332
+       .long   3889328657
+       .long   1610577942
+       .long   2699853794
+       .long   2982943385
+       .long   4060728462
+       .long   4234014665
+       .long   3483690018
+       .long   3221155884
+       .long   1104740292
+       .long   1670919475
+       .long   3826489629
+       .long   4173062034
+       .long   2672412741
+       .long   2147344473
+       .long   2209480585
+       .long   3341838951
+       .long   3358011962
+       .long   4051156773
+       .long   1049858187
+       .long   4294688947
+       .long   123993874
+       .long   2388710606
+       .long   2421056629
+       .long   3807346250
+       .long   2099716375
+       .long   4294410598
+       .long   247987749
+       .long   482453916
+       .long   547145963
+       .long   3319725204
+       .long   4199432751
+       .long   4293853900
+       .long   495975499
+       .long   964907833
+       .long   1094291926
+       .long   2344483112
+       .long   4103898207
+       .long   4292740504
+       .long   991950999
+       .long   1929815667
+       .long   2188583852
+       .long   393998928
+       .long   3912829119
+       .long   4290513712
+       .long   1983901999
+       .long   3859631335
+       .long   82200408
+       .long   787997856
+       .long   3530690942
+       .long   4286060128
+       .long   3967803999
+       .long   3424295375
+       .long   164400817
+       .long   1575995713
+       .long   2766414588
+       .long   4277152960
+       .long   3640640703
+       .long   2553623455
+       .long   328801635
+       .long   3151991427
+       .long   1237861880
+       .long   4259338624
+       .long   2986314111
+       .long   812279614
+       .long   657603271
+       .long   2009015559
+       .long   2475723761
+       .long   4223709953
+       .long   1677660927
+       .long   1624559229
+       .long   1315206542
+       .long   4018031118
+       .long   656480226
+       .long   4152452611
+       .long   3355321855
+       .long   3249118458
+       .long   2630413084
+       .long   3741094941
+       .long   1312960453
+       .long   4009937927
+       .long   2415676415
+       .long   2203269620
+       .long   965858873
+       .long   3187222587
+       .long   2625920907
+       .long   3724908559
+       .long   536385535
+       .long   111571945
+       .long   1931717747
+       .long   2079477878
+       .long   956874519
+       .long   3154849823
+       .long   1072771071
+       .long   223143890
+       .long   3863435494
+       .long   4158955756
+       .long   1913749038
+       .long   2014732351
+       .long   2145542143
+       .long   446287780
+       .long   3431903692
+       .long   4022944216
+       .long   3827498077
+       .long   4029464703
+       .long   4291084286
+       .long   892575561
+       .long   2568840088
+       .long   3750921137
+       .long   3360028859
+       .long   3763962110
+       .long   4287201277
+       .long   1785151123
+       .long   842712880
+       .long   3206874979
+       .long   2425090423
+       .long   3232956925
+       .long   4279435259
+       .long   3570302247
+       .long   1685425760
+       .long   2118782663
+       .long   555213551
+       .long   2170946555
+       .long   4263903223
+       .long   2845637198
+       .long   3370851521
+       .long   4237565327
+       .long   1110427102
+       .long   46925815
+       .long   4232839151
+       .long   1396307100
+       .long   2446735747
+       .long   4180163359
+       .long   2220854205
+       .long   93851631
+       .long   4170711006
+       .long   2792614201
+       .long   598504198
+       .long   4065359423
+       .long   146741115
+       .long   187703262
+       .long   4046454716
+       .long   1290261106
+       .long   1197008397
+       .long   3835751551
+       .long   293482231
+       .long   375406524
+       .long   3797942136
+       .long   2580522212
+       .long   2394016794
+       .long   3376535807
+       .long   586964463
+       .long   750813049
+       .long   3300916976
+       .long   866077128
+       .long   493066293
+       .long   2458104319
+       .long   1173928927
+       .long   1501626098
+       .long   2306866656
+       .long   1732154256
+       .long   986132586
+       .long   621241343
+       .long   2347857855
+       .long   3003252197
+       .long   318766016
+       .long   3464308513
+       .long   1972265172
+       .long   1242482686
+       .long   400748414
+       .long   1711537099
+       .long   637532033
+       .long   2633649730
+       .long   3944530345
+       .long   2484965372
+       .long   801496828
+       .long   3423074199
+       .long   1275064066
+       .long   972332164
+       .long   3594093395
+       .long   674963448
+       .long   1602993657
+       .long   2551181103
+       .long   2550128133
+       .long   1944664328
+       .long   2893219494
+       .long   1349926897
+       .long   3205987314
+       .long   807394910
+       .long   805288971
+       .long   3889328657
+       .long   1491471692
+       .long   2699853794
+       .long   2117007332
+       .long   1614789820
+       .long   1610577942
+       .long   3483690018
+       .long   2982943385
+       .long   1104740292
+       .long   4234014665
+       .long   3229579640
+       .long   3221155884
+       .long   2672412741
+       .long   1670919475
+       .long   2209480585
+       .long   4173062034
+       .long   2164191985
+       .long   2147344473
+       .long   1049858187
+       .long   3341838951
+       .long   123993874
+       .long   4051156773
+       .long   33416674
+       .long   4294688947
+       .long   2099716375
+       .long   2388710606
+       .long   247987749
+       .long   3807346250
+       .long   66833348
+       .long   4294410598
+       .long   4199432751
+       .long   482453916
+       .long   495975499
+       .long   3319725204
+       .long   133666696
+       .long   4293853900
+       .long   4103898207
+       .long   964907833
+       .long   991950999
+       .long   2344483112
+       .long   267333393
+       .long   4292740504
+       .long   3912829119
+       .long   1929815667
+       .long   1983901999
+       .long   393998928
+       .long   534666787
+       .long   4290513712
+       .long   3530690942
+       .long   3859631335
+       .long   3967803999
+       .long   787997856
+       .long   1069333574
+       .long   4286060128
+       .long   2766414588
+       .long   3424295375
+       .long   3640640703
+       .long   1575995713
+       .long   2138667148
+       .long   4277152960
+       .long   1237861880
+       .long   2553623455
+       .long   2986314111
+       .long   3151991427
+       .long   4277334296
+       .long   4259338624
+       .long   2475723761
+       .long   812279614
+       .long   1677660927
+       .long   2009015559
+       .long   4259701297
+       .long   4223709953
+       .long   656480226
+       .long   1624559229
+       .long   3355321855
+       .long   4018031118
+       .long   4224435298
+       .long   4152452611
+       .long   1312960453
+       .long   3249118458
+       .long   2415676415
+       .long   3741094941
+       .long   4153903301
+       .long   4009937927
+       .long   2625920907
+       .long   2203269620
+       .long   536385535
+       .long   3187222587
+       .long   4012839307
+       .long   3724908559
+       .long   956874519
+       .long   111571945
+       .long   1072771071
+       .long   2079477878
+       .long   3730711318
+       .long   3154849823
+       .long   1913749038
+       .long   223143890
+       .long   2145542143
+       .long   4158955756
+       .long   3166455341
+       .long   2014732351
+       .long   3827498077
+       .long   446287780
+       .long   4291084286
+       .long   4022944216
+       .long   2037943386
+       .long   4029464703
+       .long   3360028859
+       .long   892575561
+       .long   4287201277
+       .long   3750921137
+       .long   4075886773
+       .long   3763962110
+       .long   2425090423
+       .long   1785151123
+       .long   4279435259
+       .long   3206874979
+       .long   3856806251
+       .long   3232956925
+       .long   555213551
+       .long   3570302247
+       .long   4263903223
+       .long   2118782663
+       .long   3418645206
+       .long   2170946555
+       .long   1110427102
+       .long   2845637198
+       .long   4232839151
+       .long   4237565327
+       .long   2542323117
+       .long   46925815
+       .long   2220854205
+       .long   1396307100
+       .long   4170711006
+       .long   4180163359
+       .long   789678938
+       .long   93851631
+       .long   146741115
+       .long   2792614201
+       .long   4046454716
+       .long   4065359423
+       .long   1579357876
+       .long   187703262
+       .long   293482231
+       .long   1290261106
+       .long   3797942136
+       .long   3835751551
+       .long   3158715752
+       .long   375406524
+       .long   586964463
+       .long   2580522212
+       .long   3300916976
+       .long   3376535807
+       .long   2022464208
+       .long   750813049
+       .long   1173928927
+       .long   866077128
+       .long   2306866656
+       .long   2458104319
+       .long   4044928416
+       .long   1501626098
+       .long   2347857855
+       .long   1732154256
+       .long   318766016
+       .long   621241343
+       .long   3794889537
+       .long   3003252197
+       .long   400748414
+       .long   3464308513
+       .long   637532033
+       .long   1242482686
+       .long   3294811778
+       .long   1711537099
+       .long   801496828
+       .long   2633649730
+       .long   1275064066
+       .long   2484965372
+       .long   2294656261
+       .long   3423074199
+       .long   1602993657
+       .long   972332164
+       .long   2550128133
+       .long   674963448
+       .long   294345226
+       .long   2551181103
+       .long   3205987314
+       .long   1944664328
+       .long   805288971
+       .long   1349926897
+       .long   588690452
+       .long   807394910
+       .long   2117007332
+       .long   3889328657
+       .long   1610577942
+       .long   2699853794
+       .long   1177380905
+       .long   1614789820
+       .long   4234014665
+       .long   3483690018
+       .long   3221155884
+       .long   1104740292
+       .long   2354761811
+       .long   3229579640
+       .long   4173062034
+       .long   2672412741
+       .long   2147344473
+       .long   2209480585
+       .long   414556326
+       .long   2164191985
+       .long   4051156773
+       .long   1049858187
+       .long   4294688947
+       .long   123993874
+       .long   829112653
+       .long   33416674
+       .long   3807346250
+       .long   2099716375
+       .long   4294410598
+       .long   247987749
+       .long   1658225307
+       .long   66833348
+       .long   3319725204
+       .long   4199432751
+       .long   4293853900
+       .long   495975499
+       .long   3316450614
+       .long   133666696
+       .long   2344483112
+       .long   4103898207
+       .long   4292740504
+       .long   991950999
+       .long   2337933933
+       .long   267333393
+       .long   393998928
+       .long   3912829119
+       .long   4290513712
+       .long   1983901999
+       .long   380900570
+       .long   534666787
+       .long   787997856
+       .long   3530690942
+       .long   4286060128
+       .long   3967803999
+       .long   761801140
+       .long   1069333574
+       .long   1575995713
+       .long   2766414588
+       .long   4277152960
+       .long   3640640703
+       .long   1523602280
+       .long   2138667148
+       .long   3151991427
+       .long   1237861880
+       .long   4259338624
+       .long   2986314111
+       .long   3047204561
+       .long   4277334296
+       .long   2009015559
+       .long   2475723761
+       .long   4223709953
+       .long   1677660927
+       .long   1799441827
+       .long   4259701297
+       .long   4018031118
+       .long   656480226
+       .long   4152452611
+       .long   3355321855
+       .long   3598883655
+       .long   4224435298
+       .long   3741094941
+       .long   1312960453
+       .long   4009937927
+       .long   2415676415
+       .long   2902800015
+       .long   4153903301
+       .long   3187222587
+       .long   2625920907
+       .long   3724908559
+       .long   536385535
+       .long   1510632735
+       .long   4012839307
+       .long   2079477878
+       .long   956874519
+       .long   3154849823
+       .long   1072771071
+       .long   3021265470
+       .long   3730711318
+       .long   4158955756
+       .long   1913749038
+       .long   2014732351
+       .long   2145542143
+       .long   1747563645
+       .long   3166455341
+       .long   4022944216
+       .long   3827498077
+       .long   4029464703
+       .long   4291084286
+       .long   3495127291
+       .long   2037943386
+       .long   3750921137
+       .long   3360028859
+       .long   3763962110
+       .long   4287201277
+       .long   2695287286
+       .long   4075886773
+       .long   3206874979
+       .long   2425090423
+       .long   3232956925
+       .long   4279435259
+       .long   1095607277
+       .long   3856806251
+       .long   2118782663
+       .long   555213551
+       .long   2170946555
+       .long   4263903223
+       .long   2191214555
+       .long   3418645206
+       .long   4237565327
+       .long   1110427102
+       .long   46925815
+       .long   4232839151
+       .long   87461814
+       .long   2542323117
+       .long   4180163359
+       .long   2220854205
+       .long   93851631
+       .long   4170711006
+       .long   174923629
+       .long   789678938
+       .long   4065359423
+       .long   146741115
+       .long   187703262
+       .long   4046454716
+       .long   349847258
+       .long   1579357876
+       .long   3835751551
+       .long   293482231
+       .long   375406524
+       .long   3797942136
+       .long   699694516
+       .long   3158715752
+       .long   3376535807
+       .long   586964463
+       .long   750813049
+       .long   3300916976
+       .long   1399389033
+       .long   2022464208
+       .long   2458104319
+       .long   1173928927
+       .long   1501626098
+       .long   2306866656
+       .long   2798778067
+       .long   4044928416
+       .long   621241343
+       .long   2347857855
+       .long   3003252197
+       .long   318766016
+       .long   1302588838
+       .long   3794889537
+       .long   1242482686
+       .long   400748414
+       .long   1711537099
+       .long   637532033
+       .long   2605177677
+       .long   3294811778
+       .long   2484965372
+       .long   801496828
+       .long   3423074199
+       .long   1275064066
+       .long   915388059
+       .long   2294656261
+       .long   674963448
+       .long   1602993657
+       .long   2551181103
+       .long   2550128133
+       .long   1830776118
+       .long   294345226
+       .long   1349926897
+       .long   3205987314
+       .long   807394910
+       .long   805288971
+       .long   3661552236
+       .long   588690452
+       .long   2699853794
+       .long   2117007332
+       .long   1614789820
+       .long   1610577942
+       .long   3028137177
+       .long   1177380905
+       .long   1104740292
+       .long   4234014665
+       .long   3229579640
+       .long   3221155884
+       .long   1761307059
+       .long   2354761811
+       .long   2209480585
+       .long   4173062034
+       .long   2164191985
+       .long   2147344473
+       .long   3522614119
+       .long   414556326
+       .long   123993874
+       .long   4051156773
+       .long   33416674
+       .long   4294688947
+       .long   2750260943
+       .long   829112653
+       .long   247987749
+       .long   3807346250
+       .long   66833348
+       .long   4294410598
+       .long   1205554591
+       .long   1658225307
+       .long   495975499
+       .long   3319725204
+       .long   133666696
+       .long   4293853900
+       .long   2411109183
+       .long   3316450614
+       .long   991950999
+       .long   2344483112
+       .long   267333393
+       .long   4292740504
+       .long   527251070
+       .long   2337933933
+       .long   1983901999
+       .long   393998928
+       .long   534666787
+       .long   4290513712
+       .long   1054502141
+       .long   380900570
+       .long   3967803999
+       .long   787997856
+       .long   1069333574
+       .long   4286060128
+       .long   2109004283
+       .long   761801140
+       .long   3640640703
+       .long   1575995713
+       .long   2138667148
+       .long   4277152960
+       .long   4218008566
+       .long   1523602280
+       .long   2986314111
+       .long   3151991427
+       .long   4277334296
+       .long   4259338624
+       .long   4141049836
+       .long   3047204561
+       .long   1677660927
+       .long   2009015559
+       .long   4259701297
+       .long   4223709953
+       .long   3987132377
+       .long   1799441827
+       .long   3355321855
+       .long   4018031118
+       .long   4224435298
+       .long   4152452611
+       .long   3679297459
+       .long   3598883655
+       .long   2415676415
+       .long   3741094941
+       .long   4153903301
+       .long   4009937927
+       .long   3063627623
+       .long   2902800015
+       .long   536385535
+       .long   3187222587
+       .long   4012839307
+       .long   3724908559
+       .long   1832287951
+       .long   1510632735
+       .long   1072771071
+       .long   2079477878
+       .long   3730711318
+       .long   3154849823
+       .long   3664575902
+       .long   3021265470
+       .long   2145542143
+       .long   4158955756
+       .long   3166455341
+       .long   2014732351
+       .long   3034184508
+       .long   1747563645
+       .long   4291084286
+       .long   4022944216
+       .long   2037943386
+       .long   4029464703
+       .long   1773401721
+       .long   3495127291
+       .long   4287201277
+       .long   3750921137
+       .long   4075886773
+       .long   3763962110
+       .long   3546803442
+       .long   2695287286
+       .long   4279435259
+       .long   3206874979
+       .long   3856806251
+       .long   3232956925
+       .long   2798639588
+       .long   1095607277
+       .long   4263903223
+       .long   2118782663
+       .long   3418645206
+       .long   2170946555
+       .long   1302311881
+       .long   2191214555
+       .long   4232839151
+       .long   4237565327
+       .long   2542323117
+       .long   46925815
+       .long   2604623763
+       .long   87461814
+       .long   4170711006
+       .long   4180163359
+       .long   789678938
+       .long   93851631
+       .long   914280231
+       .long   174923629
+       .long   4046454716
+       .long   4065359423
+       .long   1579357876
+       .long   187703262
+       .long   1828560463
+       .long   349847258
+       .long   3797942136
+       .long   3835751551
+       .long   3158715752
+       .long   375406524
+       .long   3657120927
+       .long   699694516
+       .long   3300916976
+       .long   3376535807
+       .long   2022464208
+       .long   750813049
+       .long   3019274558
+       .long   1399389033
+       .long   2306866656
+       .long   2458104319
+       .long   4044928416
+       .long   1501626098
+       .long   1743581820
+       .long   2798778067
+       .long   318766016
+       .long   621241343
+       .long   3794889537
+       .long   3003252197
+       .long   3487163641
+       .long   1302588838
+       .long   637532033
+       .long   1242482686
+       .long   3294811778
+       .long   1711537099
+       .long   2679359986
+       .long   2605177677
+       .long   1275064066
+       .long   2484965372
+       .long   2294656261
+       .long   3423074199
+       .long   1063752677
+       .long   915388059
+       .long   2550128133
+       .long   674963448
+       .long   294345226
+       .long   2551181103
+       .long   2127505355
+       .long   1830776118
+       .long   805288971
+       .long   1349926897
+       .long   588690452
+       .long   807394910
+       .long   4255010710
+       .long   3661552236
+       .long   1610577942
+       .long   2699853794
+       .long   1177380905
+       .long   1614789820
+       .long   4215054124
+       .long   3028137177
+       .long   3221155884
+       .long   1104740292
+       .long   2354761811
+       .long   3229579640
+       .long   4135140952
+       .long   1761307059
+       .long   2147344473
+       .long   2209480585
+       .long   414556326
+       .long   2164191985
+       .long   3975314608
+       .long   3522614119
+       .long   4294688947
+       .long   123993874
+       .long   829112653
+       .long   33416674
+       .long   3655661921
+       .long   2750260943
+       .long   4294410598
+       .long   247987749
+       .long   1658225307
+       .long   66833348
+       .long   3016356546
+       .long   1205554591
+       .long   4293853900
+       .long   495975499
+       .long   3316450614
+       .long   133666696
+       .long   1737745796
+       .long   2411109183
+       .long   4292740504
+       .long   991950999
+       .long   2337933933
+       .long   267333393
+       .long   3475491593
+       .long   527251070
+       .long   4290513712
+       .long   1983901999
+       .long   380900570
+       .long   534666787
+       .long   2656015891
+       .long   1054502141
+       .long   4286060128
+       .long   3967803999
+       .long   761801140
+       .long   1069333574
+       .long   1017064486
+       .long   2109004283
+       .long   4277152960
+       .long   3640640703
+       .long   1523602280
+       .long   2138667148
+       .long   2034128973
+       .long   4218008566
+       .long   4259338624
+       .long   2986314111
+       .long   3047204561
+       .long   4277334296
+       .long   4068257947
+       .long   4141049836
+       .long   4223709953
+       .long   1677660927
+       .long   1799441827
+       .long   4259701297
+       .long   3841548598
+       .long   3987132377
+       .long   4152452611
+       .long   3355321855
+       .long   3598883655
+       .long   4224435298
+       .long   3388129901
+       .long   3679297459
+       .long   4009937927
+       .long   2415676415
+       .long   2902800015
+       .long   4153903301
+       .long   2481292507
+       .long   3063627623
+       .long   3724908559
+       .long   536385535
+       .long   1510632735
+       .long   4012839307
+       .long   667617719
+       .long   1832287951
+       .long   3154849823
+       .long   1072771071
+       .long   3021265470
+       .long   3730711318
+       .long   1335235438
+       .long   3664575902
+       .long   2014732351
+       .long   2145542143
+       .long   1747563645
+       .long   3166455341
+       .long   2670470877
+       .long   3034184508
+       .long   4029464703
+       .long   4291084286
+       .long   3495127291
+       .long   2037943386
+       .long   1045974458
+       .long   1773401721
+       .long   3763962110
+       .long   4287201277
+       .long   2695287286
+       .long   4075886773
+       .long   2091948916
+       .long   3546803442
+       .long   3232956925
+       .long   4279435259
+       .long   1095607277
+       .long   3856806251
+       .long   4183897833
+       .long   2798639588
+       .long   2170946555
+       .long   4263903223
+       .long   2191214555
+       .long   3418645206
+       .long   4072828371
+       .long   1302311881
+       .long   46925815
+       .long   4232839151
+       .long   87461814
+       .long   2542323117
+       .long   3850689447
+       .long   2604623763
+       .long   93851631
+       .long   4170711006
+       .long   174923629
+       .long   789678938
+       .long   3406411599
+       .long   914280231
+       .long   187703262
+       .long   4046454716
+       .long   349847258
+       .long   1579357876
+       .long   2517855902
+       .long   1828560463
+       .long   375406524
+       .long   3797942136
+       .long   699694516
+       .long   3158715752
+       .long   740744509
+       .long   3657120927
+       .long   750813049
+       .long   3300916976
+       .long   1399389033
+       .long   2022464208
+       .long   1481489018
+       .long   3019274558
+       .long   1501626098
+       .long   2306866656
+       .long   2798778067
+       .long   4044928416
+       .long   2962978036
+       .long   1743581820
+       .long   3003252197
+       .long   318766016
+       .long   1302588838
+       .long   3794889537
+       .long   1630988776
+       .long   3487163641
+       .long   1711537099
+       .long   637532033
+       .long   2605177677
+       .long   3294811778
+       .long   3261977553
+       .long   2679359986
+       .long   3423074199
+       .long   1275064066
+       .long   915388059
+       .long   2294656261
+       .long   2228987811
+       .long   1063752677
+       .long   2551181103
+       .long   2550128133
+       .long   1830776118
+       .long   294345226
+       .long   163008326
+       .long   2127505355
+       .long   807394910
+       .long   805288971
+       .long   3661552236
+       .long   588690452
+       .long   326016652
+       .long   4255010710
+       .long   1614789820
+       .long   1610577942
+       .long   3028137177
+       .long   1177380905
+       .long   652033304
+       .long   4215054124
+       .long   3229579640
+       .long   3221155884
+       .long   1761307059
+       .long   2354761811
+       .long   1304066609
+       .long   4135140952
+       .long   2164191985
+       .long   2147344473
+       .long   3522614119
+       .long   414556326
+       .long   2608133219
+       .long   3975314608
+       .long   33416674
+       .long   4294688947
+       .long   2750260943
+       .long   829112653
+       .long   921299143
+       .long   3655661921
+       .long   66833348
+       .long   4294410598
+       .long   1205554591
+       .long   1658225307
+       .long   1842598287
+       .long   3016356546
+       .long   133666696
+       .long   4293853900
+       .long   2411109183
+       .long   3316450614
+       .long   3685196575
+       .long   1737745796
+       .long   267333393
+       .long   4292740504
+       .long   527251070
+       .long   2337933933
+       .long   3075425855
+       .long   3475491593
+       .long   534666787
+       .long   4290513712
+       .long   1054502141
+       .long   380900570
+       .long   1855884414
+       .long   2656015891
+       .long   1069333574
+       .long   4286060128
+       .long   2109004283
+       .long   761801140
+       .long   3711768829
+       .long   1017064486
+       .long   2138667148
+       .long   4277152960
+       .long   4218008566
+       .long   1523602280
+       .long   3128570363
+       .long   2034128973
+       .long   4277334296
+       .long   4259338624
+       .long   4141049836
+       .long   3047204561
+       .long   1962173430
+       .long   4068257947
+       .long   4259701297
+       .long   4223709953
+       .long   3987132377
+       .long   1799441827
+       .long   3924346860
+       .long   3841548598
+       .long   4224435298
+       .long   4152452611
+       .long   3679297459
+       .long   3598883655
+       .long   3553726425
+       .long   3388129901
+       .long   4153903301
+       .long   4009937927
+       .long   3063627623
+       .long   2902800015
+       .long   2812485555
+       .long   2481292507
+       .long   4012839307
+       .long   3724908559
+       .long   1832287951
+       .long   1510632735
+       .long   1330003814
+       .long   667617719
+       .long   3730711318
+       .long   3154849823
+       .long   3664575902
+       .long   3021265470
+       .long   2660007629
+       .long   1335235438
+       .long   3166455341
+       .long   2014732351
+       .long   3034184508
+       .long   1747563645
+       .long   1025047962
+       .long   2670470877
+       .long   2037943386
+       .long   4029464703
+       .long   1773401721
+       .long   3495127291
+       .long   2050095924
+       .long   1045974458
+       .long   4075886773
+       .long   3763962110
+       .long   3546803442
+       .long   2695287286
+       .long   4100191849
+       .long   2091948916
+       .long   3856806251
+       .long   3232956925
+       .long   2798639588
+       .long   1095607277
+       .long   3905416403
+       .long   4183897833
+       .long   3418645206
+       .long   2170946555
+       .long   1302311881
+       .long   2191214555
+       .long   3515865511
+       .long   4072828371
+       .long   2542323117
+       .long   46925815
+       .long   2604623763
+       .long   87461814
+       .long   2736763727
+       .long   3850689447
+       .long   789678938
+       .long   93851631
+       .long   914280231
+       .long   174923629
+       .long   1178560158
+       .long   3406411599
+       .long   1579357876
+       .long   187703262
+       .long   1828560463
+       .long   349847258
+       .long   2357120316
+       .long   2517855902
+       .long   3158715752
+       .long   375406524
+       .long   3657120927
+       .long   699694516
+       .long   419273337
+       .long   740744509
+       .long   2022464208
+       .long   750813049
+       .long   3019274558
+       .long   1399389033
+       .long   838546674
+       .long   1481489018
+       .long   4044928416
+       .long   1501626098
+       .long   1743581820
+       .long   2798778067
+       .long   1677093349
+       .long   2962978036
+       .long   3794889537
+       .long   3003252197
+       .long   3487163641
+       .long   1302588838
+       .long   3354186699
+       .long   1630988776
+       .long   3294811778
+       .long   1711537099
+       .long   2679359986
+       .long   2605177677
+       .long   2413406103
+       .long   3261977553
+       .long   2294656261
+       .long   3423074199
+       .long   1063752677
+       .long   915388059
+       .long   531844911
+       .long   2228987811
+       .long   294345226
+       .long   2551181103
+       .long   2127505355
+       .long   1830776118
+       .long   1063689823
+       .long   163008326
+       .long   588690452
+       .long   807394910
+       .long   4255010710
+       .long   3661552236
+       .long   2127379647
+       .long   326016652
+       .long   1177380905
+       .long   1614789820
+       .long   4215054124
+       .long   3028137177
+       .long   4254759295
+       .long   652033304
+       .long   2354761811
+       .long   3229579640
+       .long   4135140952
+       .long   1761307059
+       .long   4214551295
+       .long   1304066609
+       .long   414556326
+       .long   2164191985
+       .long   3975314608
+       .long   3522614119
+       .long   4134135294
+       .long   2608133219
+       .long   829112653
+       .long   33416674
+       .long   3655661921
+       .long   2750260943
+       .long   3973303293
+       .long   921299143
+       .long   1658225307
+       .long   66833348
+       .long   3016356546
+       .long   1205554591
+       .long   3651639290
+       .long   1842598287
+       .long   3316450614
+       .long   133666696
+       .long   1737745796
+       .long   2411109183
+       .long   3008311285
+       .long   3685196575
+       .long   2337933933
+       .long   267333393
+       .long   3475491593
+       .long   527251070
+       .long   1721655274
+       .long   3075425855
+       .long   380900570
+       .long   534666787
+       .long   2656015891
+       .long   1054502141
+       .long   3443310548
+       .long   1855884414
+       .long   761801140
+       .long   1069333574
+       .long   1017064486
+       .long   2109004283
+       .long   2591653800
+       .long   3711768829
+       .long   1523602280
+       .long   2138667148
+       .long   2034128973
+       .long   4218008566
+       .long   888340305
+       .long   3128570363
+       .long   3047204561
+       .long   4277334296
+       .long   4068257947
+       .long   4141049836
+       .long   1776680610
+       .long   1962173430
+       .long   1799441827
+       .long   4259701297
+       .long   3841548598
+       .long   3987132377
+       .long   3553361221
+       .long   3924346860
+       .long   3598883655
+       .long   4224435298
+       .long   3388129901
+       .long   3679297459
+       .long   2811755147
+       .long   3553726425
+       .long   2902800015
+       .long   4153903301
+       .long   2481292507
+       .long   3063627623
+       .long   1328542998
+       .long   2812485555
+       .long   1510632735
+       .long   4012839307
+       .long   667617719
+       .long   1832287951
+       .long   2657085997
+       .long   1330003814
+       .long   3021265470
+       .long   3730711318
+       .long   1335235438
+       .long   3664575902
+       .long   1019204698
+       .long   2660007629
+       .long   1747563645
+       .long   3166455341
+       .long   2670470877
+       .long   3034184508
+       .long   2038409397
+       .long   1025047962
+       .long   3495127291
+       .long   2037943386
+       .long   1045974458
+       .long   1773401721
+       .long   4076818795
+       .long   2050095924
+       .long   2695287286
+       .long   4075886773
+       .long   2091948916
+       .long   3546803442
+       .long   3858670295
+       .long   4100191849
+       .long   1095607277
+       .long   3856806251
+       .long   4183897833
+       .long   2798639588
+       .long   3422373294
+       .long   3905416403
+       .long   2191214555
+       .long   3418645206
+       .long   4072828371
+       .long   1302311881
+       .long   2549779293
+       .long   3515865511
+       .long   87461814
+       .long   2542323117
+       .long   3850689447
+       .long   2604623763
+       .long   804591290
+       .long   2736763727
+       .long   174923629
+       .long   789678938
+       .long   3406411599
+       .long   914280231
+       .long   1609182581
+       .long   1178560158
+       .long   349847258
+       .long   1579357876
+       .long   2517855902
+       .long   1828560463
+       .long   3218365162
+       .long   2357120316
+       .long   699694516
+       .long   3158715752
+       .long   740744509
+       .long   3657120927
+       .long   2141763028
+       .long   419273337
+       .long   1399389033
+       .long   2022464208
+       .long   1481489018
+       .long   3019274558
+       .long   4283526057
+       .long   838546674
+       .long   2798778067
+       .long   4044928416
+       .long   2962978036
+       .long   1743581820
+       .long   4272084818
+       .long   1677093349
+       .long   1302588838
+       .long   3794889537
+       .long   1630988776
+       .long   3487163641
+       .long   4249202340
+       .long   3354186699
+       .long   2605177677
+       .long   3294811778
+       .long   3261977553
+       .long   2679359986
+       .long   4203437385
+       .long   2413406103
+       .long   915388059
+       .long   2294656261
+       .long   2228987811
+       .long   1063752677
+       .long   4111907475
+       .long   531844911
+       .long   1830776118
+       .long   294345226
+       .long   163008326
+       .long   2127505355
+       .long   3928847655
+       .long   1063689823
+       .long   3661552236
+       .long   588690452
+       .long   326016652
+       .long   4255010710
+       .long   3562728015
+       .long   2127379647
+       .long   3028137177
+       .long   1177380905
+       .long   652033304
+       .long   4215054124
+       .long   2830488734
+       .long   4254759295
+       .long   1761307059
+       .long   2354761811
+       .long   1304066609
+       .long   4135140952
+       .long   1366010173
+       .long   4214551295
+       .long   3522614119
+       .long   414556326
+       .long   2608133219
+       .long   3975314608
+       .long   2732020347
+       .long   4134135294
+       .long   2750260943
+       .long   829112653
+       .long   921299143
+       .long   3655661921
+       .long   1169073399
+       .long   3973303293
+       .long   1205554591
+       .long   1658225307
+       .long   1842598287
+       .long   3016356546
+       .long   2338146798
+       .long   3651639290
+       .long   2411109183
+       .long   3316450614
+       .long   3685196575
+       .long   1737745796
+       .long   381326301
+       .long   3008311285
+       .long   527251070
+       .long   2337933933
+       .long   3075425855
+       .long   3475491593
+       .long   762652602
+       .long   1721655274
+       .long   1054502141
+       .long   380900570
+       .long   1855884414
+       .long   2656015891
+       .long   1525305205
+       .long   3443310548
+       .long   2109004283
+       .long   761801140
+       .long   3711768829
+       .long   1017064486
+       .long   3050610411
+       .long   2591653800
+       .long   4218008566
+       .long   1523602280
+       .long   3128570363
+       .long   2034128973
+       .long   1806253526
+       .long   888340305
+       .long   4141049836
+       .long   3047204561
+       .long   1962173430
+       .long   4068257947
+       .long   3612507052
+       .long   1776680610
+       .long   3987132377
+       .long   1799441827
+       .long   3924346860
+       .long   3841548598
+       .long   2930046808
+       .long   3553361221
+       .long   3679297459
+       .long   3598883655
+       .long   3553726425
+       .long   3388129901
+       .long   1565126321
+       .long   2811755147
+       .long   3063627623
+       .long   2902800015
+       .long   2812485555
+       .long   2481292507
+       .long   3130252643
+       .long   1328542998
+       .long   1832287951
+       .long   1510632735
+       .long   1330003814
+       .long   667617719
+       .long   1965537991
+       .long   2657085997
+       .long   3664575902
+       .long   3021265470
+       .long   2660007629
+       .long   1335235438
+       .long   3931075983
+       .long   1019204698
+       .long   3034184508
+       .long   1747563645
+       .long   1025047962
+       .long   2670470877
+       .long   3567184671
+       .long   2038409397
+       .long   1773401721
+       .long   3495127291
+       .long   2050095924
+       .long   1045974458
+       .long   2839402047
+       .long   4076818795
+       .long   3546803442
+       .long   2695287286
+       .long   4100191849
+       .long   2091948916
+       .long   1383836798
+       .long   3858670295
+       .long   2798639588
+       .long   1095607277
+       .long   3905416403
+       .long   4183897833
+       .long   2767673597
+       .long   3422373294
+       .long   1302311881
+       .long   2191214555
+       .long   3515865511
+       .long   4072828371
+       .long   1240379898
+       .long   2549779293
+       .long   2604623763
+       .long   87461814
+       .long   2736763727
+       .long   3850689447
+       .long   2480759797
+       .long   804591290
+       .long   914280231
+       .long   174923629
+       .long   1178560158
+       .long   3406411599
+       .long   666552299
+       .long   1609182581
+       .long   1828560463
+       .long   349847258
+       .long   2357120316
+       .long   2517855902
+       .long   1333104599
+       .long   3218365162
+       .long   3657120927
+       .long   699694516
+       .long   419273337
+       .long   740744509
+       .long   2666209199
+       .long   2141763028
+       .long   3019274558
+       .long   1399389033
+       .long   838546674
+       .long   1481489018
+       .long   1037451103
+       .long   4283526057
+       .long   1743581820
+       .long   2798778067
+       .long   1677093349
+       .long   2962978036
+       .long   2074902206
+       .long   4272084818
+       .long   3487163641
+       .long   1302588838
+       .long   3354186699
+       .long   1630988776
+       .long   4149804412
+       .long   4249202340
+       .long   2679359986
+       .long   2605177677
+       .long   2413406103
+       .long   3261977553
+       .long   4004641529
+       .long   4203437385
+       .long   1063752677
+       .long   915388059
+       .long   531844911
+       .long   2228987811
+       .long   3714315762
+       .long   4111907475
+       .long   2127505355
+       .long   1830776118
+       .long   1063689823
+       .long   163008326
+       .long   3133664229
+       .long   3928847655
+       .long   4255010710
+       .long   3661552236
+       .long   2127379647
+       .long   326016652
+       .long   1972361163
+       .long   3562728015
+       .long   4215054124
+       .long   3028137177
+       .long   4254759295
+       .long   652033304
+       .long   3944722327
+       .long   2830488734
+       .long   4135140952
+       .long   1761307059
+       .long   4214551295
+       .long   1304066609
+       .long   3594477359
+       .long   1366010173
+       .long   3975314608
+       .long   3522614119
+       .long   4134135294
+       .long   2608133219
+       .long   2893987423
+       .long   2732020347
+       .long   3655661921
+       .long   2750260943
+       .long   3973303293
+       .long   921299143
+       .long   1493007550
+       .long   1169073399
+       .long   3016356546
+       .long   1205554591
+       .long   3651639290
+       .long   1842598287
+       .long   2986015100
+       .long   2338146798
+       .long   1737745796
+       .long   2411109183
+       .long   3008311285
+       .long   3685196575
+       .long   1677062904
+       .long   381326301
+       .long   3475491593
+       .long   527251070
+       .long   1721655274
+       .long   3075425855
+       .long   3354125809
+       .long   762652602
+       .long   2656015891
+       .long   1054502141
+       .long   3443310548
+       .long   1855884414
+       .long   2413284322
+       .long   1525305205
+       .long   1017064486
+       .long   2109004283
+       .long   2591653800
+       .long   3711768829
+       .long   531601349
+       .long   3050610411
+       .long   2034128973
+       .long   4218008566
+       .long   888340305
+       .long   3128570363
+       .long   1063202699
+       .long   1806253526
+       .long   4068257947
+       .long   4141049836
+       .long   1776680610
+       .long   1962173430
+       .long   2126405399
+       .long   3612507052
+       .long   3841548598
+       .long   3987132377
+       .long   3553361221
+       .long   3924346860
+       .long   4252810799
+       .long   2930046808
+       .long   3388129901
+       .long   3679297459
+       .long   2811755147
+       .long   3553726425
+       .long   4210654302
+       .long   1565126321
+       .long   2481292507
+       .long   3063627623
+       .long   1328542998
+       .long   2812485555
+       .long   4126341309
+       .long   3130252643
+       .long   667617719
+       .long   1832287951
+       .long   2657085997
+       .long   1330003814
+       .long   3957715323
+       .long   1965537991
+       .long   1335235438
+       .long   3664575902
+       .long   1019204698
+       .long   2660007629
+       .long   3620463350
+       .long   3931075983
+       .long   2670470877
+       .long   3034184508
+       .long   2038409397
+       .long   1025047962
+       .long   2945959404
+       .long   3567184671
+       .long   1045974458
+       .long   1773401721
+       .long   4076818795
+       .long   2050095924
+       .long   1596951513
+       .long   2839402047
+       .long   2091948916
+       .long   3546803442
+       .long   3858670295
+       .long   4100191849
+       .long   3193903027
+       .long   1383836798
+       .long   4183897833
+       .long   2798639588
+       .long   3422373294
+       .long   3905416403
+       .long   2092838759
+       .long   2767673597
+       .long   4072828371
+       .long   1302311881
+       .long   2549779293
+       .long   3515865511
+       .long   4185677519
+       .long   1240379898
+       .long   3850689447
+       .long   2604623763
+       .long   804591290
+       .long   2736763727
+       .long   4076387742
+       .long   2480759797
+       .long   3406411599
+       .long   914280231
+       .long   1609182581
+       .long   1178560158
+       .long   3857808189
+       .long   666552299
+       .long   2517855902
+       .long   1828560463
+       .long   3218365162
+       .long   2357120316
+       .long   3420649082
+       .long   1333104599
+       .long   740744509
+       .long   3657120927
+       .long   2141763028
+       .long   419273337
+       .long   2546330868
+       .long   2666209199
+       .long   1481489018
+       .long   3019274558
+       .long   4283526057
+       .long   838546674
+       .long   797694440
+       .long   1037451103
+       .long   2962978036
+       .long   1743581820
+       .long   4272084818
+       .long   1677093349
+       .long   1595388880
+       .long   2074902206
+       .long   1630988776
+       .long   3487163641
+       .long   4249202340
+       .long   3354186699
+       .long   3190777760
+       .long   4149804412
+       .long   3261977553
+       .long   2679359986
+       .long   4203437385
+       .long   2413406103
+       .long   2086588225
+       .long   4004641529
+       .long   2228987811
+       .long   1063752677
+       .long   4111907475
+       .long   531844911
+       .long   4173176451
+       .long   3714315762
+       .long   163008326
+       .long   2127505355
+       .long   3928847655
+       .long   1063689823
+       .long   4051385607
+       .long   3133664229
+       .long   326016652
+       .long   4255010710
+       .long   3562728015
+       .long   2127379647
+       .long   3807803918
+       .long   1972361163
+       .long   652033304
+       .long   4215054124
+       .long   2830488734
+       .long   4254759295
+       .long   3320640540
+       .long   3944722327
+       .long   1304066609
+       .long   4135140952
+       .long   1366010173
+       .long   4214551295
+       .long   2346313785
+       .long   3594477359
+       .long   2608133219
+       .long   3975314608
+       .long   2732020347
+       .long   4134135294
+       .long   397660275
+       .long   2893987423
+       .long   921299143
+       .long   3655661921
+       .long   1169073399
+       .long   3973303293
+       .long   795320551
+       .long   1493007550
+       .long   1842598287
+       .long   3016356546
+       .long   2338146798
+       .long   3651639290
+       .long   1590641102
+       .long   2986015100
+       .long   3685196575
+       .long   1737745796
+       .long   381326301
+       .long   3008311285
+       .long   3181282204
+       .long   1677062904
+       .long   3075425855
+       .long   3475491593
+       .long   762652602
+       .long   1721655274
+       .long   2067597113
+       .long   3354125809
+       .long   1855884414
+       .long   2656015891
+       .long   1525305205
+       .long   3443310548
+       .long   4135194227
+       .long   2413284322
+       .long   3711768829
+       .long   1017064486
+       .long   3050610411
+       .long   2591653800
+       .long   3975421159
+       .long   531601349
+       .long   3128570363
+       .long   2034128973
+       .long   1806253526
+       .long   888340305
+       .long   3655875023
+       .long   1063202699
+       .long   1962173430
+       .long   4068257947
+       .long   3612507052
+       .long   1776680610
+       .long   3016782751
+       .long   2126405399
+       .long   3924346860
+       .long   3841548598
+       .long   2930046808
+       .long   3553361221
+       .long   1738598206
+       .long   4252810799
+       .long   3553726425
+       .long   3388129901
+       .long   1565126321
+       .long   2811755147
+       .long   3477196413
+       .long   4210654302
+       .long   2812485555
+       .long   2481292507
+       .long   3130252643
+       .long   1328542998
+       .long   2659425531
+       .long   4126341309
+       .long   1330003814
+       .long   667617719
+       .long   1965537991
+       .long   2657085997
+       .long   1023883767
+       .long   3957715323
+       .long   2660007629
+       .long   1335235438
+       .long   3931075983
+       .long   1019204698
+       .long   2047767535
+       .long   3620463350
+       .long   1025047962
+       .long   2670470877
+       .long   3567184671
+       .long   2038409397
+       .long   4095535070
+       .long   2945959404
+       .long   2050095924
+       .long   1045974458
+       .long   2839402047
+       .long   4076818795
+       .long   3896102844
+       .long   1596951513
+       .long   4100191849
+       .long   2091948916
+       .long   1383836798
+       .long   3858670295
+       .long   3497238392
+       .long   3193903027
+       .long   3905416403
+       .long   4183897833
+       .long   2767673597
+       .long   3422373294
+       .long   2699509489
+       .long   2092838759
+       .long   3515865511
+       .long   4072828371
+       .long   1240379898
+       .long   2549779293
+       .long   1104051682
+       .long   4185677519
+       .long   2736763727
+       .long   3850689447
+       .long   2480759797
+       .long   804591290
+       .long   2208103365
+       .long   4076387742
+       .long   1178560158
+       .long   3406411599
+       .long   666552299
+       .long   1609182581
+       .long   121239434
+       .long   3857808189
+       .long   2357120316
+       .long   2517855902
+       .long   1333104599
+       .long   3218365162
+       .long   242478868
+       .long   3420649082
+       .long   419273337
+       .long   740744509
+       .long   2666209199
+       .long   2141763028
+       .long   484957737
+       .long   2546330868
+       .long   838546674
+       .long   1481489018
+       .long   1037451103
+       .long   4283526057
+       .long   969915474
+       .long   797694440
+       .long   1677093349
+       .long   2962978036
+       .long   2074902206
+       .long   4272084818
+       .long   1939830949
+       .long   1595388880
+       .long   3354186699
+       .long   1630988776
+       .long   4149804412
+       .long   4249202340
+       .long   3879661898
+       .long   3190777760
+       .long   2413406103
+       .long   3261977553
+       .long   4004641529
+       .long   4203437385
+       .long   3464356500
+       .long   2086588225
+       .long   531844911
+       .long   2228987811
+       .long   3714315762
+       .long   4111907475
+       .long   2633745705
+       .long   4173176451
+       .long   1063689823
+       .long   163008326
+       .long   3133664229
+       .long   3928847655
+       .long   972524114
+       .long   4051385607
+       .long   2127379647
+       .long   326016652
+       .long   1972361163
+       .long   3562728015
+       .long   1945048229
+       .long   3807803918
+       .long   4254759295
+       .long   652033304
+       .long   3944722327
+       .long   2830488734
+       .long   3890096458
+       .long   3320640540
+       .long   4214551295
+       .long   1304066609
+       .long   3594477359
+       .long   1366010173
+       .long   3485225620
+       .long   2346313785
+       .long   4134135294
+       .long   2608133219
+       .long   2893987423
+       .long   2732020347
+       .long   2675483945
+       .long   397660275
+       .long   3973303293
+       .long   921299143
+       .long   1493007550
+       .long   1169073399
+       .long   1056000594
+       .long   795320551
+       .long   3651639290
+       .long   1842598287
+       .long   2986015100
+       .long   2338146798
+       .long   2112001188
+       .long   1590641102
+       .long   3008311285
+       .long   3685196575
+       .long   1677062904
+       .long   381326301
+       .long   4224002377
+       .long   3181282204
+       .long   1721655274
+       .long   3075425855
+       .long   3354125809
+       .long   762652602
+       .long   4153037458
+       .long   2067597113
+       .long   3443310548
+       .long   1855884414
+       .long   2413284322
+       .long   1525305205
+       .long   4011107621
+       .long   4135194227
+       .long   2591653800
+       .long   3711768829
+       .long   531601349
+       .long   3050610411
+       .long   3727247947
+       .long   3975421159
+       .long   888340305
+       .long   3128570363
+       .long   1063202699
+       .long   1806253526
+       .long   3159528599
+       .long   3655875023
+       .long   1776680610
+       .long   1962173430
+       .long   2126405399
+       .long   3612507052
+       .long   2024089902
+       .long   3016782751
+       .long   3553361221
+       .long   3924346860
+       .long   4252810799
+       .long   2930046808
+       .long   4048179805
+       .long   1738598206
+       .long   2811755147
+       .long   3553726425
+       .long   4210654302
+       .long   1565126321
+       .long   3801392314
+       .long   3477196413
+       .long   1328542998
+       .long   2812485555
+       .long   4126341309
+       .long   3130252643
+       .long   3307817333
+       .long   2659425531
+       .long   2657085997
+       .long   1330003814
+       .long   3957715323
+       .long   1965537991
+       .long   2320667370
+       .long   1023883767
+       .long   1019204698
+       .long   2660007629
+       .long   3620463350
+       .long   3931075983
+       .long   346367444
+       .long   2047767535
+       .long   2038409397
+       .long   1025047962
+       .long   2945959404
+       .long   3567184671
+       .long   692734889
+       .long   4095535070
+       .long   4076818795
+       .long   2050095924
+       .long   1596951513
+       .long   2839402047
+       .long   1385469779
+       .long   3896102844
+       .long   3858670295
+       .long   4100191849
+       .long   3193903027
+       .long   1383836798
+       .long   2770939558
+       .long   3497238392
+       .long   3422373294
+       .long   3905416403
+       .long   2092838759
+       .long   2767673597
+       .long   1246911821
+       .long   2699509489
+       .long   2549779293
+       .long   3515865511
+       .long   4185677519
+       .long   1240379898
+       .long   2493823642
+       .long   1104051682
+       .long   804591290
+       .long   2736763727
+       .long   4076387742
+       .long   2480759797
+       .long   692679989
+       .long   2208103365
+       .long   1609182581
+       .long   1178560158
+       .long   3857808189
+       .long   666552299
+       .long   1385359979
+       .long   121239434
+       .long   3218365162
+       .long   2357120316
+       .long   3420649082
+       .long   1333104599
+       .long   2770719959
+       .long   242478868
+       .long   2141763028
+       .long   419273337
+       .long   2546330868
+       .long   2666209199
+       .long   1246472623
+       .long   484957737
+       .long   4283526057
+       .long   838546674
+       .long   797694440
+       .long   1037451103
+       .long   2492945247
+       .long   969915474
+       .long   4272084818
+       .long   1677093349
+       .long   1595388880
+       .long   2074902206
+       .long   690923199
+       .long   1939830949
+       .long   4249202340
+       .long   3354186699
+       .long   3190777760
+       .long   4149804412
+       .long   1381846399
+       .long   3879661898
+       .long   4203437385
+       .long   2413406103
+       .long   2086588225
+       .long   4004641529
+       .long   2763692798
+       .long   3464356500
+       .long   4111907475
+       .long   531844911
+       .long   4173176451
+       .long   3714315762
+       .long   1232418301
+       .long   2633745705
+       .long   3928847655
+       .long   1063689823
+       .long   4051385607
+       .long   3133664229
+       .long   2464836603
+       .long   972524114
+       .long   3562728015
+       .long   2127379647
+       .long   3807803918
+       .long   1972361163
+       .long   634705910
+       .long   1945048229
+       .long   2830488734
+       .long   4254759295
+       .long   3320640540
+       .long   3944722327
+       .long   1269411821
+       .long   3890096458
+       .long   1366010173
+       .long   4214551295
+       .long   2346313785
+       .long   3594477359
+       .long   2538823642
+       .long   3485225620
+       .long   2732020347
+       .long   4134135294
+       .long   397660275
+       .long   2893987423
+       .long   782679989
+       .long   2675483945
+       .long   1169073399
+       .long   3973303293
+       .long   795320551
+       .long   1493007550
+       .long   1565359979
+       .long   1056000594
+       .long   2338146798
+       .long   3651639290
+       .long   1590641102
+       .long   2986015100
+       .long   3130719959
+       .long   2112001188
+       .long   381326301
+       .long   3008311285
+       .long   3181282204
+       .long   1677062904
+       .long   1966472623
+       .long   4224002377
+       .long   762652602
+       .long   1721655274
+       .long   2067597113
+       .long   3354125809
+       .long   3932945247
+       .long   4153037458
+       .long   1525305205
+       .long   3443310548
+       .long   4135194227
+       .long   2413284322
+       .long   3570923199
+       .long   4011107621
+       .long   3050610411
+       .long   2591653800
+       .long   3975421159
+       .long   531601349
+       .long   2846879102
+       .long   3727247947
+       .long   1806253526
+       .long   888340305
+       .long   3655875023
+       .long   1063202699
+       .long   1398790909
+       .long   3159528599
+       .long   3612507052
+       .long   1776680610
+       .long   3016782751
+       .long   2126405399
+       .long   2797581819
+       .long   2024089902
+       .long   2930046808
+       .long   3553361221
+       .long   1738598206
+       .long   4252810799
+       .long   1300196342
+       .long   4048179805
+       .long   1565126321
+       .long   2811755147
+       .long   3477196413
+       .long   4210654302
+       .long   2600392684
+       .long   3801392314
+       .long   3130252643
+       .long   1328542998
+       .long   2659425531
+       .long   4126341309
+       .long   905818072
+       .long   3307817333
+       .long   1965537991
+       .long   2657085997
+       .long   1023883767
+       .long   3957715323
+       .long   1811636145
+       .long   2320667370
+       .long   3931075983
+       .long   1019204698
+       .long   2047767535
+       .long   3620463350
+       .long   3623272290
+       .long   346367444
+       .long   3567184671
+       .long   2038409397
+       .long   4095535070
+       .long   2945959404
+       .long   2951577284
+       .long   692734889
+       .long   2839402047
+       .long   4076818795
+       .long   3896102844
+       .long   1596951513
+       .long   1608187272
+       .long   1385469779
+       .long   1383836798
+       .long   3858670295
+       .long   3497238392
+       .long   3193903027
+       .long   3216374545
+       .long   2770939558
+       .long   2767673597
+       .long   3422373294
+       .long   2699509489
+       .long   2092838759
+       .long   2137781795
+       .long   1246911821
+       .long   1240379898
+       .long   2549779293
+       .long   1104051682
+       .long   4185677519
+       .long   4275563591
+       .long   2493823642
+       .long   2480759797
+       .long   804591290
+       .long   2208103365
+       .long   4076387742
+       .long   4256159887
+       .long   692679989
+       .long   666552299
+       .long   1609182581
+       .long   121239434
+       .long   3857808189
+       .long   4217352479
+       .long   1385359979
+       .long   1333104599
+       .long   3218365162
+       .long   242478868
+       .long   3420649082
+       .long   4139737663
+       .long   2770719959
+       .long   2666209199
+       .long   2141763028
+       .long   484957737
+       .long   2546330868
+       .long   3984508030
+       .long   1246472623
+       .long   1037451103
+       .long   4283526057
+       .long   969915474
+       .long   797694440
+       .long   3674048764
+       .long   2492945247
+       .long   2074902206
+       .long   4272084818
+       .long   1939830949
+       .long   1595388880
+       .long   3053130232
+       .long   690923199
+       .long   4149804412
+       .long   4249202340
+       .long   3879661898
+       .long   3190777760
+       .long   1811293169
+       .long   1381846399
+       .long   4004641529
+       .long   4203437385
+       .long   3464356500
+       .long   2086588225
+       .long   3622586339
+       .long   2763692798
+       .long   3714315762
+       .long   4111907475
+       .long   2633745705
+       .long   4173176451
+       .long   2950205382
+       .long   1232418301
+       .long   3133664229
+       .long   3928847655
+       .long   972524114
+       .long   4051385607
+       .long   1605443469
+       .long   2464836603
+       .long   1972361163
+       .long   3562728015
+       .long   1945048229
+       .long   3807803918
+       .long   3210886938
+       .long   634705910
+       .long   3944722327
+       .long   2830488734
+       .long   3890096458
+       .long   3320640540
+       .long   2126806581
+       .long   1269411821
+       .long   3594477359
+       .long   1366010173
+       .long   3485225620
+       .long   2346313785
+       .long   4253613162
+       .long   2538823642
+       .long   2893987423
+       .long   2732020347
+       .long   2675483945
+       .long   397660275
+       .long   4212259029
+       .long   782679989
+       .long   1493007550
+       .long   1169073399
+       .long   1056000594
+       .long   795320551
+       .long   4129550763
+       .long   1565359979
+       .long   2986015100
+       .long   2338146798
+       .long   2112001188
+       .long   1590641102
+       .long   3964134231
+       .long   3130719959
+       .long   1677062904
+       .long   381326301
+       .long   4224002377
+       .long   3181282204
+       .long   3633301166
+       .long   1966472623
+       .long   3354125809
+       .long   762652602
+       .long   4153037458
+       .long   2067597113
+       .long   2971635037
+       .long   3932945247
+       .long   2413284322
+       .long   1525305205
+       .long   4011107621
+       .long   4135194227
+       .long   1648302778
+       .long   3570923199
+       .long   531601349
+       .long   3050610411
+       .long   3727247947
+       .long   3975421159
+       .long   3296605556
+       .long   2846879102
+       .long   1063202699
+       .long   1806253526
+       .long   3159528599
+       .long   3655875023
+       .long   2298243816
+       .long   1398790909
+       .long   2126405399
+       .long   3612507052
+       .long   2024089902
+       .long   3016782751
+       .long   301520336
+       .long   2797581819
+       .long   4252810799
+       .long   2930046808
+       .long   4048179805
+       .long   1738598206
+       .long   603040673
+       .long   1300196342
+       .long   4210654302
+       .long   1565126321
+       .long   3801392314
+       .long   3477196413
+       .long   1206081346
+       .long   2600392684
+       .long   4126341309
+       .long   3130252643
+       .long   3307817333
+       .long   2659425531
+       .long   2412162692
+       .long   905818072
+       .long   3957715323
+       .long   1965537991
+       .long   2320667370
+       .long   1023883767
+       .long   529358088
+       .long   1811636145
+       .long   3620463350
+       .long   3931075983
+       .long   346367444
+       .long   2047767535
+       .long   1058716176
+       .long   3623272290
+       .long   2945959404
+       .long   3567184671
+       .long   692734889
+       .long   4095535070
+       .long   2117432353
+       .long   2951577284
+       .long   1596951513
+       .long   2839402047
+       .long   1385469779
+       .long   3896102844
+       .long   4234864706
+       .long   1608187272
+       .long   3193903027
+       .long   1383836798
+       .long   2770939558
+       .long   3497238392
+       .long   4174762117
+       .long   3216374545
+       .long   2092838759
+       .long   2767673597
+       .long   1246911821
+       .long   2699509489
+       .long   4054556938
+       .long   2137781795
+       .long   4185677519
+       .long   1240379898
+       .long   2493823642
+       .long   1104051682
+       .long   3814146581
+       .long   4275563591
+       .long   4076387742
+       .long   2480759797
+       .long   692679989
+       .long   2208103365
+       .long   3333325867
+       .long   4256159887
+       .long   3857808189
+       .long   666552299
+       .long   1385359979
+       .long   121239434
+       .long   2371684438
+       .long   4217352479
+       .long   3420649082
+       .long   1333104599
+       .long   2770719959
+       .long   242478868
+       .long   448401580
+       .long   4139737663
+       .long   2546330868
+       .long   2666209199
+       .long   1246472623
+       .long   484957737
+       .long   896803160
+       .long   3984508030
+       .type   __svml_dtan_reduction_data_internal,@object
+       .size   __svml_dtan_reduction_data_internal,49152
+       .space 512, 0x00        
+       .align 32
+.L_2il0floatpacket.35:
+       .long   0x00000008,0x00000008,0x00000008,0x00000008,0x00000008,0x00000008,0x00000008,0x00000008
+       .type   .L_2il0floatpacket.35,@object
+       .size   .L_2il0floatpacket.35,32
+       .align 8
+.L_2il0floatpacket.18:
+       .long   0xffffffff,0xffffffff
+       .type   .L_2il0floatpacket.18,@object
+       .size   .L_2il0floatpacket.18,8
+       .align 8
+.L_2il0floatpacket.19:
+       .long   0x00000000,0x7ff00000
+       .type   .L_2il0floatpacket.19,@object
+       .size   .L_2il0floatpacket.19,8
+       .align 8
+.L_2il0floatpacket.20:
+       .long   0xffffffff,0x000fffff
+       .type   .L_2il0floatpacket.20,@object
+       .size   .L_2il0floatpacket.20,8
+       .align 8
+.L_2il0floatpacket.21:
+       .long   0x00000000,0x00100000
+       .type   .L_2il0floatpacket.21,@object
+       .size   .L_2il0floatpacket.21,8
+       .align 8
+.L_2il0floatpacket.22:
+       .long   0xffffffff,0x00000000
+       .type   .L_2il0floatpacket.22,@object
+       .size   .L_2il0floatpacket.22,8
+       .align 8
+.L_2il0floatpacket.23:
+       .long   0x00000000,0x80000000
+       .type   .L_2il0floatpacket.23,@object
+       .size   .L_2il0floatpacket.23,8
+       .align 8
+.L_2il0floatpacket.24:
+       .long   0x00000000,0x3ff00000
+       .type   .L_2il0floatpacket.24,@object
+       .size   .L_2il0floatpacket.24,8
+       .align 8
+.L_2il0floatpacket.25:
+       .long   0x00000000,0x42a80000
+       .type   .L_2il0floatpacket.25,@object
+       .size   .L_2il0floatpacket.25,8
+       .align 8
+.L_2il0floatpacket.26:
+       .long   0x000001ff,0x00000000
+       .type   .L_2il0floatpacket.26,@object
+       .size   .L_2il0floatpacket.26,8
+       .align 8
+.L_2il0floatpacket.27:
+       .long   0x00000000,0x39700000
+       .type   .L_2il0floatpacket.27,@object
+       .size   .L_2il0floatpacket.27,8
+       .align 8
+.L_2il0floatpacket.28:
+       .long   0x00ffffff,0x00000000
+       .type   .L_2il0floatpacket.28,@object
+       .size   .L_2il0floatpacket.28,8
+       .align 8
+.L_2il0floatpacket.29:
+       .long   0x00000000,0x3cb00000
+       .type   .L_2il0floatpacket.29,@object
+       .size   .L_2il0floatpacket.29,8
+       .align 8
+.L_2il0floatpacket.30:
+       .long   0x00000fff,0x00000000
+       .type   .L_2il0floatpacket.30,@object
+       .size   .L_2il0floatpacket.30,8
+       .align 8
+.L_2il0floatpacket.31:
+       .long   0x54442d18,0x401921fb
+       .type   .L_2il0floatpacket.31,@object
+       .size   .L_2il0floatpacket.31,8
+       .align 8
+.L_2il0floatpacket.32:
+       .long   0x33145c07,0x3cb1a626
+       .type   .L_2il0floatpacket.32,@object
+       .size   .L_2il0floatpacket.32,8
+       .align 8
+.L_2il0floatpacket.33:
+       .long   0xffffffff,0x7fffffff
+       .type   .L_2il0floatpacket.33,@object
+       .size   .L_2il0floatpacket.33,8
+       .align 8
+.L_2il0floatpacket.34:
+       .long   0x00000000,0x3eb00000
+       .type   .L_2il0floatpacket.34,@object
+       .size   .L_2il0floatpacket.34,8
+       .align 8
+.L_2il0floatpacket.36:
+       .long   0x54442d18,0x3f8921fb
+       .type   .L_2il0floatpacket.36,@object
+       .size   .L_2il0floatpacket.36,8
+       .align 8
+.L_2il0floatpacket.37:
+       .long   0x33145c07,0x3c21a626
+       .type   .L_2il0floatpacket.37,@object
+       .size   .L_2il0floatpacket.37,8
+       .align 8
+__dtan_la_Tab:
+       .long   0
+       .long   0
+       .long   0
+       .long   2146435072
+       .type   __dtan_la_Tab,@object
+       .size   __dtan_la_Tab,16
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_tan_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_tan_s_la.s
new file mode 100644 (file)
index 0000000..befb6ed
--- /dev/null
@@ -0,0 +1,3177 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ *     
+ *      ( optimized for throughput, with small table lookup, works when HW FMA is available )
+ *     
+ *       Implementation reduces argument x to |R|<pi/64
+ *       32-entry tables used to store high and low parts of tan(x0)
+ *       Argument x = N*pi + x0 + (R);   x0 = k*pi/32, with k in {0, 1, ..., 31}
+ *       (very large arguments reduction resolved in _vsreduction_core.i)
+ *       Compute result as (tan(x0) + tan(R))/(1-tan(x0)*tan(R))
+ *       _HA_ version keeps extra precision for numerator, denominator, and during
+ *       final NR-iteration computing quotient.
+ *     
+ *     
+ */
+
+
+       .text
+.L_2__routine_start___svml_tanf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_tanf16
+
+__svml_tanf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        xorl      %edx, %edx
+
+/* Large values check */
+        vmovups   768+__svml_stan_data_internal(%rip), %zmm10
+
+/*
+ * ----------------------------------------------------------
+ * Main path
+ * ----------------------------------------------------------
+ * start arg. reduction
+ */
+        vmovups   1088+__svml_stan_data_internal(%rip), %zmm1
+        vmovups   64+__svml_stan_data_internal(%rip), %zmm4
+        vmovups   128+__svml_stan_data_internal(%rip), %zmm2
+        vmovups   192+__svml_stan_data_internal(%rip), %zmm3
+        vmovaps   %zmm0, %zmm11
+        vandps    960+__svml_stan_data_internal(%rip), %zmm11, %zmm0
+        vcmpps    $22, {sae}, %zmm10, %zmm0, %k1
+        vmovups   __svml_stan_data_internal(%rip), %zmm10
+
+/*
+ * ----------------------------------------------------------
+ * End of main path
+ * ----------------------------------------------------------
+ */
+        kortestw  %k1, %k1
+        vfmadd213ps {rn-sae}, %zmm1, %zmm11, %zmm10
+        vsubps    {rn-sae}, %zmm1, %zmm10, %zmm5
+        vfnmadd213ps {rn-sae}, %zmm11, %zmm5, %zmm4
+        vfnmadd231ps {rn-sae}, %zmm5, %zmm2, %zmm4
+        vfnmadd213ps {rn-sae}, %zmm4, %zmm3, %zmm5
+        jne       .LBL_1_12
+
+.LBL_1_2:
+
+
+/* Table lookup */
+        vmovups   384+__svml_stan_data_internal(%rip), %zmm3
+        vmovups   640+__svml_stan_data_internal(%rip), %zmm0
+        vmulps    {rn-sae}, %zmm5, %zmm5, %zmm1
+        vpermt2ps 448+__svml_stan_data_internal(%rip), %zmm10, %zmm3
+        vmovups   704+__svml_stan_data_internal(%rip), %zmm10
+        vfmadd231ps {rn-sae}, %zmm1, %zmm10, %zmm0
+        vmulps    {rn-sae}, %zmm5, %zmm0, %zmm4
+        vfmadd213ps {rn-sae}, %zmm5, %zmm1, %zmm4
+
+/*
+ * Computer Denominator:
+ * sDenominator - sDlow ~= 1-(sTh+sTl)*(sP+sPlow)
+ */
+        vmovups   1152+__svml_stan_data_internal(%rip), %zmm5
+        vmulps    {rn-sae}, %zmm4, %zmm3, %zmm7
+
+/*
+ * Compute Numerator:
+ * sNumerator + sNlow ~= sTh+sTl+sP+sPlow
+ */
+        vaddps    {rn-sae}, %zmm3, %zmm4, %zmm8
+        vsubps    {rn-sae}, %zmm7, %zmm5, %zmm9
+        vsubps    {rn-sae}, %zmm3, %zmm8, %zmm2
+
+/*
+ * Now computes (sNumerator + sNlow)/(sDenominator - sDlow)
+ * Choose NR iteration instead of hardware division
+ */
+        vrcp14ps  %zmm9, %zmm14
+        vsubps    {rn-sae}, %zmm5, %zmm9, %zmm6
+        vsubps    {rn-sae}, %zmm2, %zmm4, %zmm13
+        vmulps    {rn-sae}, %zmm8, %zmm14, %zmm15
+        vaddps    {rn-sae}, %zmm7, %zmm6, %zmm12
+
+/* One NR iteration to refine sQuotient */
+        vfmsub213ps {rn-sae}, %zmm8, %zmm15, %zmm9
+        vfnmadd213ps {rn-sae}, %zmm9, %zmm15, %zmm12
+        vsubps    {rn-sae}, %zmm13, %zmm12, %zmm0
+        vfnmadd213ps {rn-sae}, %zmm15, %zmm14, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_4
+
+.LBL_1_3:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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_4:
+
+        vmovups   %zmm11, 64(%rsp)
+        vmovups   %zmm0, 128(%rsp)
+        je        .LBL_1_3
+
+
+        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_8:
+
+        btl       %r12d, %r13d
+        jc        .LBL_1_11
+
+.LBL_1_9:
+
+        incl      %r12d
+        cmpl      $16, %r12d
+        jl        .LBL_1_8
+
+
+        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_3
+       .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_11:
+
+        lea       64(%rsp,%r12,4), %rdi
+        lea       128(%rsp,%r12,4), %rsi
+
+        call      __svml_stan_cout_rare_internal
+        jmp       .LBL_1_9
+       .cfi_restore 4
+       .cfi_restore 5
+       .cfi_restore 12
+       .cfi_restore 13
+       .cfi_restore 122
+       .cfi_restore 123
+       .cfi_restore 124
+       .cfi_restore 125
+
+.LBL_1_12:
+
+        vmovups   1024+__svml_stan_data_internal(%rip), %zmm6
+
+/*
+ * Get the (2^a / 2pi) mod 1 values from the table.
+ * Because VLANG doesn't have I-type gather, we need a trivial cast
+ */
+        lea       __svml_stan_reduction_data_internal(%rip), %rax
+        vmovups   %zmm5, (%rsp)
+        vandps    %zmm0, %zmm6, %zmm14
+        vcmpps    $0, {sae}, %zmm6, %zmm14, %k0
+
+/*
+ * Break the P_xxx and m into 16-bit chunks ready for
+ * the long multiplication via 16x16->32 multiplications
+ */
+        vmovups   .L_2il0floatpacket.18(%rip), %zmm6
+        kxnorw    %k0, %k0, %k2
+        kxnorw    %k0, %k0, %k3
+        kmovw     %k0, %edx
+        vpandd    .L_2il0floatpacket.15(%rip), %zmm11, %zmm5
+        vpsrld    $23, %zmm5, %zmm7
+        vpslld    $1, %zmm7, %zmm8
+        vpaddd    %zmm7, %zmm8, %zmm9
+        vpslld    $2, %zmm9, %zmm4
+        vpxord    %zmm3, %zmm3, %zmm3
+        vgatherdps (%rax,%zmm4), %zmm3{%k2}
+        kxnorw    %k0, %k0, %k2
+        vpsrld    $16, %zmm3, %zmm5
+        vpxord    %zmm15, %zmm15, %zmm15
+        vpxord    %zmm2, %zmm2, %zmm2
+        vgatherdps 4(%rax,%zmm4), %zmm15{%k3}
+        vgatherdps 8(%rax,%zmm4), %zmm2{%k2}
+        vpsrld    $16, %zmm2, %zmm13
+
+/*
+ * Also get the significand as an integer
+ * NB: adding in the integer bit is wrong for denorms!
+ * To make this work for denorms we should do something slightly different
+ */
+        vpandd    .L_2il0floatpacket.16(%rip), %zmm11, %zmm0
+        vpaddd    .L_2il0floatpacket.17(%rip), %zmm0, %zmm1
+        vpsrld    $16, %zmm15, %zmm0
+        vpsrld    $16, %zmm1, %zmm8
+        vpandd    %zmm6, %zmm3, %zmm9
+        vpandd    %zmm6, %zmm15, %zmm12
+        vpandd    %zmm6, %zmm2, %zmm7
+        vpandd    %zmm6, %zmm1, %zmm14
+
+/* Now do the big multiplication and carry propagation */
+        vpmulld   %zmm9, %zmm8, %zmm4
+        vpmulld   %zmm0, %zmm8, %zmm3
+        vpmulld   %zmm12, %zmm8, %zmm2
+        vpmulld   %zmm13, %zmm8, %zmm1
+        vpmulld   %zmm7, %zmm8, %zmm8
+        vpmulld   %zmm5, %zmm14, %zmm7
+        vpmulld   %zmm9, %zmm14, %zmm5
+        vpmulld   %zmm0, %zmm14, %zmm9
+        vpmulld   %zmm12, %zmm14, %zmm0
+        vpmulld   %zmm13, %zmm14, %zmm12
+        vpsrld    $16, %zmm12, %zmm14
+        vpsrld    $16, %zmm0, %zmm13
+        vpsrld    $16, %zmm9, %zmm15
+        vpsrld    $16, %zmm5, %zmm12
+        vpsrld    $16, %zmm8, %zmm8
+        vpaddd    %zmm14, %zmm1, %zmm1
+        vpaddd    %zmm13, %zmm2, %zmm2
+        vpaddd    %zmm15, %zmm3, %zmm15
+        vpaddd    %zmm12, %zmm4, %zmm3
+        vpandd    %zmm6, %zmm0, %zmm13
+        vpaddd    %zmm1, %zmm13, %zmm4
+        vpaddd    %zmm4, %zmm8, %zmm14
+        vpsrld    $16, %zmm14, %zmm0
+        vpandd    %zmm6, %zmm9, %zmm9
+        vpaddd    %zmm2, %zmm9, %zmm1
+        vpaddd    %zmm1, %zmm0, %zmm8
+
+/*
+ * Now round at the 2^-8 bit position for reduction mod pi/2^7
+ * instead of the original 2pi (but still with the same 2pi scaling).
+ * Use a shifter of 2^15 + 2^14.
+ * The N we get is our final version; it has an offset of
+ * 2^8 because of the implicit integer bit, and anyway for negative
+ * starting value it's a 2s complement thing. But we need to mask
+ * off the exponent part anyway so it's fine.
+ */
+        vmovups   .L_2il0floatpacket.21(%rip), %zmm1
+        vpandd    %zmm6, %zmm7, %zmm7
+        vpaddd    %zmm3, %zmm7, %zmm13
+        vpsrld    $16, %zmm8, %zmm3
+        vpandd    %zmm6, %zmm5, %zmm5
+        vpaddd    %zmm15, %zmm5, %zmm2
+        vpaddd    %zmm2, %zmm3, %zmm15
+        vpsrld    $16, %zmm15, %zmm12
+        vpaddd    %zmm13, %zmm12, %zmm5
+
+/* Assemble reduced argument from the pieces */
+        vpandd    %zmm6, %zmm14, %zmm9
+        vpandd    %zmm6, %zmm15, %zmm7
+        vpslld    $16, %zmm5, %zmm6
+        vpslld    $16, %zmm8, %zmm5
+        vpaddd    %zmm7, %zmm6, %zmm4
+        vpaddd    %zmm9, %zmm5, %zmm9
+        vpsrld    $9, %zmm4, %zmm6
+
+/*
+ * We want to incorporate the original sign now too.
+ * Do it here for convenience in getting the right N value,
+ * though we could wait right to the end if we were prepared
+ * to modify the sign of N later too.
+ * So get the appropriate sign mask now (or sooner).
+ */
+        vpandd    .L_2il0floatpacket.19(%rip), %zmm11, %zmm0
+        vpandd    .L_2il0floatpacket.24(%rip), %zmm9, %zmm13
+        vpslld    $5, %zmm13, %zmm14
+
+/*
+ * Create floating-point high part, implicitly adding integer bit 1
+ * Incorporate overall sign at this stage too.
+ */
+        vpxord    .L_2il0floatpacket.20(%rip), %zmm0, %zmm8
+        vpord     %zmm8, %zmm6, %zmm2
+        vaddps    {rn-sae}, %zmm2, %zmm1, %zmm12
+        vsubps    {rn-sae}, %zmm1, %zmm12, %zmm3
+        vsubps    {rn-sae}, %zmm3, %zmm2, %zmm7
+
+/*
+ * Create floating-point low and medium parts, respectively
+ * lo_17, ... lo_0, 0, ..., 0
+ * hi_8, ... hi_0, lo_31, ..., lo_18
+ * then subtract off the implicitly added integer bits,
+ * 2^-46 and 2^-23, respectively.
+ * Put the original sign into all of them at this stage.
+ */
+        vpxord    .L_2il0floatpacket.23(%rip), %zmm0, %zmm6
+        vpord     %zmm6, %zmm14, %zmm15
+        vpandd    .L_2il0floatpacket.26(%rip), %zmm4, %zmm4
+        vsubps    {rn-sae}, %zmm6, %zmm15, %zmm8
+        vandps    .L_2il0floatpacket.29(%rip), %zmm11, %zmm15
+        vpsrld    $18, %zmm9, %zmm6
+
+/*
+ * If the magnitude of the input is <= 2^-20, then
+ * just pass through the input, since no reduction will be needed and
+ * the main path will only work accurately if the reduced argument is
+ * about >= 2^-40 (which it is for all large pi multiples)
+ */
+        vmovups   .L_2il0floatpacket.30(%rip), %zmm14
+        vcmpps    $26, {sae}, %zmm14, %zmm15, %k3
+        vcmpps    $22, {sae}, %zmm14, %zmm15, %k2
+        vpxord    .L_2il0floatpacket.25(%rip), %zmm0, %zmm1
+        vpslld    $14, %zmm4, %zmm0
+        vpord     %zmm6, %zmm0, %zmm0
+        vpord     %zmm1, %zmm0, %zmm4
+        vsubps    {rn-sae}, %zmm1, %zmm4, %zmm2
+        vpternlogd $255, %zmm6, %zmm6, %zmm6
+
+/* Now add them up into 2 reasonably aligned pieces */
+        vaddps    {rn-sae}, %zmm2, %zmm7, %zmm13
+        vsubps    {rn-sae}, %zmm13, %zmm7, %zmm7
+        vaddps    {rn-sae}, %zmm7, %zmm2, %zmm3
+
+/*
+ * The output is _VRES_R (high) + _VRES_E (low), and the integer part is _VRES_IND
+ * Set sRp2 = _VRES_R^2 and then resume the original code.
+ */
+        vmovups   .L_2il0floatpacket.31(%rip), %zmm2
+        vaddps    {rn-sae}, %zmm8, %zmm3, %zmm1
+        vmovups   .L_2il0floatpacket.28(%rip), %zmm8
+
+/* Grab our final N value as an integer, appropriately masked mod 2^8 */
+        vpandd    .L_2il0floatpacket.22(%rip), %zmm12, %zmm5
+
+/*
+ * Now multiply those numbers all by 2 pi, reasonably accurately.
+ * (RHi + RLo) * (pi_lead + pi_trail) ~=
+ * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead)
+ */
+        vmovups   .L_2il0floatpacket.27(%rip), %zmm12
+        vmulps    {rn-sae}, %zmm12, %zmm13, %zmm0
+        vmovaps   %zmm12, %zmm9
+        vfmsub213ps {rn-sae}, %zmm0, %zmm13, %zmm9
+        vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm13
+        vmovaps   %zmm6, %zmm8
+        vfmadd213ps {rn-sae}, %zmm13, %zmm12, %zmm1
+        vpandnd   %zmm15, %zmm15, %zmm8{%k3}
+        vpandnd   %zmm15, %zmm15, %zmm6{%k2}
+        vandps    %zmm11, %zmm6, %zmm14
+        vandps    %zmm0, %zmm8, %zmm15
+        vandps    %zmm1, %zmm8, %zmm12
+        vorps     %zmm15, %zmm14, %zmm6
+        vpsrld    $31, %zmm6, %zmm3
+        vpsubd    %zmm3, %zmm2, %zmm4
+        vpaddd    %zmm4, %zmm5, %zmm7
+        vpsrld    $2, %zmm7, %zmm13
+        vpslld    $2, %zmm13, %zmm9
+
+/*
+ * ----------------------------------------------------------
+ * End of large arguments path
+ * ----------------------------------------------------------
+ * Merge results from main and large paths:
+ */
+        vblendmps %zmm13, %zmm10, %zmm10{%k1}
+        vpsubd    %zmm9, %zmm5, %zmm5
+        vmovups   .L_2il0floatpacket.32(%rip), %zmm9
+        vcvtdq2ps {rn-sae}, %zmm5, %zmm0
+        vmovups   .L_2il0floatpacket.33(%rip), %zmm5
+        vfmadd231ps {rn-sae}, %zmm0, %zmm5, %zmm12
+        vmovups   (%rsp), %zmm5
+        vaddps    {rn-sae}, %zmm6, %zmm12, %zmm6
+        vfmadd213ps {rn-sae}, %zmm6, %zmm9, %zmm0
+        vblendmps %zmm0, %zmm5, %zmm5{%k1}
+        jmp       .LBL_1_2
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_tanf16,@function
+       .size   __svml_tanf16,.-__svml_tanf16
+..LN__svml_tanf16.0:
+
+.L_2__routine_start___svml_stan_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_stan_cout_rare_internal:
+
+
+       .cfi_startproc
+..L63:
+
+        xorl      %eax, %eax
+        movl      (%rdi), %edx
+        movzwl    2(%rdi), %ecx
+        movl      %edx, -8(%rsp)
+        andl      $32640, %ecx
+        shrl      $24, %edx
+        andl      $127, %edx
+        movb      %dl, -5(%rsp)
+        cmpl      $32640, %ecx
+        je        .LBL_2_3
+
+
+        ret
+
+.LBL_2_3:
+
+        cmpl      $2139095040, -8(%rsp)
+        jne       .LBL_2_5
+
+
+        movss     (%rdi), %xmm0
+        movl      $1, %eax
+        mulss     __stan_la__vmlsTanTab(%rip), %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+
+.LBL_2_5:
+
+        movss     (%rdi), %xmm0
+        mulss     (%rdi), %xmm0
+        movss     %xmm0, (%rsi)
+        ret
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_stan_cout_rare_internal,@function
+       .size   __svml_stan_cout_rare_internal,.-__svml_stan_cout_rare_internal
+..LN__svml_stan_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+.L_2il0floatpacket.15:
+       .long   0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000
+       .type   .L_2il0floatpacket.15,@object
+       .size   .L_2il0floatpacket.15,64
+       .align 64
+.L_2il0floatpacket.16:
+       .long   0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff
+       .type   .L_2il0floatpacket.16,@object
+       .size   .L_2il0floatpacket.16,64
+       .align 64
+.L_2il0floatpacket.17:
+       .long   0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000
+       .type   .L_2il0floatpacket.17,@object
+       .size   .L_2il0floatpacket.17,64
+       .align 64
+.L_2il0floatpacket.18:
+       .long   0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff
+       .type   .L_2il0floatpacket.18,@object
+       .size   .L_2il0floatpacket.18,64
+       .align 64
+.L_2il0floatpacket.19:
+       .long   0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000
+       .type   .L_2il0floatpacket.19,@object
+       .size   .L_2il0floatpacket.19,64
+       .align 64
+.L_2il0floatpacket.20:
+       .long   0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000
+       .type   .L_2il0floatpacket.20,@object
+       .size   .L_2il0floatpacket.20,64
+       .align 64
+.L_2il0floatpacket.21:
+       .long   0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000
+       .type   .L_2il0floatpacket.21,@object
+       .size   .L_2il0floatpacket.21,64
+       .align 64
+.L_2il0floatpacket.22:
+       .long   0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff
+       .type   .L_2il0floatpacket.22,@object
+       .size   .L_2il0floatpacket.22,64
+       .align 64
+.L_2il0floatpacket.23:
+       .long   0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000
+       .type   .L_2il0floatpacket.23,@object
+       .size   .L_2il0floatpacket.23,64
+       .align 64
+.L_2il0floatpacket.24:
+       .long   0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff
+       .type   .L_2il0floatpacket.24,@object
+       .size   .L_2il0floatpacket.24,64
+       .align 64
+.L_2il0floatpacket.25:
+       .long   0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000
+       .type   .L_2il0floatpacket.25,@object
+       .size   .L_2il0floatpacket.25,64
+       .align 64
+.L_2il0floatpacket.26:
+       .long   0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff
+       .type   .L_2il0floatpacket.26,@object
+       .size   .L_2il0floatpacket.26,64
+       .align 64
+.L_2il0floatpacket.27:
+       .long   0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb
+       .type   .L_2il0floatpacket.27,@object
+       .size   .L_2il0floatpacket.27,64
+       .align 64
+.L_2il0floatpacket.28:
+       .long   0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e
+       .type   .L_2il0floatpacket.28,@object
+       .size   .L_2il0floatpacket.28,64
+       .align 64
+.L_2il0floatpacket.29:
+       .long   0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff
+       .type   .L_2il0floatpacket.29,@object
+       .size   .L_2il0floatpacket.29,64
+       .align 64
+.L_2il0floatpacket.30:
+       .long   0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000
+       .type   .L_2il0floatpacket.30,@object
+       .size   .L_2il0floatpacket.30,64
+       .align 64
+.L_2il0floatpacket.31:
+       .long   0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002
+       .type   .L_2il0floatpacket.31,@object
+       .size   .L_2il0floatpacket.31,64
+       .align 64
+.L_2il0floatpacket.32:
+       .long   0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb
+       .type   .L_2il0floatpacket.32,@object
+       .size   .L_2il0floatpacket.32,64
+       .align 64
+.L_2il0floatpacket.33:
+       .long   0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e
+       .type   .L_2il0floatpacket.33,@object
+       .size   .L_2il0floatpacket.33,64
+       .align 64
+__svml_stan_data_internal:
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1092811139
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   1036586970
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   832708968
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   633484485
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   832708608
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   708075802
+       .long   2147483648
+       .long   1036629468
+       .long   1045147567
+       .long   1050366018
+       .long   1054086093
+       .long   1057543609
+       .long   1059786177
+       .long   1062344705
+       .long   1065353216
+       .long   1067186156
+       .long   1069519047
+       .long   1072658590
+       .long   1075479162
+       .long   1079179983
+       .long   1084284919
+       .long   1092776803
+       .long   4286578687
+       .long   3240260451
+       .long   3231768567
+       .long   3226663631
+       .long   3222962810
+       .long   3220142238
+       .long   3217002695
+       .long   3214669804
+       .long   3212836864
+       .long   3209828353
+       .long   3207269825
+       .long   3205027257
+       .long   3201569741
+       .long   3197849666
+       .long   3192631215
+       .long   3184113116
+       .long   2147483648
+       .long   826651354
+       .long   791306928
+       .long   2989111746
+       .long   2982175258
+       .long   2992568675
+       .long   850100121
+       .long   850281093
+       .long   0
+       .long   861435400
+       .long   840342808
+       .long   3003924160
+       .long   3016492578
+       .long   865099790
+       .long   856723932
+       .long   3025444934
+       .long   4085252096
+       .long   877961286
+       .long   3004207580
+       .long   3012583438
+       .long   869008930
+       .long   856440512
+       .long   2987826456
+       .long   3008919048
+       .long   0
+       .long   2997764741
+       .long   2997583769
+       .long   845085027
+       .long   834691610
+       .long   841628098
+       .long   2938790576
+       .long   2974135002
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1051372198
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1040758920
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .long   1059256707
+       .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   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .long   2139095040
+       .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   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   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1174470656
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   1070137344
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   972922880
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   866263040
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   741630234
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   1070141403
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   3007036718
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   2801216749
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   3183752116
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   1065353212
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   3202070443
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1008677739
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1073741824
+       .long   1070141403
+       .long   3007036718
+       .long   0
+       .long   0
+       .long   0
+       .long   1065353216
+       .long   0
+       .long   0
+       .long   1051372765
+       .long   0
+       .long   1069935515
+       .long   853435276
+       .long   0
+       .long   1019812401
+       .long   797871386
+       .long   1065353216
+       .long   975043072
+       .long   1019820333
+       .long   1051400329
+       .long   1015569723
+       .long   1069729628
+       .long   2999697034
+       .long   0
+       .long   1028208956
+       .long   816029531
+       .long   1065353216
+       .long   991832832
+       .long   1028240852
+       .long   1051479824
+       .long   1023251493
+       .long   1069523740
+       .long   860164016
+       .long   0
+       .long   1033310670
+       .long   827321128
+       .long   1065353216
+       .long   1001540608
+       .long   1033364538
+       .long   1051617929
+       .long   1028458464
+       .long   1069317853
+       .long   2977958621
+       .long   0
+       .long   1036629468
+       .long   826649990
+       .long   1065353216
+       .long   1008660256
+       .long   1036757738
+       .long   1051807326
+       .long   1032162226
+       .long   1069111966
+       .long   3009745511
+       .long   0
+       .long   1039964354
+       .long   2964214364
+       .long   1065353216
+       .long   1014578464
+       .long   1040201797
+       .long   1052059423
+       .long   1034708638
+       .long   1068906078
+       .long   848017692
+       .long   0
+       .long   1041753444
+       .long   2982519524
+       .long   1065353216
+       .long   1018446032
+       .long   1041972480
+       .long   1052374628
+       .long   1037453248
+       .long   1068700191
+       .long   3004118141
+       .long   0
+       .long   1043443277
+       .long   2985501265
+       .long   1065353216
+       .long   1022797056
+       .long   1043793882
+       .long   1052746889
+       .long   1039915463
+       .long   1068494303
+       .long   857455223
+       .long   0
+       .long   1045147567
+       .long   791292384
+       .long   1065353216
+       .long   1025642520
+       .long   1045675728
+       .long   1053195814
+       .long   1041590498
+       .long   1068288416
+       .long   2992986704
+       .long   0
+       .long   1046868583
+       .long   833925599
+       .long   1065353216
+       .long   1028557712
+       .long   1047628490
+       .long   1053716836
+       .long   1043186017
+       .long   1068082528
+       .long   863082593
+       .long   0
+       .long   1048592340
+       .long   2988940902
+       .long   1065353216
+       .long   1031831496
+       .long   1049119700
+       .long   1054310701
+       .long   1044788971
+       .long   1067876641
+       .long   837040812
+       .long   0
+       .long   1049473154
+       .long   2972885556
+       .long   1065353216
+       .long   1033689040
+       .long   1050184288
+       .long   1054999523
+       .long   1046698028
+       .long   1067670754
+       .long   3006826934
+       .long   0
+       .long   1050366018
+       .long   2989112046
+       .long   1065353216
+       .long   1035760784
+       .long   1051302645
+       .long   1055777031
+       .long   1048635818
+       .long   1067464866
+       .long   853854846
+       .long   0
+       .long   1051272279
+       .long   817367088
+       .long   1065353216
+       .long   1038057984
+       .long   1052482025
+       .long   1056656040
+       .long   1049723582
+       .long   1067258979
+       .long   2999277465
+       .long   0
+       .long   1052193360
+       .long   2986510371
+       .long   1065353216
+       .long   1040390392
+       .long   1053730424
+       .long   1057307751
+       .long   1050943059
+       .long   1067053091
+       .long   860373800
+       .long   0
+       .long   1053130765
+       .long   2987705281
+       .long   1065353216
+       .long   1041784404
+       .long   1055056706
+       .long   1057868403
+       .long   1052298273
+       .long   1066847204
+       .long   2974604846
+       .long   0
+       .long   1054086093
+       .long   2982175058
+       .long   1065353216
+       .long   1043312844
+       .long   1056470731
+       .long   1058502663
+       .long   1053852727
+       .long   1066641317
+       .long   3009535726
+       .long   0
+       .long   1055061049
+       .long   2985572766
+       .long   1065353216
+       .long   1044984860
+       .long   1057474074
+       .long   1059214863
+       .long   1055565854
+       .long   1066435429
+       .long   848437261
+       .long   0
+       .long   1056057456
+       .long   844263924
+       .long   1065353216
+       .long   1046810746
+       .long   1058286064
+       .long   1060014844
+       .long   1057227928
+       .long   1066229542
+       .long   3003908357
+       .long   0
+       .long   1057020941
+       .long   2987700082
+       .long   1065353216
+       .long   1048689044
+       .long   1059160627
+       .long   1060914481
+       .long   1058313864
+       .long   1066023654
+       .long   857665008
+       .long   0
+       .long   1057543609
+       .long   2992568718
+       .long   1065353216
+       .long   1049773965
+       .long   1060105673
+       .long   1061932376
+       .long   1059565214
+       .long   1065817767
+       .long   2992147565
+       .long   0
+       .long   1058080175
+       .long   854607280
+       .long   1065353216
+       .long   1050955490
+       .long   1061130203
+       .long   1063075792
+       .long   1060964899
+       .long   1065611879
+       .long   863292377
+       .long   0
+       .long   1058631876
+       .long   848316488
+       .long   1065353216
+       .long   1052241912
+       .long   1062244476
+       .long   1064374250
+       .long   1062608877
+       .long   1065405992
+       .long   838719090
+       .long   0
+       .long   1059200055
+       .long   2987155932
+       .long   1065353216
+       .long   1053642609
+       .long   1063460266
+       .long   1065596017
+       .long   1064468970
+       .long   1065046993
+       .long   848647046
+       .long   0
+       .long   1059786177
+       .long   850099898
+       .long   1065353216
+       .long   1055168194
+       .long   1064791104
+       .long   1066427841
+       .long   1065988022
+       .long   1064635218
+       .long   854274415
+       .long   0
+       .long   1060391849
+       .long   2998448362
+       .long   1065353216
+       .long   1056830711
+       .long   1065802920
+       .long   1067373883
+       .long   1067237086
+       .long   1064223444
+       .long   2998857895
+       .long   0
+       .long   1061018831
+       .long   852661766
+       .long   1073741824
+       .long   3202769007
+       .long   1066608086
+       .long   1068453481
+       .long   1068697612
+       .long   1063811669
+       .long   2991727995
+       .long   0
+       .long   1061669068
+       .long   2986407194
+       .long   1073741824
+       .long   3200789612
+       .long   1067498217
+       .long   1069688111
+       .long   1070408903
+       .long   1063399894
+       .long   2971248290
+       .long   0
+       .long   1062344705
+       .long   850280824
+       .long   1073741824
+       .long   3198626104
+       .long   1068485666
+       .long   1071103306
+       .long   1072410651
+       .long   1062988119
+       .long   839209514
+       .long   0
+       .long   1063048126
+       .long   826671880
+       .long   1073741824
+       .long   3196257989
+       .long   1069584946
+       .long   1072731698
+       .long   1074256640
+       .long   1062576344
+       .long   848856831
+       .long   0
+       .long   1063781982
+       .long   845614362
+       .long   1073741824
+       .long   3191263702
+       .long   1070813191
+       .long   1074178145
+       .long   1075661786
+       .long   1062164569
+       .long   854484200
+       .long   0
+       .long   1064549237
+       .long   855412877
+       .long   1073741824
+       .long   3183449264
+       .long   1072190735
+       .long   1075269479
+       .long   1077331464
+       .long   1061752795
+       .long   2998648110
+       .long   1065353216
+       .long   3196839438
+       .long   839748996
+       .long   1056964608
+       .long   3187152817
+       .long   3179496939
+       .long   1025375660
+       .long   3159543663
+       .long   1061341020
+       .long   2991308426
+       .long   1065353216
+       .long   3196528703
+       .long   2993207654
+       .long   1056964608
+       .long   3187565865
+       .long   3178961235
+       .long   1025040649
+       .long   3158667440
+       .long   1060929245
+       .long   2969570013
+       .long   1065353216
+       .long   3196220448
+       .long   839617357
+       .long   1048576000
+       .long   1039897640
+       .long   3178234548
+       .long   1024731756
+       .long   3157936127
+       .long   1060517470
+       .long   839629084
+       .long   1065353216
+       .long   3195769474
+       .long   2972943314
+       .long   1048576000
+       .long   1039520273
+       .long   3177530035
+       .long   1024452069
+       .long   3157392148
+       .long   1060105695
+       .long   849066615
+       .long   1065353216
+       .long   3195162227
+       .long   824230882
+       .long   1048576000
+       .long   1039159939
+       .long   3176846430
+       .long   1024176063
+       .long   3156719803
+       .long   1059693920
+       .long   854693985
+       .long   1065353216
+       .long   3194559300
+       .long   837912886
+       .long   1048576000
+       .long   1038816139
+       .long   3176182519
+       .long   1023917626
+       .long   3156100775
+       .long   1059282146
+       .long   2998438326
+       .long   1065353216
+       .long   3193960492
+       .long   2976936506
+       .long   1048576000
+       .long   1038488404
+       .long   3175537158
+       .long   1023672824
+       .long   3155484691
+       .long   1058870371
+       .long   2990888857
+       .long   1065353216
+       .long   3193365611
+       .long   837021697
+       .long   1048576000
+       .long   1038176293
+       .long   3174909264
+       .long   1023428141
+       .long   3154717848
+       .long   1058458596
+       .long   2966216238
+       .long   1065353216
+       .long   3192774465
+       .long   2981011604
+       .long   1048576000
+       .long   1037879388
+       .long   3174297790
+       .long   1023026096
+       .long   3154246903
+       .long   1058046821
+       .long   840048653
+       .long   1065353216
+       .long   3192186872
+       .long   2982847435
+       .long   1048576000
+       .long   1037597300
+       .long   3173701765
+       .long   1022609285
+       .long   3153191752
+       .long   1057635046
+       .long   849276400
+       .long   1065353216
+       .long   3191602652
+       .long   2972865050
+       .long   1048576000
+       .long   1037329660
+       .long   3173120241
+       .long   1022242934
+       .long   3152466531
+       .long   1057223271
+       .long   854903769
+       .long   1065353216
+       .long   3191021630
+       .long   838792638
+       .long   1048576000
+       .long   1037076124
+       .long   3172552332
+       .long   1021893801
+       .long   3151682133
+       .long   1056658385
+       .long   840258438
+       .long   1065353216
+       .long   3190443633
+       .long   2979855596
+       .long   1048576000
+       .long   1036836369
+       .long   3171997189
+       .long   1021543079
+       .long   3150495127
+       .long   1055834836
+       .long   2990469287
+       .long   1065353216
+       .long   3189868496
+       .long   2981611511
+       .long   1048576000
+       .long   1036610091
+       .long   3171453986
+       .long   1021220110
+       .long   3149437649
+       .long   1055011286
+       .long   2962859682
+       .long   1065353216
+       .long   3189296055
+       .long   2950857776
+       .long   1048576000
+       .long   1036397006
+       .long   3170921933
+       .long   1020942892
+       .long   3148919762
+       .long   1054187736
+       .long   840468223
+       .long   1065353216
+       .long   3188726149
+       .long   2955915960
+       .long   1048576000
+       .long   1036196851
+       .long   3169906765
+       .long   1020660679
+       .long   3147905210
+       .long   1053364187
+       .long   2990259502
+       .long   1065353216
+       .long   3188158621
+       .long   2978622083
+       .long   1048576000
+       .long   1036009378
+       .long   3168882838
+       .long   1020421234
+       .long   3147436656
+       .long   1052540637
+       .long   2961181405
+       .long   1065353216
+       .long   3187515595
+       .long   789904544
+       .long   1048576000
+       .long   1035834359
+       .long   3167876891
+       .long   1020189995
+       .long   3146799430
+       .long   1051717087
+       .long   840678007
+       .long   1065353216
+       .long   3186389132
+       .long   2974324164
+       .long   1048576000
+       .long   1035671582
+       .long   3166887590
+       .long   1019957287
+       .long   3145677161
+       .long   1050893538
+       .long   2990049718
+       .long   1065353216
+       .long   3185266517
+       .long   821445502
+       .long   1048576000
+       .long   1035520850
+       .long   3165913616
+       .long   1019751749
+       .long   3143905397
+       .long   1050069988
+       .long   2957827630
+       .long   1065353216
+       .long   3184147455
+       .long   823956970
+       .long   1048576000
+       .long   1035381982
+       .long   3164953691
+       .long   1019591684
+       .long   3143870825
+       .long   1049246438
+       .long   840887792
+       .long   1065353216
+       .long   3183031657
+       .long   2948197632
+       .long   1048576000
+       .long   1035254815
+       .long   3164006661
+       .long   1019406069
+       .long   3141406886
+       .long   1048269777
+       .long   831869830
+       .long   1065353216
+       .long   3181918839
+       .long   829265530
+       .long   1048576000
+       .long   1035139196
+       .long   3163071263
+       .long   1019275107
+       .long   3141473894
+       .long   1046622678
+       .long   2954471074
+       .long   1065353216
+       .long   3180808717
+       .long   2974758491
+       .long   1048576000
+       .long   1035034991
+       .long   3161787608
+       .long   1019131285
+       .long   3139614851
+       .long   1044975579
+       .long   2981870894
+       .long   1065353216
+       .long   3179701015
+       .long   2951749952
+       .long   1048576000
+       .long   1034942077
+       .long   3159956688
+       .long   1019002541
+       .long   3137649644
+       .long   1043328479
+       .long   832289399
+       .long   1065353216
+       .long   3177908479
+       .long   2968441398
+       .long   1048576000
+       .long   1034860345
+       .long   3158142289
+       .long   1018906717
+       .long   3137336762
+       .long   1041681380
+       .long   2949439022
+       .long   1065353216
+       .long   3175701100
+       .long   2963548093
+       .long   1048576000
+       .long   1034789701
+       .long   3156342344
+       .long   1018810804
+       .long   3133887847
+       .long   1039881169
+       .long   823481222
+       .long   1065353216
+       .long   3173496918
+       .long   2969038481
+       .long   1048576000
+       .long   1034730062
+       .long   3154554595
+       .long   1018750428
+       .long   3136028910
+       .long   1036586971
+       .long   2973482286
+       .long   1065353216
+       .long   3171295395
+       .long   2968300352
+       .long   1048576000
+       .long   1034681361
+       .long   3151437839
+       .long   1018664053
+       .long   3123383004
+       .long   1033292772
+       .long   2941050414
+       .long   1065353216
+       .long   3167298168
+       .long   808398440
+       .long   1048576000
+       .long   1034643540
+       .long   3147899215
+       .long   1018610153
+       .long   943964915
+       .long   1028198363
+       .long   2965093678
+       .long   1065353216
+       .long   3162902549
+       .long   2950073902
+       .long   1048576000
+       .long   1034616555
+       .long   3143016255
+       .long   1018603598
+       .long   3133555092
+       .long   1019809755
+       .long   2956705070
+       .long   1065353216
+       .long   3154512883
+       .long   803361198
+       .long   1048576000
+       .long   1034600377
+       .long   3134618720
+       .long   1018580133
+       .long   3134056577
+       .long   0
+       .long   0
+       .long   1065353216
+       .long   0
+       .long   0
+       .long   1048576000
+       .long   1034594987
+       .long   0
+       .long   1018552971
+       .long   0
+       .long   3167293403
+       .long   809221422
+       .long   1065353216
+       .long   1007029235
+       .long   2950844846
+       .long   1048576000
+       .long   1034600377
+       .long   987135072
+       .long   1018580133
+       .long   986572929
+       .long   3175682011
+       .long   817610030
+       .long   1065353216
+       .long   1015418901
+       .long   802590254
+       .long   1048576000
+       .long   1034616555
+       .long   995532607
+       .long   1018603598
+       .long   986071444
+       .long   3180776420
+       .long   793566766
+       .long   1065353216
+       .long   1019814520
+       .long   2955882088
+       .long   1048576000
+       .long   1034643540
+       .long   1000415567
+       .long   1018610153
+       .long   3091448562
+       .long   3184070619
+       .long   825998638
+       .long   1065353216
+       .long   1023811747
+       .long   820816704
+       .long   1048576000
+       .long   1034681361
+       .long   1003954191
+       .long   1018664053
+       .long   975899356
+       .long   3187364817
+       .long   2970964870
+       .long   1065353216
+       .long   1026013270
+       .long   821554833
+       .long   1048576000
+       .long   1034730062
+       .long   1007070947
+       .long   1018750428
+       .long   988545262
+       .long   3189165028
+       .long   801955374
+       .long   1065353216
+       .long   1028217452
+       .long   816064445
+       .long   1048576000
+       .long   1034789701
+       .long   1008858696
+       .long   1018810804
+       .long   986404199
+       .long   3190812127
+       .long   2979773047
+       .long   1065353216
+       .long   1030424831
+       .long   820957750
+       .long   1048576000
+       .long   1034860345
+       .long   1010658641
+       .long   1018906717
+       .long   989853114
+       .long   3192459227
+       .long   834387246
+       .long   1065353216
+       .long   1032217367
+       .long   804266304
+       .long   1048576000
+       .long   1034942077
+       .long   1012473040
+       .long   1019002541
+       .long   990165996
+       .long   3194106326
+       .long   806987426
+       .long   1065353216
+       .long   1033325069
+       .long   827274843
+       .long   1048576000
+       .long   1035034991
+       .long   1014303960
+       .long   1019131285
+       .long   992131203
+       .long   3195753425
+       .long   2979353478
+       .long   1065353216
+       .long   1034435191
+       .long   2976749178
+       .long   1048576000
+       .long   1035139196
+       .long   1015587615
+       .long   1019275107
+       .long   993990246
+       .long   3196730086
+       .long   2988371440
+       .long   1065353216
+       .long   1035548009
+       .long   800713984
+       .long   1048576000
+       .long   1035254815
+       .long   1016523013
+       .long   1019406069
+       .long   993923238
+       .long   3197553636
+       .long   810343982
+       .long   1065353216
+       .long   1036663807
+       .long   2971440618
+       .long   1048576000
+       .long   1035381982
+       .long   1017470043
+       .long   1019591684
+       .long   996387177
+       .long   3198377186
+       .long   842566070
+       .long   1065353216
+       .long   1037782869
+       .long   2968929150
+       .long   1048576000
+       .long   1035520850
+       .long   1018429968
+       .long   1019751749
+       .long   996421749
+       .long   3199200735
+       .long   2988161655
+       .long   1065353216
+       .long   1038905484
+       .long   826840516
+       .long   1048576000
+       .long   1035671582
+       .long   1019403942
+       .long   1019957287
+       .long   998193513
+       .long   3200024285
+       .long   813697757
+       .long   1065353216
+       .long   1040031947
+       .long   2937388192
+       .long   1048576000
+       .long   1035834359
+       .long   1020393243
+       .long   1020189995
+       .long   999315782
+       .long   3200847835
+       .long   842775854
+       .long   1065353216
+       .long   1040674973
+       .long   831138435
+       .long   1048576000
+       .long   1036009378
+       .long   1021399190
+       .long   1020421234
+       .long   999953008
+       .long   3201671384
+       .long   2987951871
+       .long   1065353216
+       .long   1041242501
+       .long   808432312
+       .long   1048576000
+       .long   1036196851
+       .long   1022423117
+       .long   1020660679
+       .long   1000421562
+       .long   3202494934
+       .long   815376034
+       .long   1065353216
+       .long   1041812407
+       .long   803374128
+       .long   1048576000
+       .long   1036397006
+       .long   1023438285
+       .long   1020942892
+       .long   1001436114
+       .long   3203318484
+       .long   842985639
+       .long   1065353216
+       .long   1042384848
+       .long   834127863
+       .long   1048576000
+       .long   1036610091
+       .long   1023970338
+       .long   1021220110
+       .long   1001954001
+       .long   3204142033
+       .long   2987742086
+       .long   1065353216
+       .long   1042959985
+       .long   832371948
+       .long   1048576000
+       .long   1036836369
+       .long   1024513541
+       .long   1021543079
+       .long   1003011479
+       .long   3204706919
+       .long   3002387417
+       .long   1065353216
+       .long   1043537982
+       .long   2986276286
+       .long   1048576000
+       .long   1037076124
+       .long   1025068684
+       .long   1021893801
+       .long   1004198485
+       .long   3205118694
+       .long   2996760048
+       .long   1065353216
+       .long   1044119004
+       .long   825381402
+       .long   1048576000
+       .long   1037329660
+       .long   1025636593
+       .long   1022242934
+       .long   1004982883
+       .long   3205530469
+       .long   2987532301
+       .long   1065353216
+       .long   1044703224
+       .long   835363787
+       .long   1048576000
+       .long   1037597300
+       .long   1026218117
+       .long   1022609285
+       .long   1005708104
+       .long   3205942244
+       .long   818732590
+       .long   1065353216
+       .long   1045290817
+       .long   833527956
+       .long   1048576000
+       .long   1037879388
+       .long   1026814142
+       .long   1023026096
+       .long   1006763255
+       .long   3206354019
+       .long   843405209
+       .long   1065353216
+       .long   1045881963
+       .long   2984505345
+       .long   1048576000
+       .long   1038176293
+       .long   1027425616
+       .long   1023428141
+       .long   1007234200
+       .long   3206765794
+       .long   850954678
+       .long   1065353216
+       .long   1046476844
+       .long   829452858
+       .long   1048576000
+       .long   1038488404
+       .long   1028053510
+       .long   1023672824
+       .long   1008001043
+       .long   3207177568
+       .long   3002177633
+       .long   1065353216
+       .long   1047075652
+       .long   2985396534
+       .long   1048576000
+       .long   1038816139
+       .long   1028698871
+       .long   1023917626
+       .long   1008617127
+       .long   3207589343
+       .long   2996550263
+       .long   1065353216
+       .long   1047678579
+       .long   2971714530
+       .long   1048576000
+       .long   1039159939
+       .long   1029362782
+       .long   1024176063
+       .long   1009236155
+       .long   3208001118
+       .long   2987112732
+       .long   1065353216
+       .long   1048285826
+       .long   825459666
+       .long   1048576000
+       .long   1039520273
+       .long   1030046387
+       .long   1024452069
+       .long   1009908500
+       .long   3208412893
+       .long   822086365
+       .long   1065353216
+       .long   1048736800
+       .long   2987101005
+       .long   1048576000
+       .long   1039897640
+       .long   1030750900
+       .long   1024731756
+       .long   1010452479
+       .long   3208824668
+       .long   843824778
+       .long   1065353216
+       .long   1049045055
+       .long   845724006
+       .long   1056964608
+       .long   3187565865
+       .long   1031477587
+       .long   1025040649
+       .long   1011183792
+       .long   3209236443
+       .long   851164462
+       .long   0
+       .long   3212836864
+       .long   725680128
+       .long   1073741824
+       .long   3003121664
+       .long   3221225472
+       .long   1076541384
+       .long   3226821083
+       .long   3209648217
+       .long   3001967848
+       .long   0
+       .long   3212032885
+       .long   3002896525
+       .long   1073741824
+       .long   3183449264
+       .long   3219674383
+       .long   1075269479
+       .long   3224815112
+       .long   3210059992
+       .long   2996340479
+       .long   0
+       .long   3211265630
+       .long   2993098010
+       .long   1073741824
+       .long   3191263702
+       .long   3218296839
+       .long   1074178145
+       .long   3223145434
+       .long   3210471767
+       .long   2986693162
+       .long   0
+       .long   3210531774
+       .long   2974155528
+       .long   1073741824
+       .long   3196257989
+       .long   3217068594
+       .long   1072731698
+       .long   3221740288
+       .long   3210883542
+       .long   823764642
+       .long   0
+       .long   3209828353
+       .long   2997764472
+       .long   1073741824
+       .long   3198626104
+       .long   3215969314
+       .long   1071103306
+       .long   3219894299
+       .long   3211295317
+       .long   844244347
+       .long   0
+       .long   3209152716
+       .long   838923546
+       .long   1073741824
+       .long   3200789612
+       .long   3214981865
+       .long   1069688111
+       .long   3217892551
+       .long   3211707092
+       .long   851374247
+       .long   0
+       .long   3208502479
+       .long   3000145414
+       .long   1073741824
+       .long   3202769007
+       .long   3214091734
+       .long   1068453481
+       .long   3216181260
+       .long   3212118866
+       .long   3001758063
+       .long   0
+       .long   3207875497
+       .long   850964714
+       .long   1065353216
+       .long   1056830711
+       .long   3213286568
+       .long   1067373883
+       .long   3214720734
+       .long   3212530641
+       .long   2996130694
+       .long   0
+       .long   3207269825
+       .long   2997583546
+       .long   1065353216
+       .long   1055168194
+       .long   3212274752
+       .long   1066427841
+       .long   3213471670
+       .long   3212889640
+       .long   2986202738
+       .long   0
+       .long   3206683703
+       .long   839672284
+       .long   1065353216
+       .long   1053642609
+       .long   3210943914
+       .long   1065596017
+       .long   3211952618
+       .long   3213095527
+       .long   3010776025
+       .long   0
+       .long   3206115524
+       .long   2995800136
+       .long   1065353216
+       .long   1052241912
+       .long   3209728124
+       .long   1064374250
+       .long   3210092525
+       .long   3213301415
+       .long   844663917
+       .long   0
+       .long   3205563823
+       .long   3002090928
+       .long   1065353216
+       .long   1050955490
+       .long   3208613851
+       .long   1063075792
+       .long   3208448547
+       .long   3213507302
+       .long   3005148656
+       .long   0
+       .long   3205027257
+       .long   845085070
+       .long   1065353216
+       .long   1049773965
+       .long   3207589321
+       .long   1061932376
+       .long   3207048862
+       .long   3213713190
+       .long   856424709
+       .long   0
+       .long   3204504589
+       .long   840216434
+       .long   1065353216
+       .long   1048689044
+       .long   3206644275
+       .long   1060914481
+       .long   3205797512
+       .long   3213919077
+       .long   2995920909
+       .long   0
+       .long   3203541104
+       .long   2991747572
+       .long   1065353216
+       .long   1046810746
+       .long   3205769712
+       .long   1060014844
+       .long   3204711576
+       .long   3214124965
+       .long   862052078
+       .long   0
+       .long   3202544697
+       .long   838089118
+       .long   1065353216
+       .long   1044984860
+       .long   3204957722
+       .long   1059214863
+       .long   3203049502
+       .long   3214330852
+       .long   827121198
+       .long   0
+       .long   3201569741
+       .long   834691410
+       .long   1065353216
+       .long   1043312844
+       .long   3203954379
+       .long   1058502663
+       .long   3201336375
+       .long   3214536739
+       .long   3007857448
+       .long   0
+       .long   3200614413
+       .long   840221633
+       .long   1065353216
+       .long   1041784404
+       .long   3202540354
+       .long   1057868403
+       .long   3199781921
+       .long   3214742627
+       .long   851793817
+       .long   0
+       .long   3199677008
+       .long   839026723
+       .long   1065353216
+       .long   1040390392
+       .long   3201214072
+       .long   1057307751
+       .long   3198426707
+       .long   3214948514
+       .long   3001338494
+       .long   0
+       .long   3198755927
+       .long   2964850736
+       .long   1065353216
+       .long   1038057984
+       .long   3199965673
+       .long   1056656040
+       .long   3197207230
+       .long   3215154402
+       .long   859343286
+       .long   0
+       .long   3197849666
+       .long   841628398
+       .long   1065353216
+       .long   1035760784
+       .long   3198786293
+       .long   1055777031
+       .long   3196119466
+       .long   3215360289
+       .long   2984524460
+       .long   0
+       .long   3196956802
+       .long   825401908
+       .long   1065353216
+       .long   1033689040
+       .long   3197667936
+       .long   1054999523
+       .long   3194181676
+       .long   3215566176
+       .long   3010566241
+       .long   0
+       .long   3196075988
+       .long   841457254
+       .long   1065353216
+       .long   1031831496
+       .long   3196603348
+       .long   1054310701
+       .long   3192272619
+       .long   3215772064
+       .long   845503056
+       .long   0
+       .long   3194352231
+       .long   2981409247
+       .long   1065353216
+       .long   1028557712
+       .long   3195112138
+       .long   1053716836
+       .long   3190669665
+       .long   3215977951
+       .long   3004938871
+       .long   0
+       .long   3192631215
+       .long   2938776032
+       .long   1065353216
+       .long   1025642520
+       .long   3193159376
+       .long   1053195814
+       .long   3189074146
+       .long   3216183839
+       .long   856634493
+       .long   0
+       .long   3190926925
+       .long   838017617
+       .long   1065353216
+       .long   1022797056
+       .long   3191277530
+       .long   1052746889
+       .long   3187399111
+       .long   3216389726
+       .long   2995501340
+       .long   0
+       .long   3189237092
+       .long   835035876
+       .long   1065353216
+       .long   1018446032
+       .long   3189456128
+       .long   1052374628
+       .long   3184936896
+       .long   3216595614
+       .long   862261863
+       .long   0
+       .long   3187448002
+       .long   816730716
+       .long   1065353216
+       .long   1014578464
+       .long   3187685445
+       .long   1052059423
+       .long   3182192286
+       .long   3216801501
+       .long   830474973
+       .long   0
+       .long   3184113116
+       .long   2974133638
+       .long   1065353216
+       .long   1008660256
+       .long   3184241386
+       .long   1051807326
+       .long   3179645874
+       .long   3217007388
+       .long   3007647664
+       .long   0
+       .long   3180794318
+       .long   2974804776
+       .long   1065353216
+       .long   1001540608
+       .long   3180848186
+       .long   1051617929
+       .long   3175942112
+       .long   3217213276
+       .long   852213386
+       .long   0
+       .long   3175692604
+       .long   2963513179
+       .long   1065353216
+       .long   991832832
+       .long   3175724500
+       .long   1051479824
+       .long   3170735141
+       .long   3217419163
+       .long   3000918924
+       .long   0
+       .long   3167296049
+       .long   2945355034
+       .long   1065353216
+       .long   975043072
+       .long   3167303981
+       .long   1051400329
+       .long   3163053371
+       .type   __svml_stan_data_internal,@object
+       .size   __svml_stan_data_internal,7232
+       .align 64
+__svml_stan_reduction_data_internal:
+       .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   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   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   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   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   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   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   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   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   0
+       .long   0
+       .long   1
+       .long   0
+       .long   0
+       .long   2
+       .long   0
+       .long   0
+       .long   5
+       .long   0
+       .long   0
+       .long   10
+       .long   0
+       .long   0
+       .long   20
+       .long   0
+       .long   0
+       .long   40
+       .long   0
+       .long   0
+       .long   81
+       .long   0
+       .long   0
+       .long   162
+       .long   0
+       .long   0
+       .long   325
+       .long   0
+       .long   0
+       .long   651
+       .long   0
+       .long   0
+       .long   1303
+       .long   0
+       .long   0
+       .long   2607
+       .long   0
+       .long   0
+       .long   5215
+       .long   0
+       .long   0
+       .long   10430
+       .long   0
+       .long   0
+       .long   20860
+       .long   0
+       .long   0
+       .long   41721
+       .long   0
+       .long   0
+       .long   83443
+       .long   0
+       .long   0
+       .long   166886
+       .long   0
+       .long   0
+       .long   333772
+       .long   0
+       .long   0
+       .long   667544
+       .long   0
+       .long   0
+       .long   1335088
+       .long   0
+       .long   0
+       .long   2670176
+       .long   0
+       .long   0
+       .long   5340353
+       .long   0
+       .long   0
+       .long   10680707
+       .long   0
+       .long   0
+       .long   21361414
+       .long   0
+       .long   0
+       .long   42722829
+       .long   0
+       .long   0
+       .long   85445659
+       .long   0
+       .long   0
+       .long   170891318
+       .long   0
+       .long   0
+       .long   341782637
+       .long   0
+       .long   0
+       .long   683565275
+       .long   0
+       .long   0
+       .long   1367130551
+       .long   0
+       .long   0
+       .long   2734261102
+       .long   0
+       .long   1
+       .long   1173554908
+       .long   0
+       .long   2
+       .long   2347109817
+       .long   0
+       .long   5
+       .long   399252338
+       .long   0
+       .long   10
+       .long   798504676
+       .long   0
+       .long   20
+       .long   1597009353
+       .long   0
+       .long   40
+       .long   3194018707
+       .long   0
+       .long   81
+       .long   2093070119
+       .long   0
+       .long   162
+       .long   4186140238
+       .long   0
+       .long   325
+       .long   4077313180
+       .long   0
+       .long   651
+       .long   3859659065
+       .long   0
+       .long   1303
+       .long   3424350834
+       .long   0
+       .long   2607
+       .long   2553734372
+       .long   0
+       .long   5215
+       .long   812501448
+       .long   0
+       .long   10430
+       .long   1625002897
+       .long   0
+       .long   20860
+       .long   3250005794
+       .long   0
+       .long   41721
+       .long   2205044292
+       .long   0
+       .long   83443
+       .long   115121288
+       .long   0
+       .long   166886
+       .long   230242576
+       .long   0
+       .long   333772
+       .long   460485152
+       .long   0
+       .long   667544
+       .long   920970305
+       .long   0
+       .long   1335088
+       .long   1841940610
+       .long   0
+       .long   2670176
+       .long   3683881221
+       .long   0
+       .long   5340353
+       .long   3072795146
+       .long   0
+       .long   10680707
+       .long   1850622997
+       .long   0
+       .long   21361414
+       .long   3701245994
+       .long   0
+       .long   42722829
+       .long   3107524692
+       .long   0
+       .long   85445659
+       .long   1920082089
+       .long   0
+       .long   170891318
+       .long   3840164178
+       .long   0
+       .long   341782637
+       .long   3385361061
+       .long   0
+       .long   683565275
+       .long   2475754826
+       .long   0
+       .long   1367130551
+       .long   656542356
+       .long   0
+       .long   2734261102
+       .long   1313084713
+       .long   1
+       .long   1173554908
+       .long   2626169427
+       .long   2
+       .long   2347109817
+       .long   957371559
+       .long   5
+       .long   399252338
+       .long   1914743119
+       .long   10
+       .long   798504676
+       .long   3829486239
+       .long   20
+       .long   1597009353
+       .long   3364005183
+       .long   40
+       .long   3194018707
+       .long   2433043071
+       .long   81
+       .long   2093070119
+       .long   571118846
+       .long   162
+       .long   4186140238
+       .long   1142237692
+       .long   325
+       .long   4077313180
+       .long   2284475384
+       .long   651
+       .long   3859659065
+       .long   273983472
+       .long   1303
+       .long   3424350834
+       .long   547966945
+       .long   2607
+       .long   2553734372
+       .long   1095933890
+       .long   5215
+       .long   812501448
+       .long   2191867780
+       .long   10430
+       .long   1625002897
+       .long   88768265
+       .long   20860
+       .long   3250005794
+       .long   177536531
+       .long   41721
+       .long   2205044292
+       .long   355073063
+       .long   83443
+       .long   115121288
+       .long   710146126
+       .long   166886
+       .long   230242576
+       .long   1420292253
+       .long   333772
+       .long   460485152
+       .long   2840584506
+       .long   667544
+       .long   920970305
+       .long   1386201717
+       .long   1335088
+       .long   1841940610
+       .long   2772403434
+       .long   2670176
+       .long   3683881221
+       .long   1249839573
+       .long   5340353
+       .long   3072795146
+       .long   2499679147
+       .long   10680707
+       .long   1850622997
+       .long   704390999
+       .long   21361414
+       .long   3701245994
+       .long   1408781999
+       .long   42722829
+       .long   3107524692
+       .long   2817563999
+       .long   85445659
+       .long   1920082089
+       .long   1340160702
+       .long   170891318
+       .long   3840164178
+       .long   2680321405
+       .long   341782637
+       .long   3385361061
+       .long   1065675514
+       .long   683565275
+       .long   2475754826
+       .long   2131351028
+       .long   1367130551
+       .long   656542356
+       .long   4262702056
+       .long   2734261102
+       .long   1313084713
+       .long   4230436817
+       .long   1173554908
+       .long   2626169427
+       .long   4165906339
+       .long   2347109817
+       .long   957371559
+       .long   4036845383
+       .long   399252338
+       .long   1914743119
+       .long   3778723471
+       .long   798504676
+       .long   3829486239
+       .long   3262479647
+       .long   1597009353
+       .long   3364005183
+       .long   2229991998
+       .long   3194018707
+       .long   2433043071
+       .long   165016701
+       .long   2093070119
+       .long   571118846
+       .long   330033402
+       .long   4186140238
+       .long   1142237692
+       .long   660066805
+       .long   4077313180
+       .long   2284475384
+       .long   1320133610
+       .long   3859659065
+       .long   273983472
+       .long   2640267220
+       .long   3424350834
+       .long   547966945
+       .long   985567145
+       .long   2553734372
+       .long   1095933890
+       .long   1971134291
+       .long   812501448
+       .long   2191867780
+       .long   3942268582
+       .long   1625002897
+       .long   88768265
+       .long   3589569869
+       .long   3250005794
+       .long   177536531
+       .long   2884172442
+       .long   2205044292
+       .long   355073063
+       .long   1473377588
+       .long   115121288
+       .long   710146126
+       .long   2946755177
+       .long   230242576
+       .long   1420292253
+       .long   1598543059
+       .long   460485152
+       .long   2840584506
+       .long   3197086118
+       .long   920970305
+       .long   1386201717
+       .long   2099204941
+       .long   1841940610
+       .long   2772403434
+       .long   4198409883
+       .long   3683881221
+       .long   1249839573
+       .long   4101852471
+       .long   3072795146
+       .long   2499679147
+       .long   3908737646
+       .long   1850622997
+       .long   704390999
+       .long   3522507997
+       .long   3701245994
+       .long   1408781999
+       .long   2750048699
+       .long   3107524692
+       .long   2817563999
+       .long   1205130103
+       .long   1920082089
+       .long   1340160702
+       .long   2410260206
+       .long   3840164178
+       .long   2680321405
+       .long   525553116
+       .long   3385361061
+       .long   1065675514
+       .long   1051106232
+       .long   2475754826
+       .long   2131351028
+       .long   2102212464
+       .long   656542356
+       .long   4262702056
+       .long   4204424928
+       .long   1313084713
+       .long   4230436817
+       .long   4113882560
+       .long   2626169427
+       .long   4165906339
+       .long   3932797825
+       .long   957371559
+       .long   4036845383
+       .long   3570628355
+       .long   1914743119
+       .long   3778723471
+       .long   2846289414
+       .long   3829486239
+       .long   3262479647
+       .long   1397611533
+       .long   3364005183
+       .long   2229991998
+       .long   2795223067
+       .long   2433043071
+       .long   165016701
+       .long   1295478838
+       .long   571118846
+       .long   330033402
+       .long   2590957677
+       .long   1142237692
+       .long   660066805
+       .long   886948059
+       .long   2284475384
+       .long   1320133610
+       .long   1773896118
+       .long   273983472
+       .long   2640267220
+       .long   3547792237
+       .long   547966945
+       .long   985567145
+       .long   2800617179
+       .long   1095933890
+       .long   1971134291
+       .long   1306267062
+       .long   2191867780
+       .long   3942268582
+       .long   2612534124
+       .long   88768265
+       .long   3589569869
+       .long   930100952
+       .long   177536531
+       .long   2884172442
+       .long   1860201905
+       .long   355073063
+       .long   1473377588
+       .long   3720403810
+       .long   710146126
+       .long   2946755177
+       .long   3145840325
+       .long   1420292253
+       .long   1598543059
+       .long   1996713354
+       .long   2840584506
+       .long   3197086118
+       .long   3993426708
+       .long   1386201717
+       .long   2099204941
+       .long   3691886121
+       .long   2772403434
+       .long   4198409883
+       .long   3088804946
+       .long   1249839573
+       .long   4101852471
+       .long   1882642597
+       .long   2499679147
+       .long   3908737646
+       .long   3765285194
+       .long   704390999
+       .long   3522507997
+       .long   3235603093
+       .long   1408781999
+       .long   2750048699
+       .long   2176238891
+       .long   2817563999
+       .long   1205130103
+       .long   57510486
+       .long   1340160702
+       .long   2410260206
+       .long   115020972
+       .long   2680321405
+       .long   525553116
+       .long   230041945
+       .long   1065675514
+       .long   1051106232
+       .long   460083891
+       .long   2131351028
+       .long   2102212464
+       .long   920167782
+       .long   4262702056
+       .long   4204424928
+       .long   1840335564
+       .long   4230436817
+       .long   4113882560
+       .long   3680671129
+       .long   4165906339
+       .long   3932797825
+       .long   3066374962
+       .long   4036845383
+       .long   3570628355
+       .long   1837782628
+       .long   3778723471
+       .long   2846289414
+       .long   3675565257
+       .long   3262479647
+       .long   1397611533
+       .long   3056163219
+       .long   2229991998
+       .long   2795223067
+       .long   1817359143
+       .long   165016701
+       .long   1295478838
+       .long   3634718287
+       .long   330033402
+       .long   2590957677
+       .long   2974469278
+       .long   660066805
+       .long   886948059
+       .long   1653971260
+       .long   1320133610
+       .long   1773896118
+       .long   3307942520
+       .long   2640267220
+       .long   3547792237
+       .long   2320917745
+       .long   985567145
+       .long   2800617179
+       .long   346868194
+       .long   1971134291
+       .long   1306267062
+       .long   693736388
+       .long   3942268582
+       .long   2612534124
+       .long   1387472776
+       .long   3589569869
+       .long   930100952
+       .long   2774945552
+       .long   2884172442
+       .long   1860201905
+       .long   1254923809
+       .long   1473377588
+       .long   3720403810
+       .long   2509847619
+       .long   2946755177
+       .long   3145840325
+       .long   724727943
+       .long   1598543059
+       .long   1996713354
+       .long   1449455886
+       .long   3197086118
+       .long   3993426708
+       .long   2898911772
+       .long   2099204941
+       .long   3691886121
+       .long   1502856249
+       .long   4198409883
+       .long   3088804946
+       .long   3005712498
+       .long   4101852471
+       .long   1882642597
+       .long   1716457700
+       .long   3908737646
+       .long   3765285194
+       .long   3432915400
+       .long   3522507997
+       .long   3235603093
+       .long   2570863504
+       .long   2750048699
+       .long   2176238891
+       .long   846759712
+       .long   1205130103
+       .long   57510486
+       .long   1693519425
+       .long   2410260206
+       .long   115020972
+       .long   3387038850
+       .long   525553116
+       .long   230041945
+       .long   2479110404
+       .long   1051106232
+       .long   460083891
+       .long   663253512
+       .long   2102212464
+       .long   920167782
+       .long   1326507024
+       .long   4204424928
+       .long   1840335564
+       .long   2653014048
+       .long   4113882560
+       .long   3680671129
+       .long   1011060801
+       .long   3932797825
+       .long   3066374962
+       .long   2022121603
+       .long   3570628355
+       .long   1837782628
+       .long   4044243207
+       .long   2846289414
+       .long   3675565257
+       .long   3793519119
+       .long   1397611533
+       .long   3056163219
+       .long   3292070943
+       .long   2795223067
+       .long   1817359143
+       .long   2289174591
+       .long   1295478838
+       .long   3634718287
+       .long   283381887
+       .long   2590957677
+       .long   2974469278
+       .long   566763775
+       .type   __svml_stan_reduction_data_internal,@object
+       .size   __svml_stan_reduction_data_internal,3072
+       .align 4
+__stan_la__vmlsTanTab:
+       .long   0
+       .long   2139095040
+       .type   __stan_la__vmlsTanTab,@object
+       .size   __stan_la__vmlsTanTab,8
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_tanh_d_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_tanh_d_la.s
new file mode 100644 (file)
index 0000000..e9c3db6
--- /dev/null
@@ -0,0 +1,3046 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *   NOTE: Since the hyperbolic tangent function is odd
+ *         (tanh(x) = -tanh(-x)), below algorithm deals with the absolute
+ *         value of the argument |x|: tanh(x) = sign(x) * tanh(|x|)
+ * 
+ *   We use a table lookup method to compute tanh(|x|).
+ *   The basic idea is to split the input range into a number of subintervals
+ *   and to approximate tanh(.) with a polynomial on each of them.
+ * 
+ *   IEEE SPECIAL CONDITIONS:
+ *   x = [+,-]0, r = [+,-]0
+ *   x = +Inf,   r = +1
+ *   x = -Inf,   r = -1
+ *   x = QNaN,   r = QNaN
+ *   x = SNaN,   r = QNaN
+ * 
+ * 
+ *   ALGORITHM DETAILS
+ *   We handle special values in a callout function, aside from main path
+ *   computations. "Special" for this algorithm are:
+ *   INF, NAN, |x| > HUGE_THRESHOLD
+ * 
+ * 
+ *   Main path computations are organized as follows:
+ *   Actually we split the interval [0, SATURATION_THRESHOLD)
+ *   into a number of subintervals.  On each subinterval we approximate tanh(.)
+ *   with a minimax polynomial of pre-defined degree. Polynomial coefficients
+ *   are computed beforehand and stored in table. We also use
+ * 
+ *       y := |x| + B,
+ * 
+ *   here B depends on subinterval and is used to make argument
+ *   closer to zero.
+ *   We also add large fake interval [SATURATION_THRESHOLD, HUGE_THRESHOLD],
+ *   where 1.0 + 0.0*y + 0.0*y^2 ... coefficients are stored - just to
+ *   preserve main path computation logic but return 1.0 for all arguments.
+ * 
+ *   Hence reconstruction looks as follows:
+ *   we extract proper polynomial and range reduction coefficients
+ *        (Pj and B), corresponding to subinterval, to which |x| belongs,
+ *        and return
+ * 
+ *       r := sign(x) * (P0 + P1 * y + ... + Pn * y^n)
+ * 
+ *   NOTE: we use multiprecision technique to multiply and sum the first
+ *         K terms of the polynomial. So Pj, j = 0..K are stored in
+ *         table each as a pair of target precision numbers (Pj and PLj) to
+ *         achieve wider than target precision.
+ * 
+ * --
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_tanh8_z0_0:
+
+       .align    16,0x90
+       .globl __svml_tanh8
+
+__svml_tanh8:
+
+
+       .cfi_startproc
+..L2:
+
+        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
+        vpsrlq    $32, %zmm0, %zmm4
+        vmovups   %zmm0, (%rsp)
+        vmovups   __svml_dtanh_data_internal(%rip), %zmm14
+        vmovups   128+__svml_dtanh_data_internal(%rip), %zmm15
+        vpmovqd   %zmm4, %ymm5
+
+/* -------------------- Constant loading ------------------- */
+        vandpd    10432+__svml_dtanh_data_internal(%rip), %zmm0, %zmm13
+        vandpd    10368+__svml_dtanh_data_internal(%rip), %zmm0, %zmm3
+
+/* Here huge arguments, INF and NaNs are filtered out to callout. */
+        vpand     2432+__svml_dtanh_data_internal(%rip), %ymm5, %ymm7
+        vmovups   384+__svml_dtanh_data_internal(%rip), %zmm0
+        vmovups   2176+__svml_dtanh_data_internal(%rip), %zmm4
+        vmovups   2048+__svml_dtanh_data_internal(%rip), %zmm5
+        vmovups   %zmm3, 64(%rsp)
+        vmovups   512+__svml_dtanh_data_internal(%rip), %zmm3
+        vpsubd    2496+__svml_dtanh_data_internal(%rip), %ymm7, %ymm8
+
+/* if VMIN, VMAX is defined for I type */
+        vxorps    %ymm9, %ymm9, %ymm9
+        vpmaxsd   %ymm9, %ymm8, %ymm10
+        vpminsd   2560+__svml_dtanh_data_internal(%rip), %ymm10, %ymm11
+        vpsrld    $19, %ymm11, %ymm12
+        vmovups   1664+__svml_dtanh_data_internal(%rip), %zmm8
+        vmovups   1536+__svml_dtanh_data_internal(%rip), %zmm9
+        vmovups   1408+__svml_dtanh_data_internal(%rip), %zmm10
+        vmovups   1280+__svml_dtanh_data_internal(%rip), %zmm11
+        vpmovzxdq %ymm12, %zmm2
+        vmovups   1152+__svml_dtanh_data_internal(%rip), %zmm12
+        vpermt2pd 448+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0
+        vpermt2pd 64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14
+        vpermt2pd 2240+__svml_dtanh_data_internal(%rip), %zmm2, %zmm4
+        vpermt2pd 2112+__svml_dtanh_data_internal(%rip), %zmm2, %zmm5
+        vsubpd    {rn-sae}, %zmm14, %zmm13, %zmm1
+        vpermt2pd 1728+__svml_dtanh_data_internal(%rip), %zmm2, %zmm8
+        vpermt2pd 1600+__svml_dtanh_data_internal(%rip), %zmm2, %zmm9
+        vpermt2pd 1472+__svml_dtanh_data_internal(%rip), %zmm2, %zmm10
+        vpermt2pd 1344+__svml_dtanh_data_internal(%rip), %zmm2, %zmm11
+        vpermt2pd 1216+__svml_dtanh_data_internal(%rip), %zmm2, %zmm12
+        vpermt2pd 576+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3
+        vpermt2pd 192+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15
+        vmovups   %zmm0, 192(%rsp)
+        vmovups   2304+__svml_dtanh_data_internal(%rip), %zmm0
+        vmovups   1024+__svml_dtanh_data_internal(%rip), %zmm13
+        vmovups   896+__svml_dtanh_data_internal(%rip), %zmm14
+        vmovups   %zmm3, 256(%rsp)
+        vmovups   768+__svml_dtanh_data_internal(%rip), %zmm3
+        vmovups   %zmm15, 128(%rsp)
+        vmovups   640+__svml_dtanh_data_internal(%rip), %zmm15
+        vpermt2pd 2368+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0
+        vpermt2pd 1088+__svml_dtanh_data_internal(%rip), %zmm2, %zmm13
+        vpermt2pd 960+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14
+        vpermt2pd 832+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3
+        vpermt2pd 704+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15
+        vfmadd213pd {rn-sae}, %zmm4, %zmm1, %zmm0
+        vpcmpgtd  10560+__svml_dtanh_data_internal(%rip), %ymm7, %ymm6
+        vmovmskps %ymm6, %edx
+        vmovups   1920+__svml_dtanh_data_internal(%rip), %zmm6
+        vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm0
+        vmovups   1792+__svml_dtanh_data_internal(%rip), %zmm7
+        vpermt2pd 1984+__svml_dtanh_data_internal(%rip), %zmm2, %zmm6
+        vpermt2pd 1856+__svml_dtanh_data_internal(%rip), %zmm2, %zmm7
+        vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0
+        vmovups   256(%rsp), %zmm2
+        vfmadd213pd {rn-sae}, %zmm7, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm8, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm9, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm10, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm11, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm12, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm13, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm14, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0
+        vmovups   128(%rsp), %zmm3
+        vfmadd213pd {rn-sae}, %zmm15, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0
+        vmovups   192(%rsp), %zmm2
+        vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0
+        vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0
+        vorpd     64(%rsp), %zmm0, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   (%rsp), %zmm1
+        vmovups   %zmm0, 128(%rsp)
+        vmovups   %zmm1, 64(%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, 0xe8, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xfe, 0xff, 0xff, 0x22
+        movl      %eax, %r12d
+        movq      %r13, 48(%rsp)
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22
+        movl      %edx, %r13d
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd8, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 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, 0xe8, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd8, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22
+       .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
+
+.LBL_1_10:
+
+        lea       64(%rsp,%r12,8), %rdi
+        lea       128(%rsp,%r12,8), %rsi
+
+        call      __svml_dtanh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_tanh8,@function
+       .size   __svml_tanh8,.-__svml_tanh8
+..LN__svml_tanh8.0:
+
+.L_2__routine_start___svml_dtanh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_dtanh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L63:
+
+        lea       __dtanh_la__imldTanhTab(%rip), %rdx
+        movb      7(%rdi), %al
+        andb      $-128, %al
+        shrb      $7, %al
+        movzbl    %al, %ecx
+        movzwl    6(%rdi), %eax
+        andl      $32752, %eax
+        shrl      $4, %eax
+        movq      (%rdx,%rcx,8), %rdx
+        cmpl      $2047, %eax
+        je        .LBL_2_6
+
+
+        cmpl      $2046, %eax
+        jne       .LBL_2_4
+
+.LBL_2_3:
+
+        movq      %rdx, (%rsi)
+        jmp       .LBL_2_5
+
+.LBL_2_4:
+
+        movsd     (%rdi), %xmm1
+        movsd     __dtanh_la__imldTanhTab(%rip), %xmm0
+        addsd     %xmm1, %xmm0
+        mulsd     %xmm0, %xmm1
+        movsd     %xmm1, (%rsi)
+
+.LBL_2_5:
+
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_6:
+
+        testl     $1048575, 4(%rdi)
+        jne       .LBL_2_9
+
+
+        cmpl      $0, (%rdi)
+        je        .LBL_2_3
+
+.LBL_2_9:
+
+        movsd     (%rdi), %xmm0
+        addsd     %xmm0, %xmm0
+        movsd     %xmm0, (%rsi)
+        jmp       .LBL_2_5
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_dtanh_cout_rare_internal,@function
+       .size   __svml_dtanh_cout_rare_internal,.-__svml_dtanh_cout_rare_internal
+..LN__svml_dtanh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_dtanh_data_internal:
+       .long   0
+       .long   0
+       .long   0
+       .long   1070333952
+       .long   0
+       .long   1070858240
+       .long   0
+       .long   1071382528
+       .long   0
+       .long   1071906816
+       .long   0
+       .long   1072431104
+       .long   0
+       .long   1072955392
+       .long   0
+       .long   1073479680
+       .long   0
+       .long   1074003968
+       .long   0
+       .long   1074528256
+       .long   0
+       .long   1075052544
+       .long   0
+       .long   1075576832
+       .long   0
+       .long   1076101120
+       .long   0
+       .long   1076625408
+       .long   0
+       .long   1077149696
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1097497746
+       .long   1070305232
+       .long   2699715854
+       .long   1070817176
+       .long   3997728823
+       .long   1071273769
+       .long   3938160533
+       .long   1071759175
+       .long   193732629
+       .long   1072072293
+       .long   3144363502
+       .long   1072375075
+       .long   2548249895
+       .long   1072570303
+       .long   638218690
+       .long   1072665176
+       .long   3325726839
+       .long   1072689426
+       .long   2523455249
+       .long   1072693057
+       .long   2200391922
+       .long   1072693244
+       .long   4257836853
+       .long   1072693247
+       .long   4294954840
+       .long   1072693247
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   3167993022
+       .long   1013310014
+       .long   2889539328
+       .long   3159121931
+       .long   394645568
+       .long   1013728265
+       .long   2799920971
+       .long   1015161303
+       .long   754366556
+       .long   1013577885
+       .long   3960180508
+       .long   1014215657
+       .long   69774042
+       .long   3162475851
+       .long   2161066944
+       .long   3162264280
+       .long   923362432
+       .long   1014879086
+       .long   2160345802
+       .long   1014714211
+       .long   3729195158
+       .long   3161626453
+       .long   675671997
+       .long   1015336837
+       .long   1141527416
+       .long   1013957883
+       .long   2209699952
+       .long   3160643600
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   2750448946
+       .long   1072596012
+       .long   1257606939
+       .long   1072501079
+       .long   2619663609
+       .long   1072338011
+       .long   863303701
+       .long   1072048204
+       .long   2694810990
+       .long   1071654144
+       .long   837003456
+       .long   1070723665
+       .long   472162617
+       .long   1069359818
+       .long   532307062
+       .long   1067137790
+       .long   431106849
+       .long   1064162173
+       .long   329904022
+       .long   1059572972
+       .long   4080160942
+       .long   1053550275
+       .long   1402271583
+       .long   1044493446
+       .long   467296040
+       .long   1032344560
+       .long   26734424
+       .long   1014207804
+       .long   0
+       .long   0
+       .long   1071622681
+       .long   3153114090
+       .long   3948133409
+       .long   3217705130
+       .long   4096956694
+       .long   3218184481
+       .long   2616164369
+       .long   3218465008
+       .long   2620770434
+       .long   3218641845
+       .long   3075958072
+       .long   3218520700
+       .long   1950184789
+       .long   3217978001
+       .long   2686385024
+       .long   3216731525
+       .long   1489441818
+       .long   3214597550
+       .long   1992796697
+       .long   3211642259
+       .long   1952936976
+       .long   3207056478
+       .long   3904162951
+       .long   3201033920
+       .long   1382745445
+       .long   3191977094
+       .long   468673444
+       .long   3179828208
+       .long   3843669553
+       .long   3161691483
+       .long   0
+       .long   0
+       .long   1431655765
+       .long   3218429269
+       .long   3264395793
+       .long   3218178991
+       .long   60595194
+       .long   3217824331
+       .long   1837960166
+       .long   3217124894
+       .long   1964918946
+       .long   3214033516
+       .long   2998587684
+       .long   1068822866
+       .long   3421467326
+       .long   1069267520
+       .long   952003133
+       .long   1068506016
+       .long   1215426504
+       .long   1066495476
+       .long   2650572912
+       .long   1063503494
+       .long   4178958376
+       .long   1059043758
+       .long   3799805457
+       .long   1052940753
+       .long   3704238924
+       .long   1043831645
+       .long   2076585114
+       .long   1031813109
+       .long   1352847351
+       .long   1013591371
+       .long   0
+       .long   0
+       .long   3830371894
+       .long   3169224254
+       .long   74893150
+       .long   1069567437
+       .long   1235750664
+       .long   1069825332
+       .long   916043751
+       .long   1069924975
+       .long   4138411315
+       .long   1069655686
+       .long   829220656
+       .long   1068441660
+       .long   663246204
+       .long   3213477792
+       .long   652268865
+       .long   3214415230
+       .long   3251098232
+       .long   3212868437
+       .long   1480792335
+       .long   3209929101
+       .long   3365608027
+       .long   3205478075
+       .long   3330582883
+       .long   3199375817
+       .long   3573234945
+       .long   3190266717
+       .long   2061970086
+       .long   3178248181
+       .long   3148320390
+       .long   3160026274
+       .long   0
+       .long   0
+       .long   286337717
+       .long   1069617425
+       .long   4261152941
+       .long   1068876190
+       .long   3694459820
+       .long   1067928728
+       .long   2399079031
+       .long   3212381546
+       .long   394897286
+       .long   3215735810
+       .long   3073534041
+       .long   3215860118
+       .long   301960234
+       .long   3214124960
+       .long   3353887502
+       .long   1064191753
+       .long   4200665425
+       .long   1063741482
+       .long   2003926207
+       .long   1061090030
+       .long   2196865207
+       .long   1056528964
+       .long   2107880963
+       .long   1050526402
+       .long   3656860478
+       .long   1041425071
+       .long   881228218
+       .long   1029305120
+       .long   2612840768
+       .long   1011136029
+       .long   0
+       .long   0
+       .long   3722294196
+       .long   3181505049
+       .long   2573001951
+       .long   3216029919
+       .long   4095639908
+       .long   3216151900
+       .long   3272210374
+       .long   3215957253
+       .long   3439280785
+       .long   3214441767
+       .long   628273304
+       .long   1066085542
+       .long   3354767370
+       .long   1066343670
+       .long   300170709
+       .long   1063270296
+       .long   1870156670
+       .long   3209139074
+       .long   1580606479
+       .long   3206808937
+       .long   3818710870
+       .long   3202408589
+       .long   3126817102
+       .long   3196311305
+       .long   3320734688
+       .long   3187224127
+       .long   821170446
+       .long   3175173312
+       .long   3906480775
+       .long   3156975650
+       .long   0
+       .long   0
+       .long   428888587
+       .long   3215696314
+       .long   3125999356
+       .long   3214336891
+       .long   407196569
+       .long   1053816799
+       .long   886258254
+       .long   1066874408
+       .long   2149075781
+       .long   1067351939
+       .long   3888390356
+       .long   1065784643
+       .long   1226056234
+       .long   3211994813
+       .long   178100474
+       .long   3210723675
+       .long   4201249718
+       .long   1058328572
+       .long   3854015760
+       .long   1057324616
+       .long   3621220964
+       .long   1052982118
+       .long   1468766992
+       .long   1046916174
+       .long   2369608770
+       .long   1037879115
+       .long   327127732
+       .long   1025754505
+       .long   747046817
+       .long   1007714190
+       .long   0
+       .long   0
+       .long   4036362527
+       .long   3191151783
+       .long   839661649
+       .long   1067363059
+       .long   4269154241
+       .long   1067251747
+       .long   391446303
+       .long   1066410535
+       .long   2090623151
+       .long   3211993063
+       .long   1751510141
+       .long   3213141508
+       .long   4072216875
+       .long   3209470961
+       .long   3769618983
+       .long   1061976030
+       .long   3462945146
+       .long   1057228123
+       .long   3030849095
+       .long   3202531084
+       .long   4269010901
+       .long   3198361258
+       .long   742615277
+       .long   3192302512
+       .long   3397417437
+       .long   3183265609
+       .long   943110610
+       .long   3171141000
+       .long   371608300
+       .long   3153099348
+       .long   0
+       .long   0
+       .long   1315619150
+       .long   1066820857
+       .long   1001273821
+       .long   3214201652
+       .long   3859675203
+       .long   3212560200
+       .long   725858949
+       .long   3213658423
+       .long   2464052346
+       .long   3212913056
+       .long   1297319750
+       .long   1063307355
+       .long   563735576
+       .long   1062988089
+       .long   2756222736
+       .long   3207203944
+       .long   31207338
+       .long   3204466214
+       .long   434022900
+       .long   1052227234
+       .long   2370591882
+       .long   1048628172
+       .long   588930601
+       .long   1042556347
+       .long   3198977634
+       .long   1033474724
+       .long   1590950759
+       .long   1021415866
+       .long   195904708
+       .long   1003000389
+       .long   0
+       .long   0
+       .long   4252521214
+       .long   3198731457
+       .long   2969857811
+       .long   3217870358
+       .long   575387574
+       .long   3212943727
+       .long   67550217
+       .long   3210922992
+       .long   2955736731
+       .long   1064678043
+       .long   4193848343
+       .long   1063288304
+       .long   1845975253
+       .long   3209397546
+       .long   1025213509
+       .long   3204479174
+       .long   3713384058
+       .long   1055658730
+       .long   4120057883
+       .long   3194988032
+       .long   1573797757
+       .long   3193584787
+       .long   2514726550
+       .long   3187678317
+       .long   15343571
+       .long   3178526042
+       .long   104576940
+       .long   3166444652
+       .long   1147207168
+       .long   3148070554
+       .long   0
+       .long   0
+       .long   1467656669
+       .long   3212977156
+       .long   4154993315
+       .long   1077775111
+       .long   2465966858
+       .long   3214886059
+       .long   71777642
+       .long   1068690118
+       .long   2419763912
+       .long   1061550205
+       .long   1896047360
+       .long   3210612806
+       .long   3723555648
+       .long   1058651288
+       .long   3163703016
+       .long   1057833732
+       .long   1601936705
+       .long   3201383489
+       .long   2535509424
+       .long   3195153293
+       .long   3610885824
+       .long   1043474022
+       .long   1031698712
+       .long   1037527637
+       .long   1497459257
+       .long   1028514042
+       .long   3476455860
+       .long   1016366870
+       .long   758110873
+       .long   998719391
+       .long   0
+       .long   0
+       .long   572446067
+       .long   3204307354
+       .long   926268084
+       .long   1081104698
+       .long   1313112926
+       .long   3217861477
+       .long   3660716
+       .long   1070677720
+       .long   124568711
+       .long   3210757561
+       .long   2123022704
+       .long   1059096046
+       .long   576783408
+       .long   1059279430
+       .long   1651052980
+       .long   3204387494
+       .long   3164866735
+       .long   1051430920
+       .long   409335328
+       .long   1046695415
+       .long   3481520755
+       .long   3188046619
+       .long   1140549474
+       .long   3182373569
+       .long   708689751
+       .long   3173247717
+       .long   2627769694
+       .long   3161153086
+       .long   3804346926
+       .long   3143551592
+       .long   0
+       .long   0
+       .long   2302818369
+       .long   1064188902
+       .long   526101185
+       .long   3235013457
+       .long   2975776348
+       .long   1075224435
+       .long   1103981749
+       .long   3223699933
+       .long   4261798097
+       .long   3210280329
+       .long   30781306
+       .long   1064564655
+       .long   3939597931
+       .long   3206430909
+       .long   1816466405
+       .long   1055007949
+       .long   3868125859
+       .long   3190076997
+       .long   4218600579
+       .long   3192569835
+       .long   4167655123
+       .long   1037376568
+       .long   952533803
+       .long   1032000428
+       .long   895641221
+       .long   1022851193
+       .long   1237761065
+       .long   1010835452
+       .long   2902086315
+       .long   3133082401
+       .long   0
+       .long   0
+       .long   1899646778
+       .long   3207205638
+       .long   2434183270
+       .long   3238288976
+       .long   621380814
+       .long   1078065849
+       .long   247717525
+       .long   3225783561
+       .long   1611742563
+       .long   3212088477
+       .long   537725662
+       .long   1065131990
+       .long   3769436831
+       .long   1057148224
+       .long   3759797009
+       .long   3196422840
+       .long   842759416
+       .long   3195613094
+       .long   1736926210
+       .long   1043198029
+       .long   3915271468
+       .long   3180709675
+       .long   807416070
+       .long   3176507548
+       .long   3147759461
+       .long   3167409843
+       .long   3443382404
+       .long   3155325020
+       .long   1202615797
+       .long   3129870924
+       .long   0
+       .long   0
+       .long   1841653873
+       .long   3210074087
+       .long   2157744327
+       .long   1095928888
+       .long   3038317314
+       .long   3229013375
+       .long   2291108570
+       .long   1082519711
+       .long   707775397
+       .long   1067599411
+       .long   445214669
+       .long   3216153989
+       .long   3815354898
+       .long   1054410330
+       .long   1285070896
+       .long   3199787450
+       .long   1722630166
+       .long   1047526663
+       .long   2672844635
+       .long   3188483010
+       .long   1805520457
+       .long   3179260705
+       .long   542550567
+       .long   1026041526
+       .long   392361251
+       .long   1017320419
+       .long   562647833
+       .long   1005205418
+       .long   4253488278
+       .long   988137457
+       .long   0
+       .long   0
+       .long   3077187303
+       .long   1060497018
+       .long   1652392454
+       .long   1099206368
+       .long   414484972
+       .long   3231848150
+       .long   130592591
+       .long   1084602513
+       .long   1951534810
+       .long   1068932483
+       .long   2677544726
+       .long   3216895313
+       .long   2338009969
+       .long   3203411240
+       .long   302629286
+       .long   1051889816
+       .long   1274412910
+       .long   3193339538
+       .long   3731558070
+       .long   1038350327
+       .long   3135499196
+       .long   1030352152
+       .long   1329461873
+       .long   3170325324
+       .long   4058709792
+       .long   3161656179
+       .long   2167788642
+       .long   3149540607
+       .long   1602064437
+       .long   3132466971
+       .long   0
+       .long   0
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   1069547520
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   7864320
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   3616958675
+       .long   3172564458
+       .long   1431547708
+       .long   3218429269
+       .long   3390261318
+       .long   3188010876
+       .long   1446529494
+       .long   1069617425
+       .long   913571762
+       .long   3199219810
+       .long   1583612462
+       .long   3215695720
+       .long   2995724807
+       .long   3207222498
+       .long   847913742
+       .long   1066913721
+       .long   1634876930
+       .long   3212167789
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1694159514
+       .long   1010239653
+       .long   966318664
+       .long   1069606551
+       .long   2992375944
+       .long   1072656686
+       .long   1870405289
+       .long   3217070889
+       .long   1411308967
+       .long   3218333047
+       .long   4096824853
+       .long   1068863484
+       .long   2220740425
+       .long   1069365950
+       .long   1401698298
+       .long   3215430111
+       .long   4137473768
+       .long   3215259762
+       .long   2666938667
+       .long   1066889956
+       .long   121190665
+       .long   1066187784
+       .long   821637913
+       .long   3213226090
+       .long   0
+       .long   3217096704
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1463410348
+       .long   1012925678
+       .long   2389577058
+       .long   1069735062
+       .long   1617794783
+       .long   1072647710
+       .long   1889094329
+       .long   3217191869
+       .long   1210518828
+       .long   3218309813
+       .long   1479174953
+       .long   1069010221
+       .long   3435917531
+       .long   1069290104
+       .long   291210913
+       .long   3215575029
+       .long   464478606
+       .long   3215159746
+       .long   1063797118
+       .long   1067014292
+       .long   3489481042
+       .long   1065955541
+       .long   2916293494
+       .long   3213319415
+       .long   0
+       .long   3217227776
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1308961311
+       .long   1014934498
+       .long   2204208241
+       .long   1069862983
+       .long   2945950899
+       .long   1072637797
+       .long   1107689125
+       .long   3217310565
+       .long   545938327
+       .long   3218284334
+       .long   3174275192
+       .long   1069150773
+       .long   3754729793
+       .long   1069207728
+       .long   1611554958
+       .long   3215708601
+       .long   2936527704
+       .long   3215052478
+       .long   2983784402
+       .long   1067121823
+       .long   1327150338
+       .long   1065710404
+       .long   3371320326
+       .long   3213391099
+       .long   0
+       .long   3217358848
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3546392464
+       .long   1015001497
+       .long   631120375
+       .long   1069990256
+       .long   1201634405
+       .long   1072626967
+       .long   266657677
+       .long   3217426771
+       .long   1567732958
+       .long   3218256710
+       .long   883708059
+       .long   1069284653
+       .long   1008115966
+       .long   1069119372
+       .long   2657338981
+       .long   3215830093
+       .long   3402640736
+       .long   3214939036
+       .long   1000796573
+       .long   1067211764
+       .long   53805889
+       .long   1065455799
+       .long   1736607114
+       .long   3213440608
+       .long   0
+       .long   3217489920
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2741128528
+       .long   1013617020
+       .long   3111451323
+       .long   1070116823
+       .long   1649040643
+       .long   1072615239
+       .long   3411009101
+       .long   3217540290
+       .long   3408666525
+       .long   3218227049
+       .long   60831764
+       .long   1069411415
+       .long   64016149
+       .long   1069025616
+       .long   1202785467
+       .long   3215938891
+       .long   1072151579
+       .long   3214707060
+       .long   1534357116
+       .long   1067283570
+       .long   4218468492
+       .long   1065037194
+       .long   2285827787
+       .long   3213467810
+       .long   0
+       .long   3217620992
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2659584459
+       .long   1014368295
+       .long   3537749475
+       .long   1070242630
+       .long   3072983457
+       .long   1072602635
+       .long   3507245872
+       .long   3217650938
+       .long   3434758212
+       .long   3218195466
+       .long   3801643091
+       .long   1069530660
+       .long   1128653951
+       .long   1068927067
+       .long   3580298628
+       .long   3216008547
+       .long   1645082338
+       .long   3214462237
+       .long   1048857889
+       .long   1067336943
+       .long   21547694
+       .long   1064510970
+       .long   1433152914
+       .long   3213472968
+       .long   0
+       .long   3217752064
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2718912981
+       .long   1013914074
+       .long   1823051285
+       .long   1070367623
+       .long   1714227149
+       .long   1072589179
+       .long   2128046799
+       .long   3217758540
+       .long   2655098722
+       .long   3218162081
+       .long   1690074008
+       .long   1069594780
+       .long   353091525
+       .long   1068824353
+       .long   4206393496
+       .long   3216049578
+       .long   824478721
+       .long   3214211899
+       .long   3850924188
+       .long   1067371825
+       .long   2738209029
+       .long   1063668369
+       .long   853664366
+       .long   3213456718
+       .long   0
+       .long   3217883136
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2312638749
+       .long   1013630664
+       .long   4267025360
+       .long   1070491748
+       .long   3776362539
+       .long   1072574894
+       .long   3063840907
+       .long   3217862932
+       .long   2436606365
+       .long   3218127019
+       .long   582931594
+       .long   1069646387
+       .long   3079837843
+       .long   1068718114
+       .long   3430470362
+       .long   3216083715
+       .long   1015897693
+       .long   3213958348
+       .long   765047087
+       .long   1067388396
+       .long   2337193368
+       .long   1061824569
+       .long   3002775972
+       .long   3213420044
+       .long   0
+       .long   3218014208
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2001712669
+       .long   1015665334
+       .long   1330879460
+       .long   1070636148
+       .long   2956987714
+       .long   1072551971
+       .long   4281360332
+       .long   3218013175
+       .long   3304213057
+       .long   3218063389
+       .long   3261945160
+       .long   1069715874
+       .long   3866284424
+       .long   1068553570
+       .long   3423706630
+       .long   3216121886
+       .long   259493169
+       .long   3213268437
+       .long   4223676832
+       .long   1067379852
+       .long   2765317642
+       .long   3210752240
+       .long   2292494069
+       .long   3213329490
+       .long   0
+       .long   3218145280
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1632443533
+       .long   1015769771
+       .long   3788472163
+       .long   1070757367
+       .long   2406795724
+       .long   1072518757
+       .long   1173083542
+       .long   3218140352
+       .long   3726086528
+       .long   3217906251
+       .long   1205028711
+       .long   1069793280
+       .long   2231197855
+       .long   1068156878
+       .long   2368637763
+       .long   3216148628
+       .long   2866127296
+       .long   3211617797
+       .long   2424606359
+       .long   1067309831
+       .long   2444940724
+       .long   3212180962
+       .long   3308128888
+       .long   3213151909
+       .long   0
+       .long   3218276352
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   478834383
+       .long   1014053288
+       .long   1342399495
+       .long   1070876422
+       .long   2650660168
+       .long   1072482726
+       .long   976724127
+       .long   3218226669
+       .long   962417089
+       .long   3217740546
+       .long   1060150306
+       .long   1069852926
+       .long   411739190
+       .long   1067700577
+       .long   3846786712
+       .long   3216148687
+       .long   4007187252
+       .long   1064073475
+       .long   3455779574
+       .long   1067180067
+       .long   1865169557
+       .long   3212900393
+       .long   1200620699
+       .long   3212923615
+       .long   0
+       .long   3218407424
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   267289397
+       .long   1014452734
+       .long   302318249
+       .long   1070993143
+       .long   1373990511
+       .long   1072444121
+       .long   1606419704
+       .long   3218305061
+       .long   3955669825
+       .long   3217568496
+       .long   2701083439
+       .long   1069894809
+       .long   3425188888
+       .long   1067047616
+       .long   2305426029
+       .long   3216123827
+       .long   1692531481
+       .long   1065641523
+       .long   232815703
+       .long   1067000535
+       .long   3949954748
+       .long   3213214884
+       .long   558890519
+       .long   3212487521
+       .long   0
+       .long   3218538496
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1719941932
+       .long   1006528498
+       .long   368840470
+       .long   1071107377
+       .long   1825320027
+       .long   1072403193
+       .long   538136722
+       .long   3218375283
+       .long   1431312010
+       .long   3217392305
+       .long   2586725425
+       .long   1069919291
+       .long   2680871675
+       .long   1065941593
+       .long   4123661982
+       .long   3216076488
+       .long   4235496382
+       .long   1066406926
+       .long   2618960092
+       .long   1066782660
+       .long   2333865044
+       .long   3213444845
+       .long   1545458959
+       .long   3211934181
+       .long   0
+       .long   3218669568
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   26286236
+       .long   1013191219
+       .long   990113957
+       .long   1071218987
+       .long   3284199501
+       .long   1072360200
+       .long   2981906127
+       .long   3218437190
+       .long   3154396333
+       .long   3217214106
+       .long   4182117656
+       .long   1069927061
+       .long   903677379
+       .long   3207343530
+       .long   384743261
+       .long   3216009637
+       .long   1679228359
+       .long   1066734193
+       .long   3407026595
+       .long   1066538544
+       .long   784962854
+       .long   3213588186
+       .long   1956733412
+       .long   3210979700
+       .long   0
+       .long   3218800640
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1468217372
+       .long   1015658399
+       .long   2570814109
+       .long   1071327852
+       .long   532296332
+       .long   1072315404
+       .long   318213600
+       .long   3218490738
+       .long   3661105766
+       .long   3217035931
+       .long   4085840862
+       .long   1069919095
+       .long   2798312316
+       .long   3213370099
+       .long   1668326589
+       .long   3215870599
+       .long   3158013712
+       .long   1066998409
+       .long   673205579
+       .long   1066158659
+       .long   486665227
+       .long   3213647762
+       .long   3317145528
+       .long   3208570948
+       .long   0
+       .long   3218931712
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2060955015
+       .long   1014233667
+       .long   2567098181
+       .long   1071433868
+       .long   1159081245
+       .long   1072269064
+       .long   1492598184
+       .long   3218535971
+       .long   1567055841
+       .long   3216688180
+       .long   2821222425
+       .long   1069896605
+       .long   3691290783
+       .long   3214336992
+       .long   343679101
+       .long   3215679175
+       .long   1878686296
+       .long   1067197462
+       .long   125933636
+       .long   1065636281
+       .long   421076939
+       .long   3213630573
+       .long   3748848474
+       .long   1062499186
+       .long   0
+       .long   3219062784
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1860475216
+       .long   1015320544
+       .long   439764829
+       .long   1071587361
+       .long   3870821058
+       .long   1072197223
+       .long   1430736283
+       .long   3218588540
+       .long   1597812790
+       .long   3216174065
+       .long   2398544810
+       .long   1069838732
+       .long   961452807
+       .long   3215095800
+       .long   716310499
+       .long   3215360049
+       .long   2337792646
+       .long   1067375770
+       .long   3863538422
+       .long   1064417477
+       .long   2203480844
+       .long   3213482785
+       .long   2389621902
+       .long   1063978354
+       .long   0
+       .long   3219193856
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   517838046
+       .long   1015294339
+       .long   2114713104
+       .long   1071713012
+       .long   2046328558
+       .long   1072098392
+       .long   29352448
+       .long   3218631376
+       .long   1533416325
+       .long   3215079684
+       .long   765247815
+       .long   1069724759
+       .long   24381189
+       .long   3215564623
+       .long   1213155449
+       .long   3214886044
+       .long   379420126
+       .long   1067409218
+       .long   3127061143
+       .long   3210809777
+       .long   3193663073
+       .long   3213128287
+       .long   2557278876
+       .long   1064581282
+       .long   0
+       .long   3219324928
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   201012485
+       .long   1013704982
+       .long   4147262407
+       .long   1071803766
+       .long   3048814903
+       .long   1071997795
+       .long   1260857726
+       .long   3218645540
+       .long   270462819
+       .long   3209873967
+       .long   874660781
+       .long   1069580732
+       .long   1251156804
+       .long   3215866075
+       .long   3568210118
+       .long   3214014484
+       .long   3784557811
+       .long   1067255146
+       .long   47772576
+       .long   3212562613
+       .long   2075700783
+       .long   3212539455
+       .long   1121561449
+       .long   1064698735
+       .long   0
+       .long   3219456000
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   72370286
+       .long   1015768239
+       .long   2345366573
+       .long   1071888223
+       .long   3155310239
+       .long   1071897123
+       .long   4105462806
+       .long   3218634383
+       .long   2329529114
+       .long   1067280331
+       .long   3078782452
+       .long   1069291148
+       .long   2210998062
+       .long   3215997483
+       .long   1498585052
+       .long   3212353515
+       .long   3032692199
+       .long   1066974465
+       .long   809329973
+       .long   3213081308
+       .long   2713838579
+       .long   3211547879
+       .long   1266611175
+       .long   1064568889
+       .long   0
+       .long   3219587072
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2137918782
+       .long   1013598293
+       .long   2511343836
+       .long   1071966424
+       .long   4205808243
+       .long   1071797842
+       .long   2776384587
+       .long   3218601667
+       .long   3824787134
+       .long   1068202086
+       .long   4101819712
+       .long   1068956189
+       .long   3547601806
+       .long   3216004360
+       .long   4156237724
+       .long   1064058621
+       .long   3714924071
+       .long   1066627770
+       .long   2925917146
+       .long   3213234133
+       .long   4211598888
+       .long   3209111151
+       .long   2569808389
+       .long   1064277859
+       .long   0
+       .long   3219718144
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2979324843
+       .long   1013692066
+       .long   2595126306
+       .long   1072038496
+       .long   4263058559
+       .long   1071701178
+       .long   2217257467
+       .long   3218551298
+       .long   2310932059
+       .long   1068685603
+       .long   3368327571
+       .long   1068627625
+       .long   3037419246
+       .long   3215935424
+       .long   3509936675
+       .long   1065724141
+       .long   1557247226
+       .long   1066131548
+       .long   3830787958
+       .long   3213205743
+       .long   1781883284
+       .long   1062575914
+       .long   3918078093
+       .long   1063614197
+       .long   0
+       .long   3219849216
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3630992244
+       .long   1015034507
+       .long   461360001
+       .long   1072104635
+       .long   2866201612
+       .long   1071571556
+       .long   1021729265
+       .long   3218487113
+       .long   1039036234
+       .long   1068940858
+       .long   1685105679
+       .long   1068140011
+       .long   1856275853
+       .long   3215769620
+       .long   2211306181
+       .long   1066373046
+       .long   3739405201
+       .long   1065456917
+       .long   3870269089
+       .long   3213053509
+       .long   427599213
+       .long   1063593231
+       .long   40698732
+       .long   1062709094
+       .long   0
+       .long   3219980288
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4017840557
+       .long   1014067070
+       .long   2764932206
+       .long   1072165089
+       .long   3362970633
+       .long   1071394124
+       .long   2677206355
+       .long   3218412713
+       .long   1827861303
+       .long   1069122666
+       .long   2476388705
+       .long   1067583638
+       .long   523365901
+       .long   3215556224
+       .long   1203249285
+       .long   1066574111
+       .long   4264074292
+       .long   1064402288
+       .long   3556167213
+       .long   3212827889
+       .long   3894081206
+       .long   1063908871
+       .long   2161178761
+       .long   1061130844
+       .long   0
+       .long   3220111360
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3622330478
+       .long   1016273425
+       .long   923638641
+       .long   1072245755
+       .long   239419665
+       .long   1071146518
+       .long   4085259706
+       .long   3218288969
+       .long   1284806809
+       .long   1069276013
+       .long   2806747971
+       .long   1066232498
+       .long   75259250
+       .long   3215197393
+       .long   2597116185
+       .long   1066648701
+       .long   1680670491
+       .long   3208755029
+       .long   446818184
+       .long   3212096816
+       .long   1529495144
+       .long   1063888972
+       .long   808619025
+       .long   3208443000
+       .long   0
+       .long   3220242432
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   462410646
+       .long   1015565639
+       .long   3157363066
+       .long   1072336316
+       .long   87541994
+       .long   1070853747
+       .long   2905067058
+       .long   3218115077
+       .long   1081050294
+       .long   1069306453
+       .long   4130581086
+       .long   3212259234
+       .long   1279737796
+       .long   3214531982
+       .long   901138781
+       .long   1066501065
+       .long   978916480
+       .long   3211806490
+       .long   1307294116
+       .long   3210755549
+       .long   1154728319
+       .long   1063409950
+       .long   983243444
+       .long   3209435485
+       .long   0
+       .long   3220373504
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2617212772
+       .long   1016126748
+       .long   2762378177
+       .long   1072409936
+       .long   1926160805
+       .long   1070604218
+       .long   4131898582
+       .long   3217810482
+       .long   3068505203
+       .long   1069203346
+       .long   2854543895
+       .long   3214027139
+       .long   1276437050
+       .long   3213652513
+       .long   523800203
+       .long   1066060621
+       .long   3030576699
+       .long   3212054264
+       .long   210618624
+       .long   3205409267
+       .long   3515290542
+       .long   1062456384
+       .long   1613351841
+       .long   3209185464
+       .long   0
+       .long   3220504576
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2178033281
+       .long   1016051223
+       .long   859883711
+       .long   1072469258
+       .long   4248327203
+       .long   1070195167
+       .long   4170103331
+       .long   3217497647
+       .long   3497702842
+       .long   1069026027
+       .long   669705965
+       .long   3214426190
+       .long   548733038
+       .long   3212258725
+       .long   1756337187
+       .long   1065503890
+       .long   1830841059
+       .long   3211930343
+       .long   1445563742
+       .long   1061912703
+       .long   2113494314
+       .long   1060991234
+       .long   1734825467
+       .long   3208559895
+       .long   0
+       .long   3220635648
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1674478116
+       .long   1016412476
+       .long   1178764976
+       .long   1072516719
+       .long   1119346206
+       .long   1069851736
+       .long   1526584272
+       .long   3217221512
+       .long   3575463915
+       .long   1068817773
+       .long   2913683612
+       .long   3214542291
+       .long   1135909212
+       .long   3207879094
+       .long   1952394810
+       .long   1064725296
+       .long   508910559
+       .long   3211537545
+       .long   225204077
+       .long   1062311155
+       .long   1009857186
+       .long   1056234420
+       .long   2872841632
+       .long   3207480811
+       .long   0
+       .long   3220766720
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1768234410
+       .long   1014305046
+       .long   1496797583
+       .long   1072554475
+       .long   3351833521
+       .long   1069572393
+       .long   68183265
+       .long   3216938851
+       .long   4178655528
+       .long   1068606905
+       .long   60791550
+       .long   3214483781
+       .long   1856281737
+       .long   1063701265
+       .long   4260560897
+       .long   1063778674
+       .long   2539586291
+       .long   3210979253
+       .long   2272785608
+       .long   1062198907
+       .long   1986161572
+       .long   3206910344
+       .long   1016667904
+       .long   3205797138
+       .long   0
+       .long   3220897792
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3074583847
+       .long   1017063845
+       .long   4092570620
+       .long   1072584374
+       .long   3645618684
+       .long   1069147119
+       .long   1980755111
+       .long   3216542681
+       .long   889928399
+       .long   1068320928
+       .long   1360064809
+       .long   3214330986
+       .long   2266432388
+       .long   1064407878
+       .long   4147854841
+       .long   1062471610
+       .long   1812350685
+       .long   3210287970
+       .long   3710399832
+       .long   1061728481
+       .long   2458127659
+       .long   3207279138
+       .long   287360833
+       .long   3197756422
+       .long   0
+       .long   3221028864
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   68970445
+       .long   1013643458
+       .long   3990219923
+       .long   1072607967
+       .long   97498680
+       .long   1068787106
+       .long   4136450559
+       .long   3216216395
+       .long   147179316
+       .long   1067971098
+       .long   1625987424
+       .long   3214138005
+       .long   3965878798
+       .long   1064539455
+       .long   3777445436
+       .long   1059539413
+       .long   3029913178
+       .long   3209512624
+       .long   2162291908
+       .long   1061245910
+       .long   351053474
+       .long   3207087984
+       .long   3766283083
+       .long   1056943188
+       .long   0
+       .long   3221159936
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3139580402
+       .long   1014663922
+       .long   3748810696
+       .long   1072634260
+       .long   3154943320
+       .long   1068262833
+       .long   3181856712
+       .long   3215694135
+       .long   3656356636
+       .long   1067539266
+       .long   3897588284
+       .long   3213798616
+       .long   1461831298
+       .long   1064461217
+       .long   2900114226
+       .long   3208814642
+       .long   2606420357
+       .long   3207868903
+       .long   1741152094
+       .long   1060222230
+       .long   1469206701
+       .long   3206514441
+       .long   3518993813
+       .long   1057090958
+       .long   0
+       .long   3221291008
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3285908565
+       .long   1015477239
+       .long   1797956315
+       .long   1072657271
+       .long   3302471936
+       .long   1067543167
+       .long   2151339553
+       .long   3215007235
+       .long   362228095
+       .long   1066797401
+       .long   3986406156
+       .long   3213131380
+       .long   388353381
+       .long   1064042359
+       .long   4147910906
+       .long   3209239839
+       .long   1739922885
+       .long   1056259812
+       .long   3188561056
+       .long   1058406709
+       .long   489122368
+       .long   3205182155
+       .long   202560853
+       .long   1056234231
+       .long   0
+       .long   3221422080
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3806705628
+       .long   1008327668
+       .long   884432573
+       .long   1072671353
+       .long   137405484
+       .long   1066747168
+       .long   3531994812
+       .long   3214216262
+       .long   3217445183
+       .long   1066105333
+       .long   2910288024
+       .long   3212464301
+       .long   3196212707
+       .long   1063467545
+       .long   3156563895
+       .long   3208963593
+       .long   3591285453
+       .long   1058733242
+       .long   2889132271
+       .long   1055392886
+       .long   1038377961
+       .long   3203561698
+       .long   4084672077
+       .long   1055001082
+       .long   0
+       .long   3221553152
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1881957148
+       .long   1016569186
+       .long   3451706443
+       .long   1072679940
+       .long   143468186
+       .long   1066002557
+       .long   553724800
+       .long   3213475431
+       .long   1049442771
+       .long   1065415105
+       .long   3378521943
+       .long   3211821787
+       .long   3176008209
+       .long   1062800361
+       .long   4016898691
+       .long   3208498219
+       .long   1548390021
+       .long   1058670598
+       .long   2097418483
+       .long   3202689041
+       .long   2756703589
+       .long   3201351283
+       .long   506736184
+       .long   1053405377
+       .long   0
+       .long   3221684224
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   450339788
+       .long   1015040915
+       .long   2959639058
+       .long   1072685166
+       .long   2289443405
+       .long   1065320893
+       .long   3331959139
+       .long   3212796584
+       .long   724199976
+       .long   1064616734
+       .long   938566183
+       .long   3211030741
+       .long   1640535667
+       .long   1062186735
+       .long   187996035
+       .long   3207841256
+       .long   822311531
+       .long   1058246461
+       .long   160890851
+       .long   3203087480
+       .long   3163291388
+       .long   1050479733
+       .long   578249940
+       .long   1051474021
+       .long   0
+       .long   3221815296
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   539445753
+       .long   1012635531
+       .long   3085578536
+       .long   1072688342
+       .long   2019637246
+       .long   1064510347
+       .long   2901018414
+       .long   3211991061
+       .long   2171427566
+       .long   1063868144
+       .long   678185093
+       .long   3210287638
+       .long   2685165718
+       .long   1061401571
+       .long   710336199
+       .long   3207152667
+       .long   2733135798
+       .long   1057659331
+       .long   886948177
+       .long   3202751664
+       .long   3345834247
+       .long   1052218043
+       .long   908728048
+       .long   1047925874
+       .long   0
+       .long   3221946368
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4240302093
+       .long   1016867082
+       .long   1832260410
+       .long   1072690271
+       .long   154153694
+       .long   1063730412
+       .long   2094548181
+       .long   3211211898
+       .long   1392727515
+       .long   1063180837
+       .long   3132890025
+       .long   3209604411
+       .long   483611698
+       .long   1060651750
+       .long   4246355421
+       .long   3206519479
+       .long   1424637421
+       .long   1057044161
+       .long   2138185318
+       .long   3202290304
+       .long   2276282642
+       .long   1052095798
+       .long   4227780935
+       .long   3196067472
+       .long   0
+       .long   3222077440
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2485733495
+       .long   1017000498
+       .long   484092514
+       .long   1072691442
+       .long   1653085170
+       .long   1063007344
+       .long   2893019346
+       .long   3210489400
+       .long   878866243
+       .long   1062388018
+       .long   2113174452
+       .long   3208818852
+       .long   2654141437
+       .long   1059959432
+       .long   3578550869
+       .long   3205727739
+       .long   315005006
+       .long   1056288680
+       .long   3246956604
+       .long   3201593495
+       .long   2197286540
+       .long   1051718329
+       .long   3044885069
+       .long   3196227269
+       .long   0
+       .long   3222208512
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2794994668
+       .long   1016833037
+       .long   3287420517
+       .long   1072692394
+       .long   4133778764
+       .long   1061857404
+       .long   689562148
+       .long   3209340342
+       .long   1404089106
+       .long   1061273627
+       .long   1292441425
+       .long   3207706805
+       .long   93671116
+       .long   1058816787
+       .long   2903327974
+       .long   3204626398
+       .long   4279279273
+       .long   1055202414
+       .long   134688023
+       .long   3200552187
+       .long   3315379764
+       .long   1050761310
+       .long   2945780649
+       .long   3195568939
+       .long   0
+       .long   3222339584
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2135621136
+       .long   1016053539
+       .long   309961636
+       .long   1072692934
+       .long   672792810
+       .long   1060347512
+       .long   2960305506
+       .long   3207830967
+       .long   1703867620
+       .long   1059726750
+       .long   824905914
+       .long   3206160796
+       .long   3036017847
+       .long   1057284422
+       .long   923304464
+       .long   3203122673
+       .long   1848642304
+       .long   1053791859
+       .long   2215350763
+       .long   3199158388
+       .long   3049848127
+       .long   1049324210
+       .long   3861893815
+       .long   3194293196
+       .long   0
+       .long   3222470656
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2236028675
+       .long   1016891036
+       .long   2177293363
+       .long   1072693132
+       .long   776830057
+       .long   1058856794
+       .long   4190004158
+       .long   3206340337
+       .long   209955488
+       .long   1058225857
+       .long   845130443
+       .long   3204660651
+       .long   4204313304
+       .long   1055835544
+       .long   364525198
+       .long   3201597210
+       .long   3889299905
+       .long   1052205563
+       .long   1514389355
+       .long   3197586647
+       .long   1706817756
+       .long   1047834665
+       .long   3817417318
+       .long   3192934132
+       .long   0
+       .long   3222601728
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1074033072
+       .long   1013200912
+       .long   2197899301
+       .long   1072693205
+       .long   1097614282
+       .long   1057308273
+       .long   209489097
+       .long   3204791893
+       .long   3641526339
+       .long   1056723664
+       .long   1792794946
+       .long   3203158586
+       .long   584598707
+       .long   1054254910
+       .long   253996240
+       .long   3200135633
+       .long   642640562
+       .long   1050754580
+       .long   3147361740
+       .long   3196139610
+       .long   1167319222
+       .long   1046395158
+       .long   3488053038
+       .long   3191370264
+       .long   0
+       .long   3222732800
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   871679747
+       .long   1016222468
+       .long   1586311569
+       .long   1072693232
+       .long   4199724405
+       .long   1055867613
+       .long   3041006250
+       .long   3203351246
+       .long   482130003
+       .long   1055184672
+       .long   1689676855
+       .long   3201619703
+       .long   116121201
+       .long   1052814264
+       .long   4166318198
+       .long   3198564764
+       .long   388552649
+       .long   1049191609
+       .long   1384400086
+       .long   3194577312
+       .long   135589376
+       .long   1044819515
+       .long   2497367318
+       .long   3189906305
+       .long   0
+       .long   3222863872
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   752986014
+       .long   1014740322
+       .long   1072834312
+       .long   1072693242
+       .long   1389704451
+       .long   1054277685
+       .long   817998738
+       .long   3201761329
+       .long   996777029
+       .long   1053731553
+       .long   811547911
+       .long   3200166603
+       .long   1604093935
+       .long   1051232383
+       .long   2381858127
+       .long   3197131472
+       .long   806055999
+       .long   1047703656
+       .long   443662424
+       .long   3193089938
+       .long   2855612429
+       .long   1043379518
+       .long   3671581230
+       .long   3188373004
+       .long   0
+       .long   3222994944
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4161630806
+       .long   1015796140
+       .long   3799386689
+       .long   1072693245
+       .long   516062805
+       .long   1052830799
+       .long   6188716
+       .long   3200314446
+       .long   79447568
+       .long   1052151909
+       .long   223529141
+       .long   3198586975
+       .long   1557009707
+       .long   1049758991
+       .long   1527834451
+       .long   3195539792
+       .long   3841571054
+       .long   1046184222
+       .long   3228035136
+       .long   3191570603
+       .long   2497745717
+       .long   1041799395
+       .long   3127975351
+       .long   3186863029
+       .long   0
+       .long   3223126016
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3013228433
+       .long   1015734301
+       .long   952591976
+       .long   1072693247
+       .long   3849195912
+       .long   1051256594
+       .long   1248135057
+       .long   3198740242
+       .long   1658384276
+       .long   1050712587
+       .long   3312197895
+       .long   3197147657
+       .long   2426751598
+       .long   1048219658
+       .long   2075412918
+       .long   3194074453
+       .long   1194511818
+       .long   1044659399
+       .long   2861395540
+       .long   3190045864
+       .long   1105252788
+       .long   1040325059
+       .long   278204179
+       .long   3185374362
+       .long   0
+       .long   3223257088
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4084683796
+       .long   1014352664
+       .long   3549182448
+       .long   1072693247
+       .long   4170486715
+       .long   1048984034
+       .long   3652359522
+       .long   3196467682
+       .long   1780445294
+       .long   1048420995
+       .long   3329441198
+       .long   3194856066
+       .long   663245309
+       .long   1045935418
+       .long   1918070306
+       .long   3191839818
+       .long   4225866973
+       .long   1042419329
+       .long   1974315224
+       .long   3187805832
+       .long   847480060
+       .long   1038120500
+       .long   2386310431
+       .long   3183105031
+       .long   0
+       .long   3223388160
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   951119343
+       .long   1016641415
+       .long   4194036288
+       .long   1072693247
+       .long   4207053894
+       .long   1045958742
+       .long   4131013457
+       .long   3193442390
+       .long   2503178506
+       .long   1045433060
+       .long   2309798544
+       .long   3191868132
+       .long   1503762043
+       .long   1042918157
+       .long   762244907
+       .long   3188792499
+       .long   3745081608
+       .long   1039371450
+       .long   3106729171
+       .long   3184757959
+       .long   3799011378
+       .long   1035063995
+       .long   693003136
+       .long   3180102041
+       .long   0
+       .long   3223519232
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1712896388
+       .long   1016000193
+       .long   4281307769
+       .long   1072693247
+       .long   3495080264
+       .long   1042943408
+       .long   3483806577
+       .long   3190427056
+       .long   3577360645
+       .long   1042374261
+       .long   3557467263
+       .long   3188809333
+       .long   3692227868
+       .long   1039911516
+       .long   1459944482
+       .long   3185739496
+       .long   624248087
+       .long   1036331657
+       .long   3930021706
+       .long   3181718167
+       .long   439009527
+       .long   1032014849
+       .long   3184212578
+       .long   3177110789
+       .long   0
+       .long   3223650304
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1958475666
+       .long   1013700788
+       .long   4293118680
+       .long   1072693247
+       .long   3829159519
+       .long   1039938855
+       .long   3827364885
+       .long   3187422503
+       .long   2374004141
+       .long   1039322650
+       .long   2380228874
+       .long   3185757722
+       .long   853065064
+       .long   1036916376
+       .long   3897809499
+       .long   3182694159
+       .long   2467115425
+       .long   1033300621
+       .long   2966460473
+       .long   3178687133
+       .long   4249027489
+       .long   1028973684
+       .long   3391824522
+       .long   3174085926
+       .long   0
+       .long   3223781376
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1028808661
+       .long   1012328597
+       .long   4294717113
+       .long   1072693247
+       .long   2759857858
+       .long   1036945975
+       .long   2759440340
+       .long   3184429623
+       .long   217750550
+       .long   1036278821
+       .long   228557927
+       .long   3182713893
+       .long   868996329
+       .long   1033914811
+       .long   130294465
+       .long   3179657124
+       .long   3979034581
+       .long   1030279068
+       .long   1690522291
+       .long   3175665582
+       .long   141102418
+       .long   1025941166
+       .long   3942643114
+       .long   3171030731
+       .long   0
+       .long   3223912448
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2461075155
+       .long   1015729939
+       .long   4294933437
+       .long   1072693247
+       .long   2559161110
+       .long   1033930834
+       .long   2559046852
+       .long   3181414482
+       .long   3206412049
+       .long   1033243416
+       .long   3218709064
+       .long   3179678488
+       .long   2091270467
+       .long   1030857342
+       .long   245853585
+       .long   3176629075
+       .long   1555900931
+       .long   1027267783
+       .long   1186881303
+       .long   3172654298
+       .long   1695278520
+       .long   1022918007
+       .long   1853146834
+       .long   3167983022
+       .long   0
+       .long   3224043520
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2502502488
+       .long   1016572066
+       .long   4294962713
+       .long   1072693247
+       .long   3137376149
+       .long   1030874690
+       .long   3137268820
+       .long   3178358338
+       .long   1097103169
+       .long   1030217134
+       .long   1110504267
+       .long   3176652206
+       .long   1068377398
+       .long   1027807171
+       .long   222176953
+       .long   3173610756
+       .long   3440315131
+       .long   1024267613
+       .long   1199778592
+       .long   3169654130
+       .long   257981480
+       .long   1019904983
+       .long   1388437918
+       .long   3164943417
+       .long   0
+       .long   3224174592
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3418697838
+       .long   1016821878
+       .long   4294966675
+       .long   1072693247
+       .long   3798207862
+       .long   1027825953
+       .long   3798094058
+       .long   3175309601
+       .long   3391459718
+       .long   1027200727
+       .long   3405981646
+       .long   3173635799
+       .long   3694208074
+       .long   1024764900
+       .long   2192272311
+       .long   3170602971
+       .long   1464408928
+       .long   1021279479
+       .long   2201370875
+       .long   3166665997
+       .long   4139632468
+       .long   1016902930
+       .long   2981161402
+       .long   3161912586
+       .long   0
+       .long   3224305664
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   3589768515
+       .long   1013972501
+       .long   4294967265
+       .long   1072693247
+       .long   2293865510
+       .long   1023336450
+       .long   2097549026
+       .long   3170820098
+       .long   2721138850
+       .long   1022661962
+       .long   1571631120
+       .long   3169097035
+       .long   3716649917
+       .long   1020295299
+       .long   3146231247
+       .long   3166041588
+       .long   84506245
+       .long   1016656297
+       .long   2231398946
+       .long   3162043093
+       .long   3305646943
+       .long   1012441980
+       .long   402214167
+       .long   3157503609
+       .long   0
+       .long   3224436736
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   2152156943
+       .long   1016184605
+       .long   4294967294
+       .long   1072693247
+       .long   1074684533
+       .long   1018634353
+       .long   1074437943
+       .long   3166118001
+       .long   967276073
+       .long   1018090988
+       .long   995296768
+       .long   3164526060
+       .long   4275132894
+       .long   1015589675
+       .long   304133116
+       .long   3161485853
+       .long   1232215992
+       .long   1012058464
+       .long   559363548
+       .long   3157444977
+       .long   1487618473
+       .long   1007759094
+       .long   2355811294
+       .long   3152771929
+       .long   3381626085
+       .long   3224537056
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   1072693248
+       .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   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .long   0
+       .long   4294967295
+       .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   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   4294967295
+       .long   2147483647
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2147352576
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   1069416448
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   7733248
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .long   535822336
+       .type   __svml_dtanh_data_internal,@object
+       .size   __svml_dtanh_data_internal,10816
+       .align 8
+__dtanh_la__imldTanhTab:
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   3220176896
+       .type   __dtanh_la__imldTanhTab,@object
+       .size   __dtanh_la__imldTanhTab,16
diff --git a/numpy/core/src/umath/svml/linux/avx512/svml_z0_tanh_s_la.s b/numpy/core/src/umath/svml/linux/avx512/svml_z0_tanh_s_la.s
new file mode 100644 (file)
index 0000000..1d5f458
--- /dev/null
@@ -0,0 +1,1791 @@
+/*******************************************
+* Copyright (C) 2021 Intel Corporation
+* SPDX-License-Identifier: BSD-3-Clause
+*******************************************/
+
+/*
+ * ALGORITHM DESCRIPTION:
+ * 
+ *   NOTE: Since the hyperbolic tangent function is odd
+ *         (tanh(x) = -tanh(-x)), below algorithm deals with the absolute
+ *         value of the argument |x|: tanh(x) = sign(x) * tanh(|x|)
+ * 
+ *   We use a table lookup method to compute tanh(|x|).
+ *   The basic idea is to split the input range into a number of subintervals
+ *   and to approximate tanh(.) with a polynomial on each of them.
+ * 
+ *   IEEE SPECIAL CONDITIONS:
+ *   x = [+,-]0, r = [+,-]0
+ *   x = +Inf,   r = +1
+ *   x = -Inf,   r = -1
+ *   x = QNaN,   r = QNaN
+ *   x = SNaN,   r = QNaN
+ * 
+ * 
+ *   ALGORITHM DETAILS
+ *   We handle special values in a callout function, aside from main path
+ *   computations. "Special" for this algorithm are:
+ *   INF, NAN, |x| > HUGE_THRESHOLD
+ * 
+ * 
+ *   Main path computations are organized as follows:
+ *   Actually we split the interval [0, SATURATION_THRESHOLD)
+ *   into a number of subintervals.  On each subinterval we approximate tanh(.)
+ *   with a minimax polynomial of pre-defined degree. Polynomial coefficients
+ *   are computed beforehand and stored in table. We also use
+ * 
+ *       y := |x| + B,
+ * 
+ *   here B depends on subinterval and is used to make argument
+ *   closer to zero.
+ *   We also add large fake interval [SATURATION_THRESHOLD, HUGE_THRESHOLD],
+ *   where 1.0 + 0.0*y + 0.0*y^2 ... coefficients are stored - just to
+ *   preserve main path computation logic but return 1.0 for all arguments.
+ * 
+ *   Hence reconstruction looks as follows:
+ *   we extract proper polynomial and range reduction coefficients
+ *        (Pj and B), corresponding to subinterval, to which |x| belongs,
+ *        and return
+ * 
+ *       r := sign(x) * (P0 + P1 * y + ... + Pn * y^n)
+ * 
+ *   NOTE: we use multiprecision technique to multiply and sum the first
+ *         K terms of the polynomial. So Pj, j = 0..K are stored in
+ *         table each as a pair of target precision numbers (Pj and PLj) to
+ *         achieve wider than target precision.
+ * 
+ * --
+ * 
+ */
+
+
+       .text
+.L_2__routine_start___svml_tanhf16_z0_0:
+
+       .align    16,0x90
+       .globl __svml_tanhf16
+
+__svml_tanhf16:
+
+
+       .cfi_startproc
+..L2:
+
+        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, %zmm1
+        vmovups   __svml_stanh_data_internal(%rip), %zmm9
+        vmovups   896+__svml_stanh_data_internal(%rip), %zmm11
+        vmovups   768+__svml_stanh_data_internal(%rip), %zmm12
+        vmovups   640+__svml_stanh_data_internal(%rip), %zmm13
+        vmovups   512+__svml_stanh_data_internal(%rip), %zmm14
+        vmovups   384+__svml_stanh_data_internal(%rip), %zmm15
+        vpternlogd $255, %zmm2, %zmm2, %zmm2
+        vandps    5696+__svml_stanh_data_internal(%rip), %zmm1, %zmm8
+        vandps    5632+__svml_stanh_data_internal(%rip), %zmm1, %zmm0
+
+/* Here huge arguments, INF and NaNs are filtered out to callout. */
+        vpandd    1152+__svml_stanh_data_internal(%rip), %zmm1, %zmm3
+        vpsubd    1216+__svml_stanh_data_internal(%rip), %zmm3, %zmm4
+        vpcmpd    $2, 5824+__svml_stanh_data_internal(%rip), %zmm3, %k1
+
+/*
+ * * small table specific variables *
+ * **********************************
+ * -------------------- Constant loading -------------------
+ */
+        vpxord    %zmm5, %zmm5, %zmm5
+
+/* if VMIN, VMAX is defined for I type */
+        vpmaxsd   %zmm5, %zmm4, %zmm6
+        vpminsd   1280+__svml_stanh_data_internal(%rip), %zmm6, %zmm7
+        vpsrld    $21, %zmm7, %zmm10
+        vmovups   1024+__svml_stanh_data_internal(%rip), %zmm4
+        vpermt2ps 64+__svml_stanh_data_internal(%rip), %zmm10, %zmm9
+        vpermt2ps 960+__svml_stanh_data_internal(%rip), %zmm10, %zmm11
+        vpermt2ps 1088+__svml_stanh_data_internal(%rip), %zmm10, %zmm4
+        vpermt2ps 832+__svml_stanh_data_internal(%rip), %zmm10, %zmm12
+        vpermt2ps 704+__svml_stanh_data_internal(%rip), %zmm10, %zmm13
+        vpermt2ps 576+__svml_stanh_data_internal(%rip), %zmm10, %zmm14
+        vpermt2ps 448+__svml_stanh_data_internal(%rip), %zmm10, %zmm15
+        vpandnd   %zmm3, %zmm3, %zmm2{%k1}
+        vptestmd  %zmm2, %zmm2, %k0
+        vmovups   128+__svml_stanh_data_internal(%rip), %zmm3
+        vsubps    {rn-sae}, %zmm9, %zmm8, %zmm2
+        kmovw     %k0, %edx
+        vfmadd213ps {rn-sae}, %zmm11, %zmm2, %zmm4
+        vpermt2ps 192+__svml_stanh_data_internal(%rip), %zmm10, %zmm3
+        vfmadd213ps {rn-sae}, %zmm12, %zmm2, %zmm4
+        vfmadd213ps {rn-sae}, %zmm13, %zmm2, %zmm4
+        vfmadd213ps {rn-sae}, %zmm14, %zmm2, %zmm4
+        vfmadd213ps {rn-sae}, %zmm15, %zmm2, %zmm4
+        vfmadd213ps {rn-sae}, %zmm3, %zmm2, %zmm4
+        vorps     %zmm0, %zmm4, %zmm0
+        testl     %edx, %edx
+        jne       .LBL_1_3
+
+.LBL_1_2:
+
+
+/* no invcbrt in libm, so taking it out here */
+        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   %zmm1, 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_stanh_cout_rare_internal
+        jmp       .LBL_1_8
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_tanhf16,@function
+       .size   __svml_tanhf16,.-__svml_tanhf16
+..LN__svml_tanhf16.0:
+
+.L_2__routine_start___svml_stanh_cout_rare_internal_1:
+
+       .align    16,0x90
+
+__svml_stanh_cout_rare_internal:
+
+
+       .cfi_startproc
+..L53:
+
+        lea       __stanh_la__imlsTanhTab(%rip), %rdx
+        movb      3(%rdi), %al
+        andb      $-128, %al
+        shrb      $7, %al
+        movzbl    %al, %ecx
+        movzwl    2(%rdi), %r8d
+        andl      $32640, %r8d
+        movl      (%rdx,%rcx,4), %eax
+        cmpl      $32640, %r8d
+        je        .LBL_2_4
+
+.LBL_2_2:
+
+        movl      %eax, (%rsi)
+
+.LBL_2_3:
+
+        xorl      %eax, %eax
+        ret
+
+.LBL_2_4:
+
+        testl     $8388607, (%rdi)
+        je        .LBL_2_2
+
+
+        movss     (%rdi), %xmm0
+        addss     %xmm0, %xmm0
+        movss     %xmm0, (%rsi)
+        jmp       .LBL_2_3
+       .align    16,0x90
+
+       .cfi_endproc
+
+       .type   __svml_stanh_cout_rare_internal,@function
+       .size   __svml_stanh_cout_rare_internal,.-__svml_stanh_cout_rare_internal
+..LN__svml_stanh_cout_rare_internal.1:
+
+       .section .rodata, "a"
+       .align 64
+       .align 64
+__svml_stanh_data_internal:
+       .long   0
+       .long   1030750208
+       .long   1032847360
+       .long   1034944512
+       .long   1037041664
+       .long   1039138816
+       .long   1041235968
+       .long   1043333120
+       .long   1045430272
+       .long   1047527424
+       .long   1049624576
+       .long   1051721728
+       .long   1053818880
+       .long   1055916032
+       .long   1058013184
+       .long   1060110336
+       .long   1062207488
+       .long   1064304640
+       .long   1066401792
+       .long   1068498944
+       .long   1070596096
+       .long   1072693248
+       .long   1074790400
+       .long   1076887552
+       .long   1078984704
+       .long   1081081856
+       .long   1083179008
+       .long   1085276160
+       .long   1087373312
+       .long   1089470464
+       .long   1091567616
+       .long   0
+       .long   0
+       .long   1030732233
+       .long   1032831839
+       .long   1034916201
+       .long   1036994987
+       .long   1039067209
+       .long   1041174248
+       .long   1043220868
+       .long   1045245838
+       .long   1047245614
+       .long   1049383373
+       .long   1051287907
+       .long   1053115377
+       .long   1054857013
+       .long   1057129528
+       .long   1058581488
+       .long   1059832960
+       .long   1060891676
+       .long   1062153819
+       .long   1063337043
+       .long   1064100733
+       .long   1064582223
+       .long   1064984555
+       .long   1065216645
+       .long   1065302845
+       .long   1065334668
+       .long   1065349076
+       .long   1065352656
+       .long   1065353140
+       .long   1065353206
+       .long   1065353215
+       .long   1065353216
+       .long   0
+       .long   2963361822
+       .long   2971470750
+       .long   2945658640
+       .long   821708412
+       .long   824483568
+       .long   824941280
+       .long   2984085072
+       .long   2957298688
+       .long   838449816
+       .long   2966046080
+       .long   2988320324
+       .long   2989804564
+       .long   842626356
+       .long   3000013710
+       .long   2972725824
+       .long   3002017674
+       .long   853753500
+       .long   2987104448
+       .long   3000350914
+       .long   855535800
+       .long   852410906
+       .long   851608946
+       .long   2988641656
+       .long   2997011000
+       .long   2989576736
+       .long   3000884068
+       .long   2999984336
+       .long   840950056
+       .long   2995215280
+       .long   855269702
+       .long   0
+       .long   1065353216
+       .long   1065295748
+       .long   1065270545
+       .long   1065229919
+       .long   1065181343
+       .long   1065124909
+       .long   1065025765
+       .long   1064867200
+       .long   1064679597
+       .long   1064464345
+       .long   1064093083
+       .long   1063517074
+       .long   1062862743
+       .long   1062146519
+       .long   1060992371
+       .long   1059386208
+       .long   1057800167
+       .long   1055660649
+       .long   1051764737
+       .long   1046959010
+       .long   1041444634
+       .long   1035462611
+       .long   1026689093
+       .long   1015337940
+       .long   1002731447
+       .long   990958554
+       .long   973168670
+       .long   948705851
+       .long   924299482
+       .long   899955662
+       .long   864224966
+       .long   0
+       .long   2956213371
+       .long   3178161821
+       .long   3180268967
+       .long   3182315389
+       .long   3184339487
+       .long   3186337805
+       .long   3188474939
+       .long   3190373619
+       .long   3192189570
+       .long   3193910865
+       .long   3196176320
+       .long   3197556682
+       .long   3198679950
+       .long   3199536798
+       .long   3200331518
+       .long   3200564882
+       .long   3200049264
+       .long   3199029518
+       .long   3197040598
+       .long   3192620804
+       .long   3188208183
+       .long   3182392393
+       .long   3173916356
+       .long   3162750726
+       .long   3150176437
+       .long   3138431708
+       .long   3120650203
+       .long   3096189170
+       .long   3071783062
+       .long   3047439278
+       .long   3011707180
+       .long   0
+       .long   3198855845
+       .long   3198879250
+       .long   3198677023
+       .long   3198476576
+       .long   3198388151
+       .long   3198245218
+       .long   3197982711
+       .long   3197594458
+       .long   3197117197
+       .long   3196587519
+       .long   3195304371
+       .long   3192667528
+       .long   3189843074
+       .long   3186330810
+       .long   3177085101
+       .long   1013669486
+       .long   1032032579
+       .long   1036132065
+       .long   1038305199
+       .long   1036774550
+       .long   1033498413
+       .long   1028927137
+       .long   1021175553
+       .long   1009568359
+       .long   998361895
+       .long   985691041
+       .long   967585842
+       .long   943363289
+       .long   919210013
+       .long   895139148
+       .long   858471606
+       .long   0
+       .long   3077428921
+       .long   3189516141
+       .long   1008586543
+       .long   1036101517
+       .long   1033304453
+       .long   1034073627
+       .long   1036071831
+       .long   1037235824
+       .long   1039436298
+       .long   1040631208
+       .long   1041906362
+       .long   1042793477
+       .long   1043232976
+       .long   1043086916
+       .long   1042100375
+       .long   1039444212
+       .long   1034126600
+       .long   1026638186
+       .long   995501655
+       .long   3165579977
+       .long   3167654937
+       .long   3165317828
+       .long   3158960080
+       .long   3148291549
+       .long   3137354510
+       .long   3124730373
+       .long   3106670759
+       .long   3082457650
+       .long   3058305807
+       .long   3034235241
+       .long   2997581996
+       .long   0
+       .long   1040781545
+       .long   1131811139
+       .long   1097198812
+       .long   3247503190
+       .long   3230402941
+       .long   3224086547
+       .long   3212798938
+       .long   1059790272
+       .long   1053691997
+       .long   1061317268
+       .long   3134918084
+       .long   1034173207
+       .long   3176246152
+       .long   3165561405
+       .long   3174788493
+       .long   3178015405
+       .long   3178847213
+       .long   3177176538
+       .long   3171127099
+       .long   3155996003
+       .long   985352038
+       .long   999682315
+       .long   998398067
+       .long   989522534
+       .long   977926264
+       .long   966355955
+       .long   948911724
+       .long   924561635
+       .long   900244966
+       .long   875993879
+       .long   841254832
+       .long   0
+       .long   3155046246
+       .long   1175181842
+       .long   1138112751
+       .long   3286309950
+       .long   3267011817
+       .long   3259619885
+       .long   3246758786
+       .long   1088248663
+       .long   1078543936
+       .long   1086795944
+       .long   3205436942
+       .long   1043392367
+       .long   3198686087
+       .long   3182586396
+       .long   3174374999
+       .long   3142320544
+       .long   1008565243
+       .long   1014115537
+       .long   1016545052
+       .long   1010017051
+       .long   998649588
+       .long   975680464
+       .long   3124451591
+       .long   3121544226
+       .long   3112148751
+       .long   3100159824
+       .long   3082673659
+       .long   3058641232
+       .long   3034613169
+       .long   3010665978
+       .long   2975473412
+       .long   0
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   2145386496
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   1027604480
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   65011712
+       .long   0
+       .long   0
+       .long   36466923
+       .long   1072693248
+       .long   2365563284
+       .long   3201306247
+       .long   1829111721
+       .long   3218428278
+       .long   3823420055
+       .long   3193165324
+       .long   1098370908
+       .long   1072693250
+       .long   2493848101
+       .long   3205978300
+       .long   1742787824
+       .long   3218423470
+       .long   4013086462
+       .long   3193609799
+       .long   3667406935
+       .long   1072693250
+       .long   1352570026
+       .long   3206273363
+       .long   1445916117
+       .long   3218422747
+       .long   3835089556
+       .long   3194065339
+       .long   2420711447
+       .long   1072693251
+       .long   2169133006
+       .long   3206574718
+       .long   101347106
+       .long   3218421982
+       .long   713636389
+       .long   3194411770
+       .long   1709214929
+       .long   1072693252
+       .long   1710199222
+       .long   3206758855
+       .long   2216669086
+       .long   3218421174
+       .long   3814844772
+       .long   3194836884
+       .long   1591910603
+       .long   1072693253
+       .long   2011589771
+       .long   3206962796
+       .long   3721194918
+       .long   3218420324
+       .long   1295469166
+       .long   3195182212
+       .long   2130808979
+       .long   1072693254
+       .long   1222040805
+       .long   3207187539
+       .long   555871541
+       .long   3218419433
+       .long   401254514
+       .long   3195493098
+       .long   3390924472
+       .long   1072693255
+       .long   3112838711
+       .long   3207434078
+       .long   1558155560
+       .long   3218418499
+       .long   683885552
+       .long   3195864282
+       .long   1145294069
+       .long   1072693257
+       .long   1821670117
+       .long   3207648695
+       .long   2692181933
+       .long   3218417523
+       .long   2704036295
+       .long   3196181879
+       .long   4054831834
+       .long   1072693258
+       .long   1649153664
+       .long   3207795248
+       .long   4228604383
+       .long   3218416505
+       .long   4004758581
+       .long   3196440654
+       .long   3603542514
+       .long   1072693260
+       .long   1123737044
+       .long   3207954183
+       .long   2154630785
+       .long   3218415446
+       .long   2606327835
+       .long   3196743208
+       .long   4163276658
+       .long   1072693262
+       .long   2048619642
+       .long   3208125991
+       .long   1058893780
+       .long   3218414345
+       .long   250194901
+       .long   3197094852
+       .long   1518877548
+       .long   1072693265
+       .long   3379868633
+       .long   3208311162
+       .long   1246516380
+       .long   3218413202
+       .long   1621358934
+       .long   3197304764
+       .long   48033162
+       .long   1072693268
+       .long   957106177
+       .long   3208510185
+       .long   3034045498
+       .long   3218412017
+       .long   798414253
+       .long   3197538466
+       .long   4131323741
+       .long   1072693270
+       .long   2207647163
+       .long   3208683052
+       .long   2454449664
+       .long   3218410791
+       .long   1709648499
+       .long   3197805932
+       .long   972334142
+       .long   1072693274
+       .long   1279092327
+       .long   3208797143
+       .long   4141984674
+       .long   3218409523
+       .long   4279927728
+       .long   3198110676
+       .long   3547307714
+       .long   1072693277
+       .long   873763845
+       .long   3208918886
+       .long   4152286949
+       .long   3218408214
+       .long   947630201
+       .long   3198400037
+       .long   3779918761
+       .long   1072693283
+       .long   2452756690
+       .long   3209115951
+       .long   2900277560
+       .long   3218406175
+       .long   4114829322
+       .long   3198840356
+       .long   1550746642
+       .long   1072693293
+       .long   3179273584
+       .long   3209408258
+       .long   1697097694
+       .long   3218403310
+       .long   3189856208
+       .long   3199299134
+       .long   2567958063
+       .long   1072693304
+       .long   2177201355
+       .long   3209713300
+       .long   663593652
+       .long   3218400281
+       .long   1915839956
+       .long   3199641526
+       .long   3400799630
+       .long   1072693317
+       .long   2625933576
+       .long   3209895292
+       .long   3140727122
+       .long   3218397088
+       .long   2825210621
+       .long   3200061154
+       .long   661592278
+       .long   1072693333
+       .long   2751163500
+       .long   3210096603
+       .long   4055449010
+       .long   3218393733
+       .long   57286782
+       .long   3200412116
+       .long   3889851982
+       .long   1072693350
+       .long   2680384314
+       .long   3210318153
+       .long   2804057046
+       .long   3218390217
+       .long   1812582369
+       .long   3200718155
+       .long   1191734144
+       .long   1072693371
+       .long   867498228
+       .long   3210560852
+       .long   3250577733
+       .long   3218386540
+       .long   3326742410
+       .long   3201083020
+       .long   2188854007
+       .long   1072693394
+       .long   363145135
+       .long   3210782655
+       .long   840173644
+       .long   3218382704
+       .long   1735074843
+       .long   3201408616
+       .long   3657661222
+       .long   1072693420
+       .long   2204762872
+       .long   3210926495
+       .long   4072217384
+       .long   3218378708
+       .long   2965875284
+       .long   3201662196
+       .long   2413420961
+       .long   1072693450
+       .long   1162405510
+       .long   3211082241
+       .long   138720143
+       .long   3218374556
+       .long   454705634
+       .long   3201958187
+       .long   3899194868
+       .long   1072693483
+       .long   669033796
+       .long   3211250324
+       .long   2167069495
+       .long   3218370246
+       .long   1542529428
+       .long   3202301612
+       .long   710018948
+       .long   1072693521
+       .long   2883210692
+       .long   3211431169
+       .long   1973418570
+       .long   3218365781
+       .long   3156689511
+       .long   3202524481
+       .long   2656657906
+       .long   1072693562
+       .long   3498100032
+       .long   3211625196
+       .long   125419693
+       .long   3218361162
+       .long   1620715508
+       .long   3202751895
+       .long   2404819887
+       .long   1072693608
+       .long   4021715948
+       .long   3211810552
+       .long   1645154164
+       .long   3218356389
+       .long   703452016
+       .long   3203011668
+       .long   1243884135
+       .long   1072693659
+       .long   480742811
+       .long   3211921363
+       .long   3122063309
+       .long   3218351464
+       .long   223504399
+       .long   3203307063
+       .long   495862037
+       .long   1072693715
+       .long   300794004
+       .long   3212039372
+       .long   1300653287
+       .long   3218346389
+       .long   1176592120
+       .long   3203610816
+       .long   3274452673
+       .long   1072693808
+       .long   2613861807
+       .long   3212229889
+       .long   359514654
+       .long   3218338503
+       .long   2923503278
+       .long   3204034910
+       .long   3741678157
+       .long   1072693954
+       .long   3651935792
+       .long   3212511436
+       .long   2702507736
+       .long   3218327463
+       .long   2210624435
+       .long   3204506468
+       .long   1100251351
+       .long   1072694127
+       .long   3514265607
+       .long   3212825173
+       .long   957470414
+       .long   3218315845
+       .long   1305550937
+       .long   3204833184
+       .long   2996845965
+       .long   1072694328
+       .long   3142229264
+       .long   3213004685
+       .long   1883674585
+       .long   3218303659
+       .long   3326598907
+       .long   3205231584
+       .long   274977645
+       .long   1072694562
+       .long   3016319234
+       .long   3213195820
+       .long   1539002348
+       .long   3218290918
+       .long   3984366897
+       .long   3205604614
+       .long   1292806442
+       .long   1072694830
+       .long   3262520051
+       .long   3213405058
+       .long   2372653574
+       .long   3218277634
+       .long   2452462577
+       .long   3205892032
+       .long   1815353697
+       .long   1072695136
+       .long   3662183375
+       .long   3213632998
+       .long   250148789
+       .long   3218263821
+       .long   2158010733
+       .long   3206232708
+       .long   2150433494
+       .long   1072695483
+       .long   3919565056
+       .long   3213880202
+       .long   1540395291
+       .long   3218249491
+       .long   3182910565
+       .long   3206589369
+       .long   2808974545
+       .long   1072695874
+       .long   1965799910
+       .long   3214016317
+       .long   1545570484
+       .long   3218234659
+       .long   1413633121
+       .long   3206823218
+       .long   164723038
+       .long   1072696313
+       .long   81021250
+       .long   3214159950
+       .long   1583468454
+       .long   3218219339
+       .long   18571726
+       .long   3207094384
+       .long   3588317822
+       .long   1072696801
+       .long   4095098713
+       .long   3214313941
+       .long   298038316
+       .long   3218203546
+       .long   912947688
+       .long   3207406859
+       .long   1041448961
+       .long   1072697344
+       .long   4179586945
+       .long   3214478495
+       .long   2148027612
+       .long   3218187294
+       .long   3720520462
+       .long   3207679413
+       .long   1980273179
+       .long   1072697943
+       .long   1752543433
+       .long   3214653794
+       .long   124299728
+       .long   3218170600
+       .long   864061540
+       .long   3207883361
+       .long   2949417123
+       .long   1072698602
+       .long   4190073881
+       .long   3214839998
+       .long   1415544749
+       .long   3218153478
+       .long   3694676202
+       .long   3208114560
+       .long   420771937
+       .long   1072699325
+       .long   1282420231
+       .long   3214985633
+       .long   1533345938
+       .long   3218135945
+       .long   2892854837
+       .long   3208375402
+       .long   3632588569
+       .long   1072700113
+       .long   2712748874
+       .long   3215089842
+       .long   1386124246
+       .long   3218118017
+       .long   1634175019
+       .long   3208733922
+       .long   347483009
+       .long   1072701423
+       .long   1161341506
+       .long   3215256321
+       .long   1877668895
+       .long   3218090451
+       .long   4108664264
+       .long   3209099007
+       .long   3038559136
+       .long   1072703435
+       .long   2683048238
+       .long   3215498732
+       .long   1179454900
+       .long   3218025113
+       .long   1332126937
+       .long   3209546908
+       .long   3486307715
+       .long   1072705767
+       .long   2508275841
+       .long   3215764027
+       .long   359393231
+       .long   3217946511
+       .long   1961215910
+       .long   3209890029
+       .long   2252418763
+       .long   1072708441
+       .long   2827865151
+       .long   3216017387
+       .long   3509880367
+       .long   3217865627
+       .long   3222140085
+       .long   3210213923
+       .long   1486994624
+       .long   1072711477
+       .long   3160629487
+       .long   3216172802
+       .long   1178047112
+       .long   3217782741
+       .long   1901428593
+       .long   3210596649
+       .long   3746562216
+       .long   1072714893
+       .long   1033996001
+       .long   3216339382
+       .long   39866696
+       .long   3217698130
+       .long   2908573463
+       .long   3210891953
+       .long   2324761591
+       .long   1072718707
+       .long   2389401627
+       .long   3216516876
+       .long   3645939838
+       .long   3217612071
+       .long   2440236284
+       .long   3211151116
+       .long   1761407793
+       .long   1072722932
+       .long   2502005220
+       .long   3216704962
+       .long   1997398717
+       .long   3217524842
+       .long   2895026412
+       .long   3211448596
+       .long   4114502182
+       .long   1072727579
+       .long   2605061383
+       .long   3216903247
+       .long   58515002
+       .long   3217436714
+       .long   711731960
+       .long   3211787230
+       .long   3951984035
+       .long   1072732658
+       .long   3516063216
+       .long   3217071220
+       .long   3638757279
+       .long   3217347953
+       .long   3233370794
+       .long   3211979005
+       .long   658281779
+       .long   1072738175
+       .long   309554960
+       .long   3217179845
+       .long   1331214594
+       .long   3217258823
+       .long   2937534811
+       .long   3212193451
+       .long   2289001467
+       .long   1072744131
+       .long   2442043690
+       .long   3217292793
+       .long   2664085653
+       .long   3217169576
+       .long   3462081454
+       .long   3212432263
+       .long   3795084150
+       .long   1072750527
+       .long   1130374688
+       .long   3217409754
+       .long   3638257201
+       .long   3217080459
+       .long   3906637920
+       .long   3212696488
+       .long   4040275044
+       .long   1072757360
+       .long   3643517564
+       .long   3217530392
+       .long   4148962921
+       .long   3216952251
+       .long   1995056602
+       .long   3212911950
+       .long   1479928784
+       .long   1072764624
+       .long   2653868580
+       .long   3217654355
+       .long   1010106713
+       .long   3216775940
+       .long   3129357315
+       .long   3213070764
+       .long   2856812514
+       .long   1072772308
+       .long   1621093115
+       .long   3217781272
+       .long   1824031529
+       .long   3216601249
+       .long   2296680075
+       .long   3213333328
+       .long   2460843475
+       .long   1072784536
+       .long   3722925065
+       .long   3217975665
+       .long   3901534801
+       .long   3216343697
+       .long   741495589
+       .long   3213734822
+       .long   13033194
+       .long   1072802249
+       .long   1706090638
+       .long   3218161084
+       .long   4129724113
+       .long   3216008854
+       .long   2582831738
+       .long   3214039094
+       .long   3092949488
+       .long   1072821329
+       .long   4163404160
+       .long   3218296789
+       .long   673560195
+       .long   3215391593
+       .long   1852259695
+       .long   3214295490
+       .long   3663604487
+       .long   1072841572
+       .long   2783926416
+       .long   3218433189
+       .long   538028418
+       .long   3214623601
+       .long   955002681
+       .long   3214577680
+       .long   1457520314
+       .long   1072862739
+       .long   2977011911
+       .long   3218568683
+       .long   2456605794
+       .long   3213048602
+       .long   1782979473
+       .long   3214883178
+       .long   3136246603
+       .long   1072884563
+       .long   4172123069
+       .long   3218701739
+       .long   1041205303
+       .long   1065062250
+       .long   1494191018
+       .long   3215071352
+       .long   2030188257
+       .long   1072906761
+       .long   242335435
+       .long   3218830924
+       .long   3225388224
+       .long   1066807264
+       .long   2597486284
+       .long   3215242091
+       .long   1527970838
+       .long   1072929036
+       .long   2966426512
+       .long   3218954923
+       .long   1554080475
+       .long   1067589039
+       .long   1299968651
+       .long   3215418462
+       .long   3575385503
+       .long   1072951087
+       .long   2115725422
+       .long   3219072567
+       .long   1970202642
+       .long   1068007486
+       .long   633750547
+       .long   3215597833
+       .long   4170701031
+       .long   1072972617
+       .long   46586082
+       .long   3219155579
+       .long   1194653136
+       .long   1068384025
+       .long   4171340731
+       .long   3215777352
+       .long   3578160514
+       .long   1072993337
+       .long   3238411740
+       .long   3219206599
+       .long   3278559237
+       .long   1068609006
+       .long   2404931200
+       .long   3215954013
+       .long   533888921
+       .long   1073012973
+       .long   1507597629
+       .long   3219253160
+       .long   2386969249
+       .long   1068756225
+       .long   272720058
+       .long   3216053653
+       .long   54544651
+       .long   1073031269
+       .long   3020671348
+       .long   3219294996
+       .long   4122670807
+       .long   1068883785
+       .long   2536786852
+       .long   3216134458
+       .long   230026772
+       .long   1073047994
+       .long   2830531360
+       .long   3219331923
+       .long   2545616196
+       .long   1068992498
+       .long   3897096954
+       .long   3216209170
+       .long   867435464
+       .long   1073062943
+       .long   3935983781
+       .long   3219363830
+       .long   4280666630
+       .long   1069083305
+       .long   1614478429
+       .long   3216276286
+       .long   3991143559
+       .long   1073075939
+       .long   3165050417
+       .long   3219390677
+       .long   248866814
+       .long   1069157251
+       .long   2328429718
+       .long   3216358398
+       .long   1880129173
+       .long   1073091258
+       .long   4059723411
+       .long   3219421162
+       .long   3082848917
+       .long   1069238148
+       .long   1081358649
+       .long   3216430553
+       .long   1955557582
+       .long   1073104040
+       .long   2869422647
+       .long   3219445318
+       .long   1310544530
+       .long   1069299023
+       .long   434435025
+       .long   3216450109
+       .long   3947018234
+       .long   1073107343
+       .long   3414641036
+       .long   3219451270
+       .long   4069313179
+       .long   1069313321
+       .long   1392468754
+       .long   3216410502
+       .long   3271741504
+       .long   1073101128
+       .long   3884994071
+       .long   3219440866
+       .long   1456085694
+       .long   1069290099
+       .long   2332856790
+       .long   3216307665
+       .long   3950891192
+       .long   1073085735
+       .long   439037894
+       .long   3219416288
+       .long   1197951536
+       .long   1069237765
+       .long   4195788421
+       .long   3216139842
+       .long   3990997338
+       .long   1073061787
+       .long   550042602
+       .long   3219379833
+       .long   2832452545
+       .long   1069163766
+       .long   1200943255
+       .long   3215832361
+       .long   2073883731
+       .long   1073030122
+       .long   3042850267
+       .long   3219333800
+       .long   991641143
+       .long   1069074535
+       .long   1637244010
+       .long   3215243222
+       .long   3805163810
+       .long   1072991715
+       .long   3517445189
+       .long   3219280382
+       .long   2680864185
+       .long   1068975465
+       .long   1457843741
+       .long   3214140932
+       .long   1315080793
+       .long   1072947617
+       .long   3059804278
+       .long   3219221594
+       .long   2861308047
+       .long   1068870963
+       .long   3296491873
+       .long   1064537111
+       .long   3728462150
+       .long   1072898893
+       .long   3615137083
+       .long   3219159232
+       .long   3017963192
+       .long   1068764532
+       .long   3972434375
+       .long   1067468619
+       .long   1336398218
+       .long   1072846587
+       .long   1068664290
+       .long   3219061390
+       .long   122240345
+       .long   1068658880
+       .long   508009436
+       .long   1068456917
+       .long   3501538245
+       .long   1072791681
+       .long   968690691
+       .long   3218931236
+       .long   1514516445
+       .long   1068556030
+       .long   671541798
+       .long   1069006173
+       .long   3814409280
+       .long   1072735081
+       .long   1553551847
+       .long   3218801852
+       .long   2849431279
+       .long   1068415930
+       .long   285838780
+       .long   1069554660
+       .long   2881499585
+       .long   1072661949
+       .long   928028610
+       .long   3218674977
+       .long   8837506
+       .long   1068229231
+       .long   4283922105
+       .long   1069842903
+       .long   1813934616
+       .long   1072546640
+       .long   2296020303
+       .long   3218551962
+       .long   3757630126
+       .long   1068054242
+       .long   4184842874
+       .long   1070138481
+       .long   1612285858
+       .long   1072432209
+       .long   3568867548
+       .long   3218433820
+       .long   2489334631
+       .long   1067891605
+       .long   3119354956
+       .long   1070586029
+       .long   1945534618
+       .long   1072265408
+       .long   12375465
+       .long   3218268030
+       .long   869568690
+       .long   1067671872
+       .long   313517472
+       .long   1070892138
+       .long   1205077106
+       .long   1072052753
+       .long   2329101392
+       .long   3218055718
+       .long   31064032
+       .long   1067390210
+       .long   1106783211
+       .long   1071186310
+       .long   571472860
+       .long   1071856508
+       .long   2279775366
+       .long   3217706561
+       .long   3977902324
+       .long   1066976012
+       .long   1438560376
+       .long   1071467394
+       .long   433300635
+       .long   1071678859
+       .long   2662131044
+       .long   3217407122
+       .long   3461865003
+       .long   1066639491
+       .long   3761842524
+       .long   1071687909
+       .long   591758334
+       .long   1071396321
+       .long   1311878841
+       .long   3217153539
+       .long   3007781852
+       .long   1066335723
+       .long   1614590629
+       .long   1071809819
+       .long   1253814918
+       .long   1071117476
+       .long   1728609767
+       .long   3216850667
+       .long   2200561853
+       .long   1065903347
+       .long   3821226689
+       .long   1071921115
+       .long   2022982069
+       .long   1070874479
+       .long   2030156196
+       .long   3216496942
+       .long   874711265
+       .long   1065560045
+       .long   2003227996
+       .long   1072021655
+       .long   2808404217
+       .long   1070664514
+       .long   1372837647
+       .long   3216204595
+       .long   822053276
+       .long   1065224094
+       .long   3767175364
+       .long   1072111660
+       .long   3043371777
+       .long   1070372670
+       .long   1442419211
+       .long   3215945892
+       .long   298752438
+       .long   1064796452
+       .long   1111528881
+       .long   1072191609
+       .long   3513208196
+       .long   1070065467
+       .long   3837735739
+       .long   3215552388
+       .long   3701924119
+       .long   1064460397
+       .long   1230501085
+       .long   1072262142
+       .long   2161267832
+       .long   1069804871
+       .long   4188367704
+       .long   3215231429
+       .long   401190186
+       .long   1064089052
+       .long   3002339892
+       .long   1072323996
+       .long   1480019407
+       .long   1069584807
+       .long   1833655520
+       .long   3214970435
+       .long   2907956919
+       .long   1063676311
+       .long   875346000
+       .long   1072377952
+       .long   3150437403
+       .long   1069251888
+       .long   876861923
+       .long   3214583482
+       .long   1689748747
+       .long   1063353511
+       .long   2795554744
+       .long   1072424793
+       .long   3869705215
+       .long   1068941581
+       .long   1837883894
+       .long   3214240854
+       .long   2762317048
+       .long   1062946513
+       .long   2491972100
+       .long   1072465284
+       .long   4114823501
+       .long   1068682289
+       .long   2146865463
+       .long   3213964103
+       .long   800804261
+       .long   1062552648
+       .long   2634953449
+       .long   1072500149
+       .long   2952556276
+       .long   1068433515
+       .long   1872935290
+       .long   3213596436
+       .long   525130857
+       .long   1062245296
+       .long   3287041404
+       .long   1072542855
+       .long   164674845
+       .long   1067923724
+       .long   3273134342
+       .long   3213089271
+       .long   171708004
+       .long   1061610314
+       .long   3035032320
+       .long   1072586748
+       .long   3976243935
+       .long   1067403539
+       .long   3504708444
+       .long   3212404491
+       .long   3955947885
+       .long   1060882840
+       .long   513098494
+       .long   1072618404
+       .long   416924237
+       .long   1066726877
+       .long   1788945081
+       .long   3211801737
+       .long   1199639353
+       .long   1060166859
+       .long   2284134637
+       .long   1072641010
+       .long   754275327
+       .long   1066136447
+       .long   94803481
+       .long   3211042671
+       .long   3377507017
+       .long   1059354147
+       .long   1467291457
+       .long   1072657015
+       .long   2435597312
+       .long   1065520743
+       .long   2819017772
+       .long   3210358609
+       .long   1988617747
+       .long   1058591581
+       .long   633705514
+       .long   1072668259
+       .long   392269686
+       .long   1064864433
+       .long   2964449929
+       .long   3209729770
+       .long   3963893163
+       .long   1057889872
+       .long   2214892393
+       .long   1072676103
+       .long   2190738271
+       .long   1064315837
+       .long   3773826451
+       .long   3208969045
+       .long   3609404170
+       .long   1057113308
+       .long   3795216963
+       .long   1072681541
+       .long   3959981107
+       .long   1063599490
+       .long   1577139384
+       .long   3208281591
+       .long   1777963469
+       .long   1056319886
+       .long   2768813161
+       .long   1072685290
+       .long   452197850
+       .long   1062981751
+       .long   625862001
+       .long   3207639777
+       .long   1894515286
+       .long   1055580811
+       .long   809336726
+       .long   1072687861
+       .long   325412222
+       .long   1062349073
+       .long   3494772326
+       .long   3206874482
+       .long   3143092609
+       .long   1054887561
+       .long   1391578948
+       .long   1072689615
+       .long   370441451
+       .long   1061660435
+       .long   67458841
+       .long   3206180214
+       .long   1971759196
+       .long   1054066692
+       .long   57274217
+       .long   1072690807
+       .long   293665776
+       .long   1061075750
+       .long   1340185983
+       .long   3205535605
+       .long   2210177191
+       .long   1053294335
+       .long   1110907588
+       .long   1072691613
+       .long   3961986905
+       .long   1060367146
+       .long   3774614905
+       .long   3204763416
+       .long   3590429673
+       .long   1052580827
+       .long   2737507729
+       .long   1072692156
+       .long   370479370
+       .long   1059701790
+       .long   1033751386
+       .long   3204059641
+       .long   1162278823
+       .long   1051830218
+       .long   2341375458
+       .long   1072692521
+       .long   760364123
+       .long   1059103172
+       .long   910883556
+       .long   3203420282
+       .long   401067508
+       .long   1051028170
+       .long   3358303651
+       .long   1072692765
+       .long   3104773993
+       .long   1058369139
+       .long   2043715743
+       .long   3202639413
+       .long   4274377921
+       .long   1050278646
+       .long   3501940353
+       .long   1072692984
+       .long   2710387139
+       .long   1057384557
+       .long   2550611600
+       .long   3201592258
+       .long   2260324605
+       .long   1049158690
+       .long   3160989127
+       .long   1072693133
+       .long   1403521776
+       .long   1056074537
+       .long   760745859
+       .long   3200238663
+       .long   1163121055
+       .long   1047679067
+       .long   3509020169
+       .long   1072693198
+       .long   3352058101
+       .long   1054743188
+       .long   2289323607
+       .long   3198722761
+       .long   918272756
+       .long   1046147840
+       .long   4268817660
+       .long   1072693226
+       .long   1580550645
+       .long   1053325591
+       .long   1736251411
+       .long   3197308470
+       .long   1531106447
+       .long   1044632576
+       .long   0
+       .long   1072693248
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .long   0
+       .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   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2147483647
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2146959360
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   2130706432
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   1022885888
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .long   69730304
+       .type   __svml_stanh_data_internal,@object
+       .size   __svml_stanh_data_internal,6016
+       .align 4
+__stanh_la__imlsTanhTab:
+       .long   1065353216
+       .long   3212836864
+       .type   __stanh_la__imlsTanhTab,@object
+       .size   __stanh_la__imlsTanhTab,8
index fe310058a72abb421d32144cc6bb0a1745537f54..af311066a65b282c0fecfbded942e71c96a8ac8c 100644 (file)
@@ -1497,6 +1497,18 @@ class TestNonzero:
         a = np.array([[False], [TrueThenFalse()]])
         assert_raises(RuntimeError, np.nonzero, a)
 
+    def test_nonzero_sideffects_structured_void(self):
+        # Checks that structured void does not mutate alignment flag of
+        # original array.
+        arr = np.zeros(5, dtype="i1,i8,i8")  # `ones` may short-circuit
+        assert arr.flags.aligned  # structs are considered "aligned"
+        assert not arr["f2"].flags.aligned
+        # make sure that nonzero/count_nonzero do not flip the flag:
+        np.nonzero(arr)
+        assert arr.flags.aligned
+        np.count_nonzero(arr)
+        assert arr.flags.aligned
+
     def test_nonzero_exception_safe(self):
         # gh-13930
 
index ea5bbe10390064bb7b29aa402ab03505fd1fe3ef..0270ad901662effbfaa40566971fa8ec77fef955 100644 (file)
@@ -329,7 +329,7 @@ class _SIMD_FP(_Test_Utility):
         data_square = [x*x for x in data]
         square = self.square(vdata)
         assert square == data_square
-        
+
     def test_max(self):
         """
         Test intrinsics:
@@ -818,6 +818,7 @@ class _SIMD_ALL(_Test_Utility):
         if self._is_fp():
             return
 
+        int_min = self._int_min()
         def trunc_div(a, d):
             """
             Divide towards zero works with large integers > 2^53,
@@ -830,57 +831,31 @@ class _SIMD_ALL(_Test_Utility):
                 return a // d
             return (a + sign_d - sign_a) // d + 1
 
-        int_min = self._int_min() if self._is_signed() else 1
-        int_max = self._int_max()
-        rdata = (
-            0, 1, self.nlanes, int_max-self.nlanes,
-            int_min, int_min//2 + 1
-        )
-        divisors = (1, 2, 9, 13, self.nlanes, int_min, int_max, int_max//2)
-
-        for x, d in itertools.product(rdata, divisors):
-            data = self._data(x)
-            vdata = self.load(data)
-            data_divc = [trunc_div(a, d) for a in data]
-            divisor = self.divisor(d)
-            divc = self.divc(vdata, divisor)
-            assert divc == data_divc
-
-        if not self._is_signed():
-            return
-
-        safe_neg = lambda x: -x-1 if -x > int_max else -x
-        # test round divison for signed integers
-        for x, d in itertools.product(rdata, divisors):
-            d_neg = safe_neg(d)
-            data = self._data(x)
-            data_neg = [safe_neg(a) for a in data]
-            vdata = self.load(data)
-            vdata_neg = self.load(data_neg)
-            divisor = self.divisor(d)
-            divisor_neg = self.divisor(d_neg)
-
-            # round towards zero
-            data_divc = [trunc_div(a, d_neg) for a in data]
-            divc = self.divc(vdata, divisor_neg)
-            assert divc == data_divc
-            data_divc = [trunc_div(a, d) for a in data_neg]
-            divc = self.divc(vdata_neg, divisor)
+        data = [1, -int_min]  # to test overflow
+        data += range(0, 2**8, 2**5)
+        data += range(0, 2**8, 2**5-1)
+        bsize = self._scalar_size()
+        if bsize > 8:
+            data += range(2**8, 2**16, 2**13)
+            data += range(2**8, 2**16, 2**13-1)
+        if bsize > 16:
+            data += range(2**16, 2**32, 2**29)
+            data += range(2**16, 2**32, 2**29-1)
+        if bsize > 32:
+            data += range(2**32, 2**64, 2**61)
+            data += range(2**32, 2**64, 2**61-1)
+        # negate
+        data += [-x for x in data]
+        for dividend, divisor in itertools.product(data, data):
+            divisor = self.setall(divisor)[0]  # cast
+            if divisor == 0:
+                continue
+            dividend = self.load(self._data(dividend))
+            data_divc = [trunc_div(a, divisor) for a in dividend]
+            divisor_parms = self.divisor(divisor)
+            divc = self.divc(dividend, divisor_parms)
             assert divc == data_divc
 
-        # test truncate sign if the dividend is zero
-        vzero = self.zero()
-        for d in (-1, -10, -100, int_min//2, int_min):
-            divisor = self.divisor(d)
-            divc = self.divc(vzero, divisor)
-            assert divc == vzero
-
-        # test overflow
-        vmin = self.setall(int_min)
-        divisor = self.divisor(-1)
-        divc = self.divc(vmin, divisor)
-        assert divc == vmin
-
     def test_arithmetic_reduce_sum(self):
         """
         Test reduce sum intrinsics:
index 4681d403b4e3431ce0929728c661c1d985c031db..c3a0cb4181ddd9fd8b3059da6aa0276758ee1d40 100644 (file)
@@ -647,11 +647,9 @@ def generate_manifest(config):
     if msver is not None:
         if msver >= 8:
             check_embedded_msvcr_match_linked(msver)
-            ma = int(msver)
-            mi = int((msver - ma) * 10)
+            ma_str, mi_str = str(msver).split('.')
             # Write the manifest file
-            manxml = msvc_manifest_xml(ma, mi)
-            man = open(manifest_name(config), "w")
-            config.temp_files.append(manifest_name(config))
-            man.write(manxml)
-            man.close()
+            manxml = msvc_manifest_xml(int(ma_str), int(mi_str))
+            with open(manifest_name(config), "w") as man:
+                config.temp_files.append(manifest_name(config))
+                man.write(manxml)
index b57861d00f05a1a53c2de454da12cd121af87de3..ea4e756123003f728112297adc2b3491ce401e5e 100644 (file)
@@ -10,7 +10,7 @@ reveal_type(ar_iter.start)  # E: builtins.list[builtins.int]
 reveal_type(ar_iter.stop)  # E: builtins.list[builtins.int]
 reveal_type(ar_iter.step)  # E: builtins.list[builtins.int]
 reveal_type(ar_iter.shape)  # E: builtins.tuple[builtins.int]
-reveal_type(ar_iter.flat)  # E: 'typing.Generator[{int64}, None, None]
+reveal_type(ar_iter.flat)  # E: typing.Generator[{int64}, None, None]
 
 reveal_type(ar_iter.__array__())  # E: numpy.ndarray[Any, numpy.dtype[{int64}]]
 
index e33695d99d5ee6fdd842989d3f09792f70d0c4d8..1ef0fe939e3a69c3900f412c32f6e1ea3d47f2bb 100644 (file)
@@ -38,7 +38,7 @@ from paver.easy import Bunch, options, task, sh
 #-----------------------------------
 
 # Path to the release notes
-RELEASE_NOTES = 'doc/source/release/1.21.3-notes.rst'
+RELEASE_NOTES = 'doc/source/release/1.21.4-notes.rst'
 
 
 #-------------------------------------------------------